Ошибка: (- 215) type == src2.type () && src1.cols == src2.cols && (type == 5 || type == 0) в функции cv :: batchDistance - PullRequest
0 голосов
/ 18 мая 2018

У меня есть следующий код для сопоставления изображений с использованием ORB:

import numpy as np
import cv2
from matplotlib import pyplot as plt

img1 = cv2.imread('C:\\IRRNEW\\models\\research\\object_detection\\Scanner\\IMG_Hello.jpg',0)          # queryImage
img2 = cv2.imread('C:\\IRRNEW\\models\\research\\object_detection\\Image.jpg',0) # trainImage
#orb = cv2.ORB_create()
orb = cv2.ORB_create(nfeatures=10000, scoreType=cv2.ORB_FAST_SCORE)
# find the keypoints with ORB
kp1, des1 = orb.detectAndCompute(img1,None)
kp2, des2 = orb.detectAndCompute(img2,None)
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(des1,des2)
matches = sorted(matches, key = lambda x:x.distance)
img3 = cv2.drawMatches(img1,kp1,img2,kp2,matches[::], None,flags=2)
a=len(matches)
print(a)
b=len(des)
print(b)
plt.imshow(img3),plt.show()

Ранее этот код мог запускаться и показывать мне результат, но теперь неожиданно выдает мне эту ошибку:

Traceback (most recent call last):
  File "C:\Users\user\Desktop\h.py", line 13, in <module>
matches = bf.match(des1,des2)
cv2.error: C:\projects\opencv-python\opencv\modules\core\src\stat.cpp:4022: error: (-215) type == src2.type() && src1.cols == src2.cols && (type == 5 || type == 0) in function cv::batchDistance

Версия opencv: opencv-python 3.4.0.12

Пожалуйста, помогите, я ссылаюсь на решение онлайн, но ничего не помогу, надеюсь, вы, ребята, можете поделиться своими идеями.Благодаря

...