QT5.8+OpenCV3.2的安装与配置

来源:互联网 发布:阿里云 发票抬头 编辑:程序博客网 时间:2024/05/21 15:17

QT5.8+OpenCV3.2的安装与配置(win7_X64+Qt_5.8.0+opencv_3.2.0)

一、安装QT 5.8.0

安装在: C:\Qt\Qt5.8.0
QT下载地址: http://download.qt-project.org/official_releases/
下载:qt-opensource-windows-x86-mingw530-5.8.0.exe

二、安装opencv

OpenCV官网: http://opencv.org/
下载OpenCV 3.2.0
解压至: E:\opencv3.2\opencv\

三、安装cmake

从CMake下载cmake-3.8.0-win64-x64.msi

安装至: C:\Program Files\CMake

CMake下载地址: http://www.cmake.org/cmake/resources/software.html

安装CMake的的时候,注意安装路径不能有中文和空格, 在安装过程中,勾选为所有用户加入到环境变量()

四、配置环境变量

主要是将C:\Qt\Qt5.8.0\Tools\mingw530_32\bin 添加到系统环境变量中。
1.生成Makefiles
打开CMake,配置源码路径和生成物的目标路径:
源码路径: E:\opencv3.2\opencv\sources
目标路径: F:\opencv3.2
点击Configure,在弹出的框中选择MinGW Makefiles ,并勾选 Specify native compilers.
接着配置C和C++编译器路径:
C: C:\Qt\Qt5.8.0\Tools\mingw530_32\bin\gcc.exe
C++: C:\Qt\Qt5.8.0\Tools\mingw530_32\bin\g++.exe​
点击finish。这里CMake会自动开始配置。
报错
将value值分别修改为:

C:/Qt/Qt5.8.0/5.8/mingw530_32/bin/qmake.exe

C:/Qt/Qt5.8.0/5.8/mingw530_32/lib/cmake/Qt5Concurrent

C:/Qt/Qt5.8.0/5.8/mingw530_32/lib/cmake/Qt5Core

C:/Qt/Qt5.8.0/5.8/mingw530_32/lib/cmake/Qt5Gui

C:/Qt/Qt5.8.0/5.8/mingw530_32/lib/cmake/Qt5Test

C:/Qt/Qt5.8.0/5.8/mingw530_32/lib/cmake/Qt5Widgets

然后勾选WITH_OPENGL和WITH_QT

再次报错,将value值继续修改为
C:/Qt/Qt5.8.0/5.8/mingw530_32/lib/cmake/Qt5OpenGL
继续点击Configure,会有成功的提示。
点击Generate,生成MakeFiles成功。​
2.编译OpenCV
到 E:\opencv3.2\opencv\sources\cmake 下找到 OpenCVCompilerOptions.cmake
它并找到
add_extra_compiler_option(-Werror=non-virtual-dtor)
将它注释掉,变成:

#add_extra_compiler_option(-Werror=non-virtual-dtor)

(以上这一步是为了规避掉我在编译过程中遇到的问题)
返回到:F:\opencv3.2在这个路径下按住键盘的shift键,然后右键鼠标,打开cmd窗口,在命令行输入 mingw32-make
这个过程比较久,大概30分钟,因电脑而异。编译完成。
然后输入 mingw32-make install 进行安装:
大约一分钟后,安装完成。
3.配置环境
A.找到路径 : E:\opencv3.2\opencv\build\include
将include文件夹复制到一个自定义文件夹中
B.CMake目标路径 下的bin文件夹
复制到上面的文件夹
C.CMake目标路径 下的lib文件夹
同上复制
最后自定义文件夹中应该如下示:
然后将文件夹下的bin路径添加到系统环境变量中。
到此QT Creator下的OpenCV开发环境已经配置好,剩下的就是测试是否配置成功。

五、测试

新建一个空的工程 OpenCV_Test.pro
在里面添加:

INCLUDEPATH+=E:\opencvForQT\includeINCLUDEPATH+=E:\opencvForQT\include\opencvINCLUDEPATH+=E:\opencvForQT\include\opencv2LIBS += -L E:\opencvForQT\lib\libopencv_*.a

在mainwindow.h里添加:

#include <opencv2/opencv.hpp>using namespace cv;//定义全局变量cv::Mat image;

在mainwindow.cpp中添加button响应函数如下

void MainWindow::on_openImgPushButton_clicked(){    QString fileName = QFileDialog::getOpenFileName(this,tr("Open Image"),                                   ".",tr("Image Files (*.png *.jpg *.bmp)"));       qDebug()<<"filenames:"<<fileName;//文件名不能有中文字       //String str=fileName.toStdString();       image = cv::imread(fileName.toStdString(),1);       displayMat(image);//QLabel+QScrollarea显示Mat图像的函数,下一篇博文涉及}

实现的效果为:
QLabel+QScrollarea显示Mat图像
配置成功!

13 0
原创粉丝点击