本文是对:的补充,因为晚上太晚,编译时间过长,故匆匆写过。这里着重说一下重要事项。

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,以便工程编译运行