在Qt中使用VS2017编译的OpenCV库

作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

前言

因为最近项目中用到了工业相机作业,涉及到图像处理无疑就要用到 OpenCV 了,用此章节来记录 OpenCV 从源码到编译,再到应用的过程。

开发环境:Qt 5.12.8, vs2017 Community
软件版本:opencv-4.2.0-vc14_vc15,cmake-3.17.1-win64-x64.msi

OpenCV下载地址:OpenCV官网
CMake下载地址:CMake官网

注意:OpenCV 4.0 现在是一个 C++11 库,要求 C++11 兼容的编译器。所需的 CMake 至少是 3.5.1 以上的版本

VS2017 编译自己的 OpenCV 版本

  1. 打开 cmake-gui 配置资源目录和输出目录
    在Qt中使用VS2017编译的OpenCV库

  2. 配置vs编译器版本,博主使用的是vs2017,选择x64,不选会默认使用Win32
    在Qt中使用VS2017编译的OpenCV库

  3. 勾选生成列表中的 WITH_OPENGL 和 WITH_QT 两项,其他项最好不要改动。出现红色区域继续点击 Configure,直到红色全部消失
    在Qt中使用VS2017编译的OpenCV库

  4. 点击 Generate 生成 OpenCV 工程,成功后底下会提示 Generating done
    在Qt中使用VS2017编译的OpenCV库

  5. 在 output 文件夹下找到工程 OpenCV.sln,并用VS打开
    在Qt中使用VS2017编译的OpenCV库

  6. 这里需要注意的是VS默认的编译器设置是Win32,但是 opencv4.0 仅支持x64,因此需要调整为x64。可以在vs的安装目录 C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCWizards 下修改 default.vcxproj,DefaultTest.vcxproj、vcupgradedefault.vcxproj 三个文件,将其中的Win32替换为x64即可永久设置为x64。当然也可以手动设置为x64,但是手动设置仅仅是这一次有效,当新建一个项目打开就又是W32了;

  7. 选择 Debug x64,右键 ALL BUILD 选择 “生成” ,这里需要等待一段时间直到全部成功
    在Qt中使用VS2017编译的OpenCV库

  8. 选择 Release x64,同样右键 ALL BUILD 选择 “生成”,等待一段时间直到全部成功

  9. 可以在 output 文件下查看生成的库文件。静态库在lib目录下,动态库在bin目录下

  10. 选择 Release x64,右键 INSTALL 选择 “生成”,就能生成所需要的头文件了
    在Qt中使用VS2017编译的OpenCV库
    在Qt中使用VS2017编译的OpenCV库

在 Qt 中调用 OpenCV