天宫鹤

Win11下Qt6.4.0+OpenCV4.6.0+Contrib配置编译安装开发详细步骤

一、系统环境

1.Windows11 64位系统

2.Qt6.4.0

3.CMake3.23.2(Qt系统自带)

4.OpenCV4.6.0

5.Contrib

6.Python3.10.7

二、软件准备

1.下载OpenCV,网址:https://opencv.org/releases/

 

2.下载Contrib,网址:https://github.com/opencv

    OpenCV官方已经将稳定成熟的功能都放在OpenCV包里发布,而正在发展尚未成熟的技术则统一置于Contrib扩展模块中。通常情况下,下载的OpenCV中不包含Contrib扩展库的内容,如果只是进行一般的图片、视频处理,则仅使用OpenCV就足够了。但是,OpenCV中默认不包含SIFT、SURF等先进的图像特征检测技术,另外一些高级功能(如人脸识别等)都在Contrib扩展库中,若要充分发挥OpenCV的强大功能,则必须将其与Contrib扩展库放在一起联合编译使用。

 

三、编译前准备

1.准备目录

(1)新建D:\Qt-OpenCV\OpenCV-Source文件夹,将下载得到的OpenCV库的opencv-4.6.0.zip压缩包解压,将得到的所有文件复制到该文件夹中。

(2)新建D:\Qt-OpenCV\Contrib-Source文件夹,将下载得到的Contrib扩展库的opencv_contrib-4.xzip压缩包解压,将得到的所有文件复制到该文件夹中。

(3)新建D:\Qt-OpenCV\OpenCV-Build文件夹。

 

 

 2.安装Python,官网地址:https://www.python.org/

     由于OpenCV库的某些功能模块的运行环境依赖于Python平台,故编译前还要在自己的计算机系统中安装Python语言。从Python官网下载获得安装包“python-3.10.7-amd64.exe”,双击启动安装向导,采用默认配置安装即可。

 

 四、编译配置

         经过以上各步的前期准备后,就可以正式开始编译了。

1.设置路径

    首先打开CMake工具进行编译相关的配置。

 

 2.选择编译器

    设置好路径后,单击左下角的“Configure”按钮,Specify the generator for this project:选择“MinGW Makefiles”,点选“Use default native compilers”。单击“Finish”按钮回到CMake主界面。此时,点击主界面上的“Configure”按钮,编译器配置进行中,随后,在主界面中央生成一系列红色加亮选项条的列表,同时下方信息栏输出“Configuring done”,表示编译器配置完成。

3.设置编译选项

    这些红色加亮的选项并非都是必须的功能,需要勾选的配置与不需要勾选的配置看红色文字,一定要记得选中“BUILD _opencv_world”,这将允许把所有OpenCV模块构建到一个库中(这样做的好处是在部署计算机视觉应用程序时,只需要一个DLL文件就可以了),注意不要勾选WITH_QT!!!。

    另外,为了将Contrib扩展库与OpenCV无缝整合,还需要设置OpenCV的外接模块路径,找到名为“OPENCV_EXTRA_MODULES_PATH”的选项,设置其值为“D:/Qt-OpenCV/Contrib-Souce/modules”。

     设置完成后,再次点击“Configure”按钮,界面上的红色加亮的选项全部消失,同时在下方信息栏中输出“Configuring done”;此时,点击“Generate”按钮,同时在下方信息栏中输出“Generating done”,表示编译选项全部配置完成。

     提示:如果此时CMake主界面上仍然存在红色加亮的选项,则表示配置过程发生异常。解决办法是,再次单击“Configure”按钮重新进行配置,直到所有的红色加亮的选项完全消失为止。

 

 五、开始编译

         所有的设置项都完成后,就可以开始编译了。打开Windows命令行,进入到事先建好的编译生成目标目录“D:\Qt-OpenCV\OpenCV-Build”下,输入编译命令:mingw32-make -j 8,启动编译过程,在进度显示100%时,出现“Built target opencv_model_diagnostics”信息,表示编译成功,如下图所示。

 

 六、安装OpenCV库

        编译完成后的OpenCV库必须在安装后才能使用,在命令行中输入:mingw32-make install,安装OpenCV库,如下图。

 

 进入“D:\Qt-OpenCV\OpenCV-Build\install”子目录,进入其中即“D:\Qt-OpenCV\OpenCV-Build\install\x64\mingw\bin”文件夹的所有文件就是编译安装好的OpenCV库文件。最终得到的OpenCV库如下图所示。

 

  七、遇到的坑

         1.设置编译选项时,若勾选“WITH_QT”,编译过程会出现如下错误信息而终止编译。所以,切记不能勾选“WITH_QT”!!!

          2.cmake中Configure时 ffmpeg.dll 下载一直失败(这会导致编译后的OpenCV无法用VideoCapture打开视频)等问题的解决方法可参考如下网址:

        https://wangjichuan.blog.csdn.net/article/details/110677323?spm=1001.2101.3001.6661.1&depth_1-utm_relevant_index=1

          3.编辑C:\Windows\System32\drivers\etc目录下的hosts文件,添加如下内容:

             2606:50c0:8002::154 raw.githubusercontent.com
             raw.githubusercontent.com 对应的具体内容可在 https://tool.chinaz.com/speedtest/gist.github.com测试后编写。

八、设置系统环境变量   

        1.创建系统环境变量“OPENCV_QT”。

 

 

 

       2.将新生成的“D:\Qt-OpenCV\OpenCV-Build\install\x64\mingw\bin”添加到Path变量。Qt、CMake、OpenCV环境变量设置如下图。

 

 

        3.在“D:\Qt-OpenCV\OpenCV-Build\install”目录下创建“opencv.pri”文件,内容如下。         

    # 用来描述构建项目时应该搜索的 include 目录。

    INCLUDEPATH += $$(OPENCV_HOME)include \

                                              $$(OPENCV_HOME)include\opencv \

                                    $$(OPENCV_HOME)include\opencv2

              # 用来描述项目引用的库文件列表。
              LIBS += $$(OPENCV_HOME)x64/mingw/lib/libopencv_*.a

         4.“D:\Qt-OpenCV\OpenCV-Build\install”目录,如下图。

 

 

八、测试程序

       1.在项目.pro文件中,引入.pri文件(复制粘贴如下内容即可)。  

# Qt + OpenCV 应用程序
OPENCV = $$(OPENCV_QT)
if(!isEmpty(OPENCV)) {
#include($$(OPENCV_QT)opencv.pri)
include($$(OPENCV_QT)opencv.pri)
} else {
error(OPENCV_QT does not exist!!!)
}

 

   

       2.main中代码:

 

 

        3.运行程序,显示图片:

 

posted on 2022-09-07 13:14  GoGrid  阅读(3432)  评论(0编辑  收藏  举报

导航