如何更改Django默认主页为自定义主页,更改Djago默认主页为自定义主页,这是开始网页的第一步。......
python3用opencv3进行结构化相似度判别
相似度判断除了直方图之外,还有一种结构化相似度判别也很好
就是采用compare_ssim函数进行处理,该函数在skimage.measure里
需要导出即可.
工具/原料
- pycharm win7环境
- opencv3 python3 skimage.measure
方法/步骤
首先需要通过from skimage.measure import compare_ssim进行导出
import cv2 as cv
import numpy as np
import copy
from matplotlib import pyplot as plt
from skimage.measure import compare_ssim
image = cv.imread('c:\\meiping1.png')
cv.imshow("image", image)
pic = cv.imread('c:\\meiping2.png')
pic = cv.imread('c:\\meiping3.png')
# pic = cv.imread('c:\\meiping4.png')
cv.imshow("pic", pic)
转化成灰度, 注意这个和直方图比较相似度不同。
grayImage = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
cv.imshow("grayImage", grayImage)
grayPic = cv.cvtColor(pic, cv.COLOR_BGR2GRAY)
cv.imshow("grayPic", grayPic)
列出直方图对比图,直观明了。
plt.subplot(2, 1, 1)
plt.hist(grayImage[0].ravel(), 256, [0, 256])
plt.subplot(2, 1, 2)
plt.hist(grayPic[0].ravel(), 256, [0, 256])
plt.show()
结果太令人惊讶 又核对了代码 是两个不同的灰度图,这难道是直方图的问题?
注意这种方式是有问题的!
plt.subplot(2, 1, 1)
#图像,通道[0]-灰度图,掩膜-无,灰度级,像素范围
hist_grayImage = cv.calcHist([grayImage],[0],None,[256],[0,256])
plt.plot(hist_grayImage)
plt.subplot(2, 1, 2)
hist_grayPic = cv.calcHist([grayPic],[0],None,[256],[0,256])
plt.plot(hist_grayPic)
plt.show()
通过compare_ssim计算相似度或者叫SSIM图像质量(图像评价)
(xiangsidu, delta) = compare_ssim(grayImage, grayPic, full=True)print(xiangsidu, delta)
输出结果。
评价结果是0.56 基本和目视感觉差不多。说明这种结构化判断方法还是可以的。
注意事项
- 注意直方图的处理方法
- 这个要先转灰度再计算
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
- 详细阅读
-
python中关于单/双引号和转义引号的区别详细阅读
python中关于单/双引号和转义引号的区别,ytho中单/双引号的作用是将引号中间的符号以字符串的形式传递,而在ytho中它们两个的功能是一样的,只不过在遇到转义引号的时候,两者的使用才有所区别,现......
2023-03-16 350 python
- 详细阅读