qt-opencv配置mingw编译器

QT - OpenCV的安装与配置

 
想在QT中使用OpenCV来实现连续图片转成视频的功能,于是打上了OpenCV的主意
安装OpenCV的过程也是充满了曲折,但是最终还是安装成功了,现记录安装过程,以防系统重装后傻眼。
 
感谢以下前辈的分享:
 
 
本机已经安装QT 5.4.0
如果你喜欢64bit QT,那么 QT的下载地址是: http://sourceforge.net/projects/qtx64/?source=typ_redirect
 
从OpenCV下载有OpenCV 3.0.0-beta
OpenCV官网: http://opencv.org/
 
从CMake下载cmake-3.2.0-rc2
安装CMake的的时候,注意安装路径不能有中文和空格, 在安装过程中,勾选加入所有环境变量()
 
以上步骤完成后,开始配置环境变量
主要是将 E:\Qt\QT-5.4.0-Rel-MinGW491\Tools\mingw491_32\bin 添加到系统环境变量中
 
1.生成Makefiles
打开CMake,配置源码路径和生成物的目标路径:
技术分享
 技术分享
 
点击Configure,在弹出的框中选择MinGW Makefiles ,并勾选 Specify native compilers:
技术分享
技术分享
 
接着配置C和C++编译器路径:
技术分享
技术分享
 
点击finish。这里CMake会自动开始配置。
过程会出错,因为编译的是OpenCV3.0,所以不能勾选WITH_IPP:
技术分享
技术分享
 
然后勾选WITH_OPENGL和WITH_QT
 
 
继续点击Configure,成功会如以下显示:
技术分享
技术分享
 
点击Generate,生成MakeFiles成功。
 
 
2.编译OpenCV
到 E:\OpenCV\source\opencv-3.0.0-beta\sources\cmake 下找到 OpenCVCompilerOptions.cmake
技术分享
技术分享
 
打开它并找到
add_extra_compiler_option(-Werror=non-virtual-dtor)
将它注释掉,变成:
#add_extra_compiler_option(-Werror=non-virtual-dtor)
(以上这一步是为了规避掉我在编译过程中遇到的问题)
 
返回到:E:\OpenCV\source\opencv-3.0.0-beta
在这个路径下按住键盘的shift键,然后右键鼠标,打开cmd窗口:
技术分享
技术分享
 
在命令行输入 mingw32-make
 
这个过程比较久,大概30分钟,因电脑而异。编译完成后,如下图示。然后输入 mingw32-make install 进行安装:
技术分享
 
技术分享
 
大约两分钟后,安装完成。
 
3.配置环境
技术分享
技术分享
将include文件夹复制到一个自定义路径中:  E:\OpenCV\necessary_file
 
-2.CMake目标路径 下的bin文件夹
技术分享
技术分享
复制到 :  E:\OpenCV\necessary_file
 
-3.CMake目标路径 下的lib文件夹
技术分享
技术分享
复制到 :  E:\OpenCV\necessary_file
 
最后文件:  E:\OpenCV\necessary_file  应该如下示:
 技术分享
技术分享
 
 
然后将路径 E:\OpenCV\necessary_file\bin  添加到系统环境变量中。
 
 
到此QT Creator下的OpenCV开发环境已经配置好,剩下的就是测试是否配置成功。
 
新建一个空的工程 OpenCV_Test.pro
在里面添加:
INCLUDEPATH+=E:/OpenCV/necessary_file/include/opencv 
             E:/OpenCV/necessary_file/include/opencv2 
             E:/OpenCV/necessary_file/include
LIBS += -L LIBS += -L E:/OpenCV/necessary_file/lib/libopencv_*.a

在main.cpp里添加:

#include "cv.h"
#include "cxcore.h"
#include "highgui.h"

int main(int argc, char *argv[])
{
    //声明IplImage指针
    IplImage *pImg;
    //载入图片
    pImg = cvLoadImage("E:/Qt/image/bg/1d60857569.jpg", 1);
    //创建窗口
    cvNamedWindow("Image",1);
    //显示图像
    cvShowImage("Image",pImg);
    //等待按键
    cvWaitKey(0);
    //销毁窗口
    cvDestroyWindow("Image");
    //释放图像
    cvReleaseImage(&pImg);

    return 0;
}

实现的效果为:
技术分享
技术分享
 
配置成功!

posted on 2015-10-10 16:35  luoru  阅读(413)  评论(0编辑  收藏  举报

导航