Quantcast
Channel: OpenCV Q&A Forum - Latest question feed
Viewing all articles
Browse latest Browse all 19555

BFmatcher crashes because of different descriptor shapes

$
0
0
Hey everyone, I'm using binary images of the same size, extracting ORB Features but when it comes to compare the descriptors I receive an: **The Error** > OpenCV/opencv/modules/core/src/stat.cpp:3757:> error: (-215) type == src2.type() &&> src1.cols == src2.cols && (type ==> CV_32F || type == CV_8U) in function> batchDistance However when I check the descriptors with print img.dtype, np.shape(img), np.shape(descriptors) print oldimg.dtype, np.shape(oldimg), np.shape(olddescriptors) I get uint8 (21, 27) (22, 32) uint8 (21, 27) (17, 32) Apparently this seems to be the error. On the other hand there's not much I can do against it. Has anybody an idea? At least is there some kind of tutorial online, of how to manually match the descriptors ? Btw it is the same if I use SIFT, SURF, etc. **Here's my code:** I'm working with python 2.7 and OpenCV 2.4 orb = cv2.ORB_create(edgeThreshold=3) oldkeypoints, olddescriptors = orb.detectAndCompute(oldimg,None) keypoints, descriptors = orb.detectAndCompute(img,None) bf = cv2.BFMatcher(cv2.NORM_HAMMING) bf.clear() bf.add(olddescriptors) bf.train() matches = bf.match(descriptors) # crashes here matches = sorted(matches, key = lambda x:x.distance)

Viewing all articles
Browse latest Browse all 19555

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>