OpenCV 4.3.0 版本,在4月份发布了,新加的功能如下:

    https://github.com/opencv/opencv/wiki/ChangeLog#version430

  其中,imgproc 模块的 HoughCircles() 函数,新加了检测算法 HOUGH_GRADIENT_ALT,精度得到了很大的提升

            

  另外,国内团队 Open AI Lab 将他们的 Tengine 库集成到了DNN 模块中,提升了 DNN 运行在 ARM 平台中的速度

            

    本文以 Win10  64 位 为例,简述 OpenCV 的编译配置过程 (如果是 32 位系统,则对应 32位 的 cmake 和 Qt 软件)

1  编译准备

1.1  VS 或 Qt

    选择一:VS2019 社区版,下载地址

      注意:安装 VS 2019,要求操作系统 Win7 SP1 以上版本

    选择二:VS2019 + Qt,下载地址 或 在线安装 (Qt6 以上推荐在线安装)

      注意:Qt 开源,但在下载时,需要注册账号,并遵守一些开源的协议

1.2  cmake

    选择解压版,在 /bin 目录下,直接点击 cmake-gui.exe 可运行

    下载地址:https://cmake.org/download/  或  https://github.com/Kitware/CMake/releases

1.3  OpenCV

    首先,分别下载 opencv 源码 和 opencv_contrib 源码;然后,解压两个压缩包,准备编译

           

 

2  cmake 配置生成

    cmake 在配置过程中,会自动下载一些文件,如 opencv_ffmpeg.dll 等,因此需要保持网络畅通

2.1 路径

    找到 cmake 的 cmake-gui.exe,点击运行,配置目录如下:

    - source, 指向解压后的 opencv 文件夹

    - binaries,可自建一个文件夹

     

2.2  配置

2.2.1  opencv-master

    设置好路径,点击左下角的 Configure 按钮,弹出窗口,如下

 

    点击 Finish 按钮,继续,此时界面的 Configure 按钮变为 Stop,表示配置进行中 ...

    注意:如遇到问题,先检查错误信息;再点击 File -> Delete Cache,退出 cmake-gui,并将 build 文件夹下的内容清空,再重复步骤 2.1 和 2.2,

            等 Configure 依次结束后,如果 cmake 的主界面仍有红色区域,则再次点击 Configure 进行配置,直到红色区域完全消失。

      

  下图是 Configure 完成后的界面,红色消失,只剩白色的区域

     

2.2.2  opencv_contrib-master

  找到 Name 下的 OPENCV_EXTRA_MODULES_PATH,为其设置 opencv_contrib-4.3.0 的路径 ,精确到 /modules 目录

    

  再次点击 Configure 进行配置,可能需要 Configure 两三次之后,红色区域才能完全消失。

  最后,点击 Generate,出现 “Generating done” 则意味着 cmake 的工作结束了。

2.3  VS 编译  

    用 Visual Studio 打开 OpenCV.sln,分别在 Debug 和 Release 下,编译该工程

     

    编译完成后,在相应的 lib 和 bin 文件夹中,分别找到 debug/release 的 .lib 静态库 和 .dll 动态库,拷贝到 3rdparty\opencv 中

      

  

3  VS 下的配置

  1)  环境变量

      计算机 -> 属性 -> 高级系统设置 -> 环境变量,编辑系统变量里的 path 变量,为其添加变量值 D:\opencv\460\x64\vc16\bin\debug

     

  2)  头文件和库文件

      头文件: D:\opencv\460\include

      库文件: D:\opencv\460\x64\vc14\lib\debug

    

  3)  依赖项

    生成的 lib 库,格式为 “opencv_modulename_version_d.lib”,带 "_d" 的对应 Debug 模式,不带的对应 Release 模式。

    可根据需要,添加相应的静态库。 例如,人脸识别时,用到 face 模块,可在依赖项中,添加 opencv_face4xxd.lib

    

 

4  Qt 下的配置

 1)  环境变量

  与 VS 的配置一样,添加 path 变量值 D:\opencv\460\x64\vc16\bin\debug;

  另外,不要忘记添加 Qt 的 path 变量值 D:\Qt\Qt5.12.8\5.12.8\msvc2017_64\bin;

 2)  头文件和库文件

  以简单的读图程序为例,需要在新建的 Qt 工程配置文件中,添加如下代码:

LIBS += -L$$PWD/../../opencv/430/x64/vc16/lib/debug -lopencv_highgui430d \
        -lopencv_core430d \
        -lopencv_imgproc430d  \
        -lopencv_imgcodecs430d

INCLUDEPATH += $$PWD/../../opencv/430/include  

 可根据具体的需要,适当添加新的库文件,比如,用于人脸识别的 opencv_face430d,深度神经网络 opencv_dnn430d 等等。

    配置完成,尽情享受 OpenCV 的世界吧 ^_^

 

更新记录

    2017年10月12日: 升级为 Win10 64 位系统,CMake 3.10.0,OpenCV 3.3,Qt 5.9.1,生成并配置成功。

    2018年11月21日: 升级为 Opencv 4.0.0,Qt 5.9.6,CMake 3.13.0,新加的 opencv_gapi 模块出现编译错误,生成不成功,其它模块生成并配置成功。

                                 

    2019年10月10日:升级为 OpenCV 4.1.1,Qt 5.12.5,CMake 3.15.4,仍有 opencv_gapi 模块出现编译错误,生成不成功,其它模块生成并配置成功。

    2020年4月12日:升级为 OpenCV 4.3.0,Visual Studio 2019,Qt 5.12.8,CMake 3.17.1生成并配置成功。

    2021年11月28日:升级为 OpenCV 4.5.4,Visual Studio 2019,CMake 3.20.5,生成并配置成功

    2022年6月15日:升级为 OpenCV 4.6.0,Visual Studio 2019,CMake 3.22.5,生成并配置成功

 

posted on 2016-08-14 08:24  飞鸢逐浪  阅读(63860)  评论(9编辑  收藏  举报