cv2 3.0.0 cv2.FlannBasedMatcher: flann.knnMatch is throwing cv2 error

大兔子大兔子 提交于 2019-11-29 14:42:22

I got same problem on my computer. so, I maked a new virtual-machine with Ubuntu 14.04 and tested.

I don't know why.... but, I got this problem solved with OpenCV 3.0.0-rc1.

If you are using OpenCV3.0.0, then try another release of OpenCV3

For installation , I was referring to the following page. http://rodrigoberriel.com/2014/10/installing-opencv-3-0-0-on-ubuntu-14-04/ On this page, Opencv's version is alpha. To read as in the example below.

wget https://github.com/Itseez/opencv/archive/3.0.0-rc1.zip -O opencv-3.0.0-rc1.zip

Comment out line 162 in cv2.cpp in ..\opencv\modules\python\src2

CV_Error(Error::StsAssert, "The data should normally be NULL!")

Recompile and SIFT should work just fine.

Source: http://answers.opencv.org/question/76952/regarding-the-error-message-the-data-should-normally-be-null/

A fix has been merged into the master branch of OpenCV, and I've confirmed that it works. Unfortunately there hasn't been a new release yet so you'll have to use the nightly build, but I found it relatively easy in Ubuntu. Adrian Rosebrock has a great post on how to install OpenCV 3 from source for Ubuntu and for OSX. If you follow Adrian's guide and simply leave out the step where he checks out the 3.0.0 tag, you should remain on master and get the latest build which includes the fix.

If you're on a Mac and using python3, this did it for me instead of building it from github:

brew install opencv3 --with-python3 --with-contrib

and

export PYTHONPATH=$PYTHONPATH:/usr/local/Cellar/opencv3/3.0.0/lib/python3.4/site-packages

replace python3.4 with your version.


Seems like there's some general problem with the function allocate(). I also had the same problem with BackgroundSubtractorMOG2, beside the FLANN matcher. This fixed both.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!