OpenCV 4.5.2 + opencv_contrib 在VS下的安装、配置

OpenCV 4.5.2 + opencv_contrib 在VS下的安装、配置

  • 1.下载解压
  • 2.CMake生成项目
    • 2.1 填写路径
    • 2.2 配置CMake
      • 2.2.1 OpenCV的CMake配置
      • 2.2.2 opencv_contrib的CMake配置
  • 3.编译
  • 4.配置项目

1.下载解压

  1. OpenCV 4.5.2
    官网下载,点击Windows会下载一个自解压的exe文件。
  2. opencv_contrib
    Github下载,zip可以少解压一次。
    (注意版本对应)

解压路径自选,例如:

本体:D:\dev\opencv-4.5.2\opencv
contrib:D:\dev\opencv-4.5.2\opencv_contrib-4.5.2

2.CMake生成项目

2.1 填写路径

where is the source code :D:/dev/opencv-4.5.2/opencv/sources (与前述路径相关)
where to build the binaries:D:/dev/opencv-4.5.2/build (自选位置)
preset建议选x64

2.2 配置CMake

熟悉的多次Configure的时间

2.2.1 OpenCV的CMake配置

Configure几乎一定会出现下载失败的红字提醒,可以在build路径下的CMakeDownloadLog.txt文件中找到下载的地址。文件中有若干这样的语句:

#cmake_download fileName url

这时要手动从url处下载文件,并且按照fileName处的文件名重命名并移到对应路径。对应路径应该已经存在一个0kb的同名文件(因为下载失败了)。
之后重新Configure,红字应该消失了。

2.2.2 opencv_contrib的CMake配置

在组OPENCV 中将OPENCV_EXTRA_MODULES_PATH的键值改为contrib解压后的modules子文件夹,如D:/dev/opencv-4.5.2/opencv_contrib-4.5.2/modules
继续 Configure,这时可以勾选需要的组件了,根据需要勾选。
勾选后Configure,这时可能又会因为下载失败而红字,按照前面的方法解决。

最为重要的步骤来了,请务必勾选: OPENCV_ENABLE_NONFREE

为了减少lib和dll数量,这里可以勾选BUILLD_opencv_world不建议,可能出现问题
排除红字之后,Generate,然后Open Project进入下一步。

3.编译

我个人不喜欢debug,所以直接选择Release x64,分别生成CMakeTargets下的ALL_BUILDINSTALL即可,这一步需要耗费较长时间。
如果你需要对应的debug文件,建议选择 生成 - 批生成 ,把这两个的debug和release都勾上,然后点生成。

假如你之前的build目录在D:/dev/opencv-4.5.2/build ,编译完成后你需要的文件分别是:
dll文件在:D:\dev\opencv-4.5.2\build\install\x64\vc15\bin (其中vc15因编译器而异)
lib文件在:D:\dev\opencv-4.5.2\build\install\x64\vc15\lib
包含目录在:D:\dev\opencv-4.5.2\build\install\include

4.配置项目

在新建的VS项目中,在属性管理器中右键Release|x64 添加新项目属性表,并双击此属性表开始配置项目:
对应3中路径,填入:

VC++目录 - 包含目录:
D:\dev\opencv-4.5.2\build\install\include
D:\dev\opencv-4.5.2\build\install\include\opencv2

VC++目录 - 库目录:
D:\dev\opencv-4.5.2\build\install\x64\vc15\lib

链接器 - 输入:
前面库目录中的lib文件的文件名,一种方法是新建bat文件,如getLibFileName.bat ,编辑填入代码:

dir /b *.lib>libFileName.txt

保存,双击运行,即可在libFileName.txt 文件中获得需要的文件名。

最后,记得在环境变量Path中添加:D:\dev\opencv-4.5.2\build\install\x64\vc15\bin

你可能感兴趣的:(图像处理,opencv,cmake,visual,studio)