您好我想提醒您注意openCV matchTemplate()方法存在一些问题。根据书bhattacharya系数与规范化的交叉相关完全不同,但是当我尝试这一块代码时,每个图像到处都有相同的距离。任何人都可以将此通知带给opencv开发人员,并尝试告诉为什么会发生这种情况。我试图用这两种方法找到距离测量
path1 = 'D:/cat1.png'
path2 = 'D:/cat2.png'
im1=cv2.imread(path1, cv2.CV_LOAD_IMAGE_GRAYSCALE)
im2=cv2.imread(path2, cv2.CV_LOAD_IMAGE_GRAYSCALE)
result = cv2.matchTemplate(im1,im2,cv.CV_COMP_BHATTACHARYYA) #Bhattacharya Coefficient
result2=cv2.matchTemplate(im1,im2,cv2.TM_CCORR_NORMED) #Normalized Cross Correlation
print"BCC :",result
print '\n'
print"NCC :",result2
答案 0 :(得分:1)
难怪。
除了CV_COMP_BHATTACHARYYA不是valid compare flag for matchTemplate,
CV_COMP_BHATTACHARYYA和TM_CCORR_NORMED解析为引擎盖下的相同枚举值。
所以基本上你两次做同样的事情。