Ошибка получения: AttributeError: модуль 'cv2.cv2' не имеет атрибута 'CompareHist' при попытке вызвать метод openCV - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь найти расстояние между двумя векторами, используя метод compareHist () openCV.Я использую opencv-contrib-python 3.4.2.17.Если я пытаюсь использовать метод compareHist (), как описано в документации здесь https://docs.opencv.org/3.4.2/d6/dc7/group__imgproc__hist.html#gaf4190090efa5c47cb367cf97a9a519bd, я получаю ошибку "AttributeError: модуль 'cv2.cv2' не имеет атрибута" CompareHist ""

Янеправильный вызов метода или я неправильно использую документацию?

Мой фрагмент кода тестирования приведен ниже для справки.Благодарю.

import numpy as np
import cv2 as cv

img = cv.imread('../data/im3.jpg')
img2 = cv.imread('../data/im4.jpg')
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
gray2 = cv.cvtColor(img2, cv.COLOR_BGR2GRAY)

sift = cv.xfeatures2d.SIFT_create()
kp, des1 = sift.detectAndCompute(gray,None)
kp2, des2 = sift.detectAndCompute(gray2,None)


print(cv.CompareHist(des1[0], des2[0], CV_COMP_CORREL))

1 Ответ

0 голосов
/ 10 февраля 2019

Попробуйте использовать cv.HISTCMP_CORREL вместо CV_COMP_CORREL в CompareHist method, как cv.CompareHist(des1[0], des2[0], CV_HISTCMP_CORREL).Он был переименован в более новых версиях.

См. этот пост для получения дополнительной информации.

...