SURF + BOWImgDescriptorExtractor + BFMatcher с ошибкой типа

Я использую opencv-2.4.13 с Python 2.7. Я пытаюсь создать тренировочный набор для моего классификатора SVM. При использовании BOWImgDescriptorExtractor я получаю ошибку типа. Вот код..

extract = cv2.DescriptorExtractor_create("SURF")
surf = cv2.SURF(400)
matcher = cv2.BFMatcher(cv2.NORM_L2)

BOW = cv2.BOWKMeansTrainer(100)

for ImageName in FileList:
    img = cv2.imread(ImageName,0)
    kp, des = surf.detectAndCompute(img1,None)
    BOW.add(des)
 dictionary = BOW.cluster()

bow_extract = cv2.BOWImgDescriptorExtractor( extract, matcher ) 
bow_extract.setVocabulary( dictionary )

ImageName = FileList[0]
img = cv2.imread(ImageName,0)
kp = surf.detect(img1)
inp = bow_extract.compute(img1,kp)

Я получаю эту ошибку

Traceback (most recent call last):
  File "Pre_process.py", line 48, in <module>
    inp = bow_extract.compute(img1, surf.detect(img1))
cv2.error:/opencv-2.4.13/modules/core/src/stat.cpp:2481: error: (-215) type == src2.type() && src1.cols == src2.cols && (type == CV_32F || type == CV_8U) in function batchDistance

0 ответов

Другие вопросы по тегам