Opencv 3 python function detection error on cv2.detectAndCompute function, as well as on cv2.compute

I am using opencv 3.0.0 and python 2.7.5_x32

This is my code (ORB_feature_detection):

import numpy as np import cv2 from matplotlib import pyplot as plt img1 = cv2.imread('C:\\Python27\\madar1.jpg',0) # queryImage img2 = cv2.imread('C:\\Python27\\madar2.jpg',0) # trainImage # Initiate SIFT detector orb = cv2.ORB_create() # line 12 # find the keypoints and descriptors with SIFT kp1, des1 = orb.detectAndCompute(img1,None) kp2, des2 = orb.detectAndCompute(img2,None) # create BFMatcher object bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True) # Match descriptors. matches = bf.match(des1,des2) # Sort them in the order of their distance. matches = sorted(matches, key = lambda x:x.distance) # Draw first 10 matches. img3 = cv2.drawMatches(img1,kp1,img2,kp2,matches[:10], flags=2) plt.imshow(img3),plt.show() cv2.waitKey() cv2.destroyAllWindows() 

and this error message, the error message is on kp1, des1 = orb.detectAndCompute (img1, None) part, I worked on opencv 2.4.11 and it does not work on opencv 3.0.0!

  Traceback (most recent call last): File "C:\Python27\orb_matcher.py", line 12, in <module> kp1, des1 = orb.detectAndCompute(img1,None) error: ..\..\..\modules\python\src2\cv2.cpp:163: error: (-215) The data should normally be NULL! in function NumpyAllocator::allocate 

Please help me, what should I do to make this work?

+7
python opencv
source share
2 answers

You can try adding this script after importing cv2 and other cv2.ocl.setUseOpenCL(False) , this solved my problem.

+5
source share

This is a known bug. You can find more information here https://github.com/opencv/opencv/issues/6081 .

Today someone fixes this problem: python T-API # 6847 support is implemented .

0
source share

All Articles