本文是对:https://blog.csdn.net/JUST__Tw/article/details/111874581的补充,因为晚上太晚,编译时间过长,故匆匆写过。这里着重说一下重要事项。
1.OpenCV下载选择
(1)如果不使用cmake编译,那么可以直接下载OpenCV的.exe文件直接提取出官网编译好的源码,然后按照网上教程配置vs2019即可。
(2)另一种则是选择下载Zip的源码,利用cmake对源码编译,生成和官网一样的编译源码。
两种方式相比,后一种,可以将OpenCV-contrib的模块功能一起编译进去,从而获得更多的功能,但是第一种不行。
2.cmake编译错误原因及解决方法
(1)原因:
在选择完平台之后,进行第一次configure,编译时间根据电脑好坏,第一次完了之后,中间空白部分会全部变成红色的,这里就是让我们选择要编译那些模块,我这里推荐几个必须要装的:
- BUILD_opencv_word
- OPENCV_ENABLE_NONFREE
- OPENCV_EXTRA_MODULES_PATH (后面选择路径,如:D:\OpenCV\opencv-4.5.1\opencv_contrib-4.5.1\modules,这里一定要选择到modules,不能停留在上一个或者进入下一个文件夹)
后面其实还有很多编译选项可以选择,这里不做过多的介绍,如果到时候有使用需要,再重新编译一下即可
由于下载这些模块文件的过程中,经常需要连接外网下载,所以会导致下载失败,然后编译报错,这时候需要查看D:\OpenCV\build_vs2019 路径下的CMakeDownloadLog.txt文件,里面有错误信息,错误的下载地址,文件的放置路径
(2)解决方法
txt文件里cmake_download后面有两个参数,第一个是你下载的文件需要存放的路径,第二个是该文件的下载地址
进入后面这个下载地址,将文件下载下来,然后放到第一个参数的路径里面,这里注意要全部改成文件所需的名字,因为下载下来的文件名字和路径里是不一样的,按照它给的参数改名字
记住:只关注cmake_download产生的错误,其他的可以忽悠
将所有的文件都下载完之后,再次configure,完了之后,继续打开txt文件进行检查,如果txt文件中没有了cmake_download错误,那么说明编译成功了,如果还有,则重复上面的步骤,直到消失不报错就可以了
configure不报错之后,就点击generate生成工程,然后打开OpenCV.sln进行编译
如果都不报错,则编译成功,到此结束。
说明:OpenCV有python模块,还有MATLAB模块,这里编译的只是针对的VS2019这个IDE,如果需要配合其他IDE使用,请参考其他教程
但是有一点是想通的,那就cmake编译工程的过程,它原理就是这样,通过cmake这样一个工具,生成一个通用各平台的Makefile,以便工程编译运行