I am using OpenCV 3.1.0 , Python 2.7.11 and Windows 10. I want to build the extra modules (opencv_contrib) into OpenCV.
I follow the step in this GitHub.
$ cd <opencv_build_directory>
$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
$ make -j5
When I type cmake _DOPENCV_EXTRA_MODULES_PATH=C:\opencv_contrib\opencv_contrib/modules C:\opencv\sources, there is an error.

I am looking for help how can I solve it. Thank you.
Update 29-5-2017: This also works with OpenCV 3.2.0-dev. Now using Visual Studio 2015 or 2017 gives no errors.
The cv2.pyd is now automatically moved to site-packages. You just only need to copy the DLLs.
As mentioned by @AleksandrUsarov in the comments section, this method still works for OpenCV 4.1.2, but you need to check
OPENCV_ENABLE_NONFREEparameter as well.
I have made a tutorial on how to compile and build your own OpenCV 3.1.0-dev from scratch. It is simple and organized and works with me very well. If you have time to recompile OpenCV check out the tutorial.
The steps to follow are:
opencv-3.1.0-dev and in this directory create other two directories one called build and the other called sources. The paths will be opencv-3.1.0-dev\build and opencv-3.1.0-dev\sources.opencv-master.zipand opencv_contrib-master.zip
opencv and opencv_contrib directories




generating is done before continuing.
OpenCV.sln. Right click on this .sln file and open it with the visual studio 2013 used in CMake.
Be patient as this step and the next will take a lot of time.
Release. These step take about 10 to 15 minutes.
.dll files [present at opencv-3.1.0-dev\build\bin\Release] and the cv2.pyd and paste them in the site-packages directory in Pyhton27\Lib\site-packages.import cv2. If no errors, execute cv2.__version__, and you should get 3.1.0-dev.
If anything is not clear please watch the tutorial provided at the beginning of this answer.
For Python 3.6/3.5 you could use *.whl (Python on Wheels) module from here:
pip install opencv_python-3.2.0+contrib-cp36-cp36m-win_amd64.whl
For Python 2.7 there is no opencv+contrib in one module, but you could separately install opencv module without contrib from here at the end of the page and then add opencv-contrib-python module:
pip install opencv_python-3.2.0.7-cp27-cp27m-win_amd64.whl
pip install opencv-contrib-python
Do not mix opencv+contrib opencv-python (3.2.0+contrib) and opencv-contrib-python (3.2.0.7) modules, otherwise your "import cv2" stop to work till you delete opencv-contrib-python module.
no need for complex stuff, just uninstall the version of opencv you have and do:
pip install opencv-contrib-python
Good luck, Amber
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With