Los métodos coincidentes para MatchTemplate () en OPENCV "CV2.TM_CCORTR_NORMED" y "CV.CV_CL_CV_BHATTHATTHARYYA" Da la misma medida
-
21-12-2019 - |
Pregunta
Hola, me gustaría traer a su notificación, hay algún problema en los métodos de MatchTemplate () OpenCV ().Según el libro, el coeficiente de Bhattacharya es totalmente diferente de la correallación cruzada normalizada, pero cuando intenté este trozo de código, obtuve la misma distancia en todas partes para cada imagen. Cualquiera que alguien traiga este aviso a los desarrolladores de OPENCV e intente decir por qué sucedió esto.Estaba tratando de encontrar la medida de la distancia usando estos dos métodos
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
Solución
No es de extrañar.
Aparte de CV_COMP_BHATTACHARYYA NO siendo una Compara válida bandera para matchtemplate ,
Tanto CV_COMP_BHATTACHARYYA y TM_CCORTR_normed se resuelven al mismo valor enumio 3 debajo del capó.