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

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

安装CMake

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

在Qt5.9上搭建OpenCV4.2.0开发环境_第1张图片我下载的是红色框框的,安装步骤比较简单,下一步,下一步,只注意的是建议勾选(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库,下载如图
在Qt5.9上搭建OpenCV4.2.0开发环境_第2张图片记得是sources下面的版本(本人是基于window平台开发的),下载完成后解压即可,之后添加一个用于存放CMake编译后的安装文件夹,本人的为:CMakeOpenCVinstall,其路径是:D:\VisualStudio\OpenCV4\CMakeOpenCVinstall
然后修改OpenCV目录下的cap_dshow.cpp文件,
本人目录为:D:\VisualStudio\OpenCV4\install\opencv\sources\modules\videoio\src
添加下图中红色框框的宏定义
在Qt5.9上搭建OpenCV4.2.0开发环境_第3张图片
到官网找到并安装Pyhon,
在Qt5.9上搭建OpenCV4.2.0开发环境_第4张图片

编译(Configuration)

在Qt5.9上搭建OpenCV4.2.0开发环境_第5张图片将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
编译,我编译了差不多两个小时。
编译如下图所示
在Qt5.9上搭建OpenCV4.2.0开发环境_第6张图片
在Qt5.9上搭建OpenCV4.2.0开发环境_第7张图片
编译成功后会输出Built target opencv_version_win32,表示编译成功!否则可能还存在编译错误,需要解决。
然后输入mingw32-make install到命令窗口,即可完成安装!
安装成功后会在安装目录(之前建立的CMakeOpenCVinstall目录):D:\VisualStudio\OpenCV4\CMakeOpenCVinstall\install\x64\mingw\bin目录中生成许多dll文件与exe文件。
这些文件需要全部被拷贝到QT工程目录下的debug目录下
生成的文件:
在Qt5.9上搭建OpenCV4.2.0开发环境_第8张图片
最后在Qt的项目文件xxx.pro中添加如下代码:
在Qt5.9上搭建OpenCV4.2.0开发环境_第9张图片
本人安装的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程序啦!
在Qt5.9上搭建OpenCV4.2.0开发环境_第10张图片
代码如下:

#include "imgprocessor.h"
#include 

#include 
#include 
#include 
#include 
#include 
#include "opencv2\video\tracking.hpp"
#include 
#include "opencv2\objdetect\objdetect.hpp"
#include 
#include 
#include "opencv2/core/ocl.hpp"
#include 
#include 

#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();
}

注意图片的路径不能有中文字符,否则回报如下错误:
在Qt5.9上搭建OpenCV4.2.0开发环境_第11张图片
最后,Qt工程文件可到百度网盘:网盘链接
提取码:kjcy
下载。

你可能感兴趣的:(OpenCV)