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

BFMatcher match giving error

$
0
0
I am using SURF descriptors for image matching. I am planning to match a given image to a database of images. import cv2 import numpy as np surf = cv2.xfeatures2d.SURF_create(400) img1 = cv2.imread('box.png',0) img2 = cv2.imread('box_in_scene.png',0) kp1,des1 = surf.detectAndCompute(img1,None) kp2,des2 = surf.detectAndCompute(img2,None) bf = cv2.BFMatcher(cv2.NORM_L1,crossCheck=True) #I am planning to add more descriptors bf.add(des1) bf.train() #This is my test descriptor bf.match(des2) The issue is with `bf.match` is that I am getting the following error: OpenCV Error: Assertion failed (type == src2.type() && src1.cols == src2.cols && (type == CV_32F || type == CV_8U)) in batchDistance, file /build/opencv/src/opencv-3.1.0/modules/core/src/stat.cpp, line 3749 Traceback (most recent call last): File "image_match4.py", line 16, in bf.match(des2) cv2.error: /build/opencv/src/opencv-3.1.0/modules/core/src/stat.cpp:3749: error: (-215) type == src2.type() && src1.cols == src2.cols && (type == CV_32F || type == CV_8U) in function batchDistance The error is similar to [this][1] post. The explanation given is incomplete and inadequate.I want to know how to resolve this issue. I have used ORB descriptors as well with BFMatcher having `NORM_HAMMING` distance. The error resurfaces. Any help will be appreciated. The two images that I have used for this are: [![box.png][2]][2] box.png [![box_in_scene.png][3]][3] box_in_scene.png I am using Python 3.5.2 and OpenCV 3.1.x in linux. [1]: http://stackoverflow.com/questions/24224846/opencv-bfmatcher-match-always-return-error [2]: http://i.stack.imgur.com/Er7vx.png [3]: http://i.stack.imgur.com/gAz96.png

Viewing all articles
Browse latest Browse all 19555

Trending Articles



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