我有两张照片:
左:键.png,右:框架.png在
两张图片的尺寸都是200x157。在
我在申请的时候有一些问题{
cv2.matchTemplate(cv2.imread('frame.png'), cv2.imread('key.png'), cv2.TM_CCOEFF_NORMED)
array([[ 0.86354846]], dtype=float32)
为什么我的结果是0.863,而不是一个相似的图像?有谁能给我解释一下这个函数的行为,并建议如何修复它或其他方法吗?在
在90%的情况下,它是正常工作,但不是在这里。。。为什么?在
注意:实际上我不能使用特征检测和检测,因为我需要找到视觉上非常相似的图像的相似性
更新:
对于那些认为万事如意的人:
^{pr2}$图像减法:
图像差异:
好的,为了比较,我需要像Photoshop和GIMP那样的图像减法算法来分析不同的点数量。在
更新:
我试图在python中发布getMSSIM函数,但结果并不完美:
def calcMssim(i1, i2):
C1 = 6.5025
C2 = 58.5225
d = cv2.CV_32F
I1 = numpy.float32(i1)
I2 = numpy.float32(i2)
I1_2 = cv2.multiply(I1, I1)
I2_2 = cv2.multiply(I2, I2)
I1_I2 = cv2.multiply(I1, I2)
mu1 = cv2.GaussianBlur(I1, (11,11), 1.5)
mu2 = cv2.GaussianBlur(I2, (11,11), 1.5)
mu1_2 = cv2.multiply(mu1, mu1)
mu2_2 = cv2.multiply(mu2, mu2)
mu1_mu2 = cv2.multiply(mu1, mu2)
sigma1_2 = cv2.GaussianBlur(I1_2, (11,11), 1.5)
sigma1_2 = sigma1_2 - mu1_2
sigma2_2 = cv2.GaussianBlur(I2_2, (11,11), 1.5)
sigma2_2 = sigma2_2 - mu2_2
sigma12 = cv2.GaussianBlur(I1_I2, (11,11), 1.5)
sigma12 = sigma12 - mu1_mu2
t1 = 2 * mu1_mu2 + C1
t2 = 2 * sigma12 + C2
t3 = cv2.multiply(t1, t2)
t1 = mu1_2 + mu2_2 + C1
t2 = sigma1_2 + sigma2_2 + C2
t1 = cv2.multiply(t1, t2)
ssim_map = cv2.divide(t3, t1)
return cv2.mean( ssim_map )
结果:
示例1
./mssim.py yBZzJ_e.png Fy7Xu_m.png
(0.8257484750741396, 0.7267644621469662, 0.7066612513808068, 0.0)
匹配k~0.74 第一个图像使第二个图像更亮。在
例2
./mssim.py key.png frame.png
(0.7317456233025181, 0.7624613566388057, 0.7645396253480031, 0.0)
匹配k~0.75 第一个图像和第二个图像在视觉上是完全不同的!在
def calcPSNR(I1, I2):
s1 = cv2.absdiff(I1, I2)
s1 = numpy.float32(s1)
s1 = cv2.multiply(s1, s1)
s = cv2.sumElems(s1)
sse = s[0] + s[1] + s[2]
if (sse <= 1e-10):
return 0
else:
mse = sse/(len(I1.shape) * I1.shape[0]*I1.shape[1])
psnr = 10*math.log((255*255)/mse, 10)
return psnr
结果是:
例1:
./psnr.py yBZzJ_e.png Fy7Xu_m.png
26.4697468901
例2:
./psnr.py key.png frame.png
15.4679854768
这也不正确,因为: ./出厂合格率键.png键.png 0
你看过PSNR吗? 这将计算图像中每个像素的差异。 有关更多信息和OpenCV示例,请阅读:http://docs.opencv.org/doc/tutorials/highgui/video-input-psnr-ssim/video-input-psnr-ssim.html#videoinputpsnrmssim
相关问题 更多 >
编程相关推荐