OpenCV及contrib源代码编译(CPU版)
第一步,准备工作
- 我们需要下载opencv的源代码和对应的opencv_contrib的源代码,下载地址如下https://github.com/opencv,详细见截图
注意两者的版本一定要一致,不然会报错,可以直接下载压缩文件,下载后解压压缩包,详细见截图
其中opencv-4.5.3-build文件夹是我自己创建,用来后面放编译后生成的VS工程。 - 下载Visual Studio,我这边使用的是VS2017 Community版,专业版也可以,网上找个密钥就能使用
- 下载CMake软件,官网就可以下载,我用的还是比较老的3.15版本
第二步,CMake生成VS工程
- 打开CMake GUI软件,配置opencv的源代码路径和生成的VS工程的路径,详细见截图 (PS:之前版本的opencv好像源代码路径还有一层文件夹,叫sources,那源代码路径就指到sources里面)
- 配置好路径之后,点击左中位置的Configure按钮,会弹出一个界面让你选择编译器和要编译的版本,详细见截图
工程的编译器选择自己电脑安装的那个就可以,我这边用的是VS2017,然后编译的64位的版本,点击Finish之后,程序就会进行第一次的配置生成 - 等待第一次完成后,会有很多红色的区域框出现,表示一些失败的项目,第一次Configure都会有很多红框,没关系。此时需要两处地方,详细见截图
在Build下面,此处勾选BUILD_opencv_world是为了后续在生成OpenCV动态库的时候,会生成一个总的opencv_world的库,不然每个模块都会生成一个库,使用比较麻烦
此处在OPENCV_EXTRA_MODULES_PATH地方添加opencv_contrib里面的modules模块路径,用来集成该部分源代码。 - 配置完上述两项之后,再次点击Configure按钮进行第二次的配置,在配置过程中,程序会从网上下载一些文件,如果网速不太好,可能会导致下载失败。等待配置完成,顺利的话就不会再出现任何的红色区域,如果还是有红色框框,可以根据错误信息自己下载对应文件(比较麻烦),或者再次点击Configure(基本三次可以把所有红色消除)。(PS:如果只是C++开发,未安装Python,则可能会报错找不到Python的库什么的,可以不用理会 )
- Configure成功后,点击Generate按钮,等待项目工程的生成。
第三步,VS重新生成编译工程项目
- CMake生成之后,在之前配置的opencv-4.5.3-build文件夹中,会有一个OpenCV.sln,用管理员权限启动VS,打开该工程。然后编译会分成Debug版本和Release版本,可以分开编译,比如先选择Debug版本