QT 5.3.2+OpenCV3.0的安装与配置
(win8 64 bit + OpenCV3.0 + minGW32)
原文链接:http://blog.163.com/nuc_baixu/blog/static/25124607820159149235731/
小编经过好几天的忙碌,终于将opencv3.0配置到opencv,在这里分享一些经验,避免大家像我一样,在配置上浪费太多时间,如果有不对的地方,请大神指教。
需要的资源:
1.下载并安装qt,没有Qt的可以在我的百度网盘下载或者去官网下载,我用的是Qt5.3.2的版本,Windows8.1-64位环境下。
我的网盘地址:http://pan.baidu.com/s/1kT6FlKr
2.下载并安装opencv3.0。Opencv官网:http://opencv.org/
3.下载并安装cmake,在下载cmake之前先打开opencv的makelist看看需要的camke的版本,我看过了opencv3.0,是在cmake2.8.8环境下编译的,所以建议大家安装cmake2.8.8.
Camke可以到我的百度网盘下载:
http://pan.baidu.com/s/1o6zN04i
安装过程:
1.安装Qt,把安装目录下的bin文件夹所在的位置添加到环境变量中,需要注意的是环境变量需要在英文状态下用分号隔开,否则系统找不到你的环境变量。我的配置 是这样的:
D:\Qt\5.3\mingw482_32\bin;
D:\Qt\Tools\mingw482_32\bin;
D:\Qt\Tools\mingw482_32\i686-w64-mingw32\bin;
安装opencv3.0
安装好之后,会在安装路径下找到opencv的文件夹。
-
安装camke2.8.8
选择第二个,添加环境变量
-
在安装目录下打开cmake
Where is source code :选择你安装的opencv路径:(我安装的是F:/opencv)选择source目录
Where is to build the binaries:
自己可以建立一个文件夹,用来存放make后的文件(我用F:/opencv3.0_build)
然后点击左下角的configure,会出现如下对话框:
选择下拉下单的mingw makefiles,因为安装qt时,qt自带了mingw 工具了,
(如果安装qt时,没有安装mingw,则需要自己下载安装,安装后添加好环境变量)
选择specify native compilers然后会弹出对话框:
c:选择qt'安装目录下tools下mingw下边的gcc.exe
c++:选择这个目录下的g++.exe
然后点击finish,出现对话框
可以点击group和advanced:
编译完成后:点击with
去掉with_ipp,勾选with_qt,和with_opengl,如下图
勾选后再次点击configure',编译后如图:
然后可以点击generate
这样就完成了camke
打开源文件(就是最原始的那个安装opencv的目录)目录下source目录下cmake目录下的
Opencvcompileroptions.cmake(用写字板打开)
找到这块代码
将划线的代码注释掉(在这行代码前加#)如图:
然后找到我们cmake的目标文件夹(我这里是opencv3.0_build),按住shift键点击鼠标右键,选择在此处打开命令行窗口:如下图
输入mingw32-make
然后开始漫长的等待,大概半个小时
编译完成后,如果不出错:
在当前命令行窗口继续输入:mingw32-make install
基本工作已经完成了。
找到我们cmake的目标文件夹,找到install文件,将文件夹下的include文件夹考到一个自定义的文件夹,同时将目标文件夹下的lib和bin文件将拷贝到自定义的文件夹:
如上图:
然后将该路径下bin文件的路径添加到环境变量中
到目前目前为止,配置工作已经完成。
然后打开qt,建立一个新的工程,在pro文件中添加我们的编译文件:
然后在mian.cpp中写个测试代码:
#include "cv.h"
#include"highgui.h"
#include "cxcore.h"
#include"windows.h"
int main()
{
IplImage *img=NULL;
img=cvLoadImage("E:/Qt/1.jpg",0);
cvNamedWindow("Image",1);
cvShowImage("image",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Image");
}
这个代码不要在win8环境下测试,编译能通过,但是程序不能执行,如下图:
我也不知道什么原因,大家可以在win7下试试。
如果到目前为止大家还不能使用opencv,那我再给大家一个好东西:
Qt中使用opencv,我可以把我的编译好的opencv代码分享给大家,大家下载后直接放到E盘,将bin文件夹所在的路径添加到系统环境变量中。在qt的pro写入includepath和libs就直接能用了。
下载地址:http://pan.baidu.com/s/1qW5Pb0C,
这个盘里我放了两个编译好的opencv:一个是opencv2.3,一个是opencv3.0,大家喜欢用哪个就选哪个好了。