本文内容全部来自网络,仅作综合记录
一、准备工作
1、默认VS2019已安装
2、下载OpenCV源码及opencv_contrib
-
下载地址
注意:两者选择一致版本,本文采用3.4.5 - 解压到同一目录下
- 创建一个构建文件夹待用(本文命名为opencv_build)
3、CMake
-
下载地址
本文下载的是 v3.15/cmake-3.15.0-rc1-win64-x64.msi - 按提示安装CMake,注意选择添加环境变量
二、采用CMake生成VS工程
1、Configure opencv-3.4.5 [1]
- 运行CMake图形窗口xxx/Cmake/bin/cmake-gui.exe
- Where is the source code 填入源码路径,即xxx/opencv-3.4.5
-
Where to build the binaries 填入需要生成的VS工程目标路径,即之前创建的xxx/opencv-build
- 点击 Configure 弹出对话框,选择编译平台
本文选择 Visual Studio 16 2019 Win64 - 点击 Finish 开始配置
此处需要一些时间,完成后大概率有报错,需要手动处理问题
2、问题处理
-
问题一:OpenCV does not recognize MSVC_VERSION 1925 [2]
解决:打开 xxx/opencv-3.4.5/cmake/OpenCVDetectCXXCompiler.cmake
找到相应位置并添加标示内容:
-
问题二:各种文件下载失败,比如
解决:通过 xxx/opencv_build/CMakeDownloadLog.txt内的指示手动解决,相关解释和解决方法具体参见[3][4] 按操作解决相应问题后点击Configure重新配置,解决所有的报错后进入下一步。
3、加入opencv_contrib进行配置
- 勾选BUILD_opencv_world
- 在OPENCV_EXTRA_MODULES_PATH中填入路径:
xxx/opencv_contrib-3.4.5/modules - 再次点击Configure,可能再次遇到文件下载失败,还是一样的解决方式
- 无报错后,点击Generate
三、使用VS进行编译 [5]
1、找到xxx/opencv_build中的OpenCV.sln,点击打开
2、生成解决方案
- 选择Debug x64调试环境
- 调试---》生成解决方案 然后等上较长一段时间
- 右键资源管理器中的CMakeTarget/INSTALL---》仅用于项目---》仅生成INSTALL
- 最终xxx/opencv_build中多了一个名为install的文件夹,上面的一切工作都是为了它,至此所有的安装编译工作都已完成
四、用上生成的INSTALL文件配置环境
- 参见[6][7]靠后的部分
- 效果测试可采用[8]尾部的测试程序
参考来源:
[1] win10+vs2019+opencv+opencv_contirb 安装教程
[2] 一、Opencv3.4.1及扩展模块在VS2019里的安装
[3] CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结
[4] cmake3.14.0+opencv_contrib4.0.1+VS2017配置过程及可能出现的错误和问题
[5] 添加OpenCV_contrib库至OpenCV3.1.0中(Windows 64位 环境下编译OpenCV3.1.0和OpenCV_contrib)
[6] Win 10 + VS 2019 +opencv_contrib-3.4.7编译
[7] Windows10下Visual Studio2019安装及OpenCV配置
[8] OpenCV3.4.1+opencv_contrib编译:windows 10
[9] VS2017+OPENCV3.4.0+CONTIRB+WIN10+C++