QT - OpenCV的安装与配置 (win7 64 bit + OpenCV3.0 + minGW32)
时间:2015-03-05 23:39:49
收藏:0
阅读:19126
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;
}
实现的效果为:
配置成功!
评论(0)