在Qt5.9上搭建OpenCV4.2.0开发环境

在Qt5.9上搭建OpenCV4.2.0开发环境

安装CMake

在一年前我就打算在QT平台上搭建OpenCV开发环境,但是对于我来说还是有一定难度的,直到现在才搭建成功。
首先需要下载CMake,大家可以到官网[添加链接描述](https://cmake.org/download/)下载CMake,如下图所示

在这里插入图片描述我下载的是红色框框的,安装步骤比较简单,下一步,下一步,只注意的是建议勾选(Add CMake to the system PATH for all users),安装完成后需要设置系统环境变量,我的设置的是:D:\Qt\CMake\install\bin,然后设置Qt的系统环境变量:D:\Qt\Qt5.9\install\Tools\mingw530_32\bin;D:\Qt\Qt5.9\install\Tools\mingw530_32\lib;D:\Qt\Qt5.9\install\5.9\mingw53_32\bin
这个是我的qt安装目录,大家可以根据自己的安装目录设置。

下载OpenCV4.2.0

我下载的是目前最新版本的OpenCV库,下载如图
在这里插入图片描述记得是sources下面的版本(本人是基于window平台开发的),下载完成后解压即可,之后添加一个用于存放CMake编译后的安装文件夹,本人的为:CMakeOpenCVinstall,其路径是:D:\VisualStudio\OpenCV4\CMakeOpenCVinstall
然后修改OpenCV目录下的cap_dshow.cpp文件,
本人目录为:D:\VisualStudio\OpenCV4\install\opencv\sources\modules\videoio\src
添加下图中红色框框的宏定义
在这里插入图片描述
到官网找到并安装Pyhon,
在这里插入图片描述

编译(Configuration)

在这里插入图片描述将opencv的Sources文件与之前建立的CMakeOpenCVinstall文件夹路径添加到上图对应的位置,然后点击configure,在弹出的界面中选择:Specify native compiles选项,并选择MinGW Makefiles,在之后弹出的对话框中填入qt安装路径下的gcc与g++编译器,本人的路径是:D:\Qt\Qt5.9\install\Tools\mingw530_32\bin
其中有gcc与g++编译器,要选中。然后点击configure,之后在name中必须勾选WITH_OPENGL与WITH_QT,然后继续点击configure直到没有红色条出现,最后点击Generte按钮。

安装

打开windoows的CMD命令窗口输入mingw32-make
编译,我编译了差不多两个小时。
编译如下图所示
在这里插入图片描述
在这里插入图片描述
编译成功后会输出Built target opencv_version_win32,表示编译成功!否则可能还存在编译错误,需要解决。
然后输入mingw32-make install到命令窗口,即可完成安装!
安装成功后会在安装目录(之前建立的CMakeOpenCVinstall目录):D:\VisualStudio\OpenCV4\CMakeOpenCVinstall\install\x64\mingw\bin目录中生成许多dll文件与exe文件。
这些文件需要全部被拷贝到QT工程目录下的debug目录下
生成的文件:
在这里插入图片描述
最后在Qt的项目文件xxx.pro中添加如下代码:
在这里插入图片描述
本人安装的opencv的路径是:D:\VisualStudio\OpenCV4\install,读者可以找到自己的路径

INCLUDEPATH  +=\
D:\VisualStudio\OpenCV4\install\opencv\build\include \
D:\VisualStudio\OpenCV4\install\opencv\build\include\opencv2 \
D:\VisualStudio\OpenCV4\CMakeOpenCVinstall\install\include
LIBS+=D:\VisualStudio\OpenCV4\CMakeOpenCVinstall\install\x64\mingw\bin\libopencv_*.dll

其中install\x64\mingw\bin\libopencv_*.dll表示所有通过CMake安装后的库文件,全部包含进来。

Qt Creator编译运行

通过以上步骤后,便可在Qt上面运行OpenCV程序啦!
在这里插入图片描述
代码如下:

#include "imgprocessor.h"
#include <QApplication>

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2\opencv.hpp>
#include <ctype.h>
#include "opencv2\video\tracking.hpp"
#include <opencv2\video\video.hpp>
#include "opencv2\objdetect\objdetect.hpp"
#include <opencv2\features2d\features2d.hpp>
#include <opencv2\video\tracking.hpp>
#include "opencv2/core/ocl.hpp"
#include <WINSOCK2.H>
#include <opencv2\dnn.hpp>

#pragma comment(lib,"ws2_32.lib")

using namespace cv;
using namespace cv::ml;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    ImgProcessor w;
    w.setMinimumSize(800, 650);
    QFont f("ZYSong18030", 12);
    a.setFont(f);

    //Mat src = imread("C:\\Users\\杨大侠\\Pictures\\Camera Roll\\65054aa47b30b46e15bb19d1c42ff9e9.jpg");
    Mat src = imread("D:\\Qt\\Program\\ImageProcessor\\image\\65054aa47b30b46e15bb19d1c42ff9e9.jpg");
    namedWindow("input_image", WINDOW_AUTOSIZE);
    Mat dst;

    resize(src, dst, Size(800, 650));
    imshow("input_image", dst);

    w.show();

    return a.exec();
}

注意图片的路径不能有中文字符,否则回报如下错误:
在这里插入图片描述
最后,Qt工程文件可到百度网盘:网盘链接
提取码:kjcy
下载。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鲲君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值