前不久弄了一个 win7下配置qt+opencv 注意事项 链接:http://blog.csdn.net/slamdunk006/article/details/50134811
这个事关于opencv2.4.4的,能用是能用,可惜,我需要用到最新的类库,所有又研究了一下如何将最新的opencv3.0(截止到发稿日,官方最新)集成进来。
不多说闲话了,直接弄了。。
还是跟之前一样,需要整三样东西(这个是针对初次安装的,如果已经安装过了,那就只需要下载opencv3.0即可),
1、在qt官网下载最新版本的qt creator ,链接http://www.qt.io/developers/,为何选择最新版本的呢,因为最新版本的保证你的编译opencv不会出现问题
2、在OpenCV官网下载opencv工具,链接http://opencv.org/ ,
3、CMake链接http://www.cmake.org/cmake/resources/software.html
安装qt 、opencv的解压、cmake的解压啥的就不说了,直接安装即可。
弄完前面三个东东,需要先配置一下QT的环境变量,
需要将qt路径加入环境变量,一共有2个地方,C:\Qt\Qt5.5.1\Tools\mingw492_32\bin;C:\Qt\Qt5.5.1\5.5\mingw492_32\bin;
弄完这个环境变量后,开始cmake操作。
b、选择configure按钮,弹出的对话框,配置如下图所示
c、点Next,分别选择gcc和g++路径:
d、点击finish。这里CMake会自动开始配置。出现如下图所示,
e、过程会出错,不用管,因为编译的是OpenCV3.0,所以不能勾选WITH_IPP
f、需要勾选WITH_OPENGL和WITH_QT
g、继续点击Configure,成功会如以下显示:
h、点击Generate,生成MakeFiles成功。
2.编译OpenCV
a、到c:\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)
b、打开cmd,进入刚才设置的build目标路径,输入mingw32-make命令开始编译(友情提示:此过程较为漫长,建议关掉杀毒软件可能会快些,在我的ThinkPad T410上耗时35分钟)
c、达到100%即完成。
3.配置环境
新建一个opencv3.0_use文件夹,按照a、b方式拷贝到这个文件夹里面
a、OpenCV3.0安装目录下的build/include目录
b、CMake目标build路径下,MinGW编译后的bin目录和lib目录
最终如下图所示
c、配置opencv3.0_use文件夹环境变量:将路径 C:\Qt\opencv3.0_use\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;
}
配置成功!~~~~~~~~~~~~~哈哈哈哈哈哈哈哈哈哈哈哈哈