环境要求:VistualStudio2019 17 15也可以,尽量用新版本,opencv4需要C++11支持
cmake3.15.5 尽量新版本
python3的任意版本
ps:python需要安装numpy(camke有提示,我就装了待定),python需要debug版本(安装时勾选重要)
numpy安装教程:https://www.cnblogs.com/mq0036/p/11418156.html
python debug:https://blog.csdn.net/weixin_43788499/article/details/84933210
上面那些都装好,环境变量配好,这类教程很多
opencv https://github.com/opencv/opencv/releases/tag/4.1.0
opencv_contrib https://github.com/opencv/opencv_contrib/releases/tag/4.1.0
下载opencv4.10源码 opencv_contrib4.10源码,解压到文件夹source下,新建文件夹build用于存放生成的VS解决方案和VS编译出来的install文件
opencv4.10---build
---source ---opencv
---opencv_contrib
在使用cmake的时候有些文件是下不下来的,因此我们需要提前下好放在\source\opencv\.cache下
https://github.com/opencv/opencv_3rdparty在branch下找需要下的组件
需要关注的组件:opencv中的ffmpeg,ippicv contrib中的face,xfeature2d ,请查看它们的cmake文件
打开\source\opencv\3rdparty\ffmpeg\ffmpeg.cmake 可以看到下面的代码,根据代码去下载对应的文件,其它的以此类推,后面仅给出文件名,其它版本的opencv也按这个思路走,前两个是本体的,后两个是扩展包里的。
# Binaries branch name: ffmpeg/master_20181106
...
set(name_BIN32 "opencv_ffmpeg.dll")
set(name_BIN64 "opencv_ffmpeg_64.dll")
set(name_CMAKE "ffmpeg_version.cmake")
...
https://github.com/opencv/opencv_3rdparty/tree/ffmpeg/master_20181106/ffmpeg
https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723
https://github.com/opencv/opencv_3rdparty/tree/contrib_face_alignment_20170818
https://github.com/opencv/opencv_3rdparty/tree/contrib_xfeatures2d_boostdesc_20161012
https://github.com/opencv/opencv_3rdparty/tree/contrib_xfeatures2d_vgg_20160317
打开cmake,添加source路径和要存放的build路径,之后点configure,会有红色报警,python3的报警不用理,其它有4个警告是ippicv,ffmpeg相关文件无法下载。完成后会看到一片红,需要你选勾进行配置。
然后到source\.cache下用之前下载的文件把那些0kb的文件替换掉,替换的时候保留下载生成的MD5。
然后开始第一次配置
点configure后,等待完成,你会发现又失败了很多文件,都替换掉,然后进行第二次配置
打勾完了,点configure
出现CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message)警告可忽略
三、VS编译
点generate,完成后打开生成的opencv.sln,生成->批生成->ALL-BUILD,INSTALL打勾->点击生成按钮,之后可以在build\install路径下找到生成的库文件,其它的所有东西就都可以删了。
报错:LINK1104 无法打开文件“python37_d.lib” 解决办法
https://blog.csdn.net/weixin_43788499/article/details/84933210