从github/opencv官网上下载某一版本的opencv和opencv-contrib压缩包。解压放入source文件夹。
打开cmake-gui,如下图所示,source code目录选择opencv的主目录,build 目录就按默认的来,点configure按钮,弹出配置提示框,编译目标选x64,确认,就开始了初步的编译。
-------------------------------2020.3.7------------------------------
在粉红色条目配置中如果你在BUILD_opencv_world后面打了勾,最后会生成具有代表性的opencv_world.lib文件,我想应该是把所有lib文件合到一起了。编译的时候注意一下这个选项,不要与自己的编译目标相背。
初步编译结束选择OPENCV_EXTRA_MODULES_PATH项的值为opencv-contrib包中modules文件夹,再点config按钮,结束时还有一些条目的颜色是品红色,再点config按钮如下图。
所有条目都是白色了,就点generate完成cmake的操作。
接着用VS2017打开build目录中的OpenCV.sln
生成解决方案,然后生成→批处理→勾选两个INSTALL的x64的release和debug,进行生成。
最后拷贝install目录改名为opencv库名用作环境
参考链接:
windows10 64位+vs2017+CMake 编译 opencv-4.0.1 和 opencv_contrib-4.0.1
2020.4.3:
python中若想使用版权保护的模块需要自己从源码编译,否则使用这些模块的内容时会报错:
This algo rithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE C Make option and rebuild the library in function 'cv::xfeatures2d::SURF::create'
解决方法:
按如上方法编译之后,在build/lib/python3/Release/cv2.xxxxx.pyd改名为cv2.pyd复制到site-packages文件夹中。(编译时只需要编译出Release版本即可)
参考链接:使用 CMake + VS2017 ( + Python 3) 配置和编译 OpenCV 3.3(使用该文章中说的powershell程序搞我的4.2.0版本opencv源码(最新版本),没有效果,在此提个醒)