Win7下 OpenCV+Qt开发环境搭建
1、所需软件工具:
(1)OpenCV开发库,2.4.9版;包括源文件(source文件夹)和编译后的文件(build文件夹),但最好自己使用CMake又一次编译。否则easy出错。
(2)Qt Creator,在官网下载最新版的,选择MinGW版本号。
(3)CMake,官网下载最新版。
2、安装OpenCV。即将源文件和编译后文件,解压到文件夹:
F:\ProgramFiles\programme\openCV\openCV249
当中包括两个文件夹:build(编译后文件)和sources(源码文件夹)。
3、安装Qt。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(1)安装时,须要勾选上“MinGW4.8”,默认没有勾选。
(2)安装完毕,将Qt的3个环境变量增加“系统环境变量”Path:
F:\ProgramFiles\programme\Qt\Qt560\Tools\mingw492_32\bin(gcc编译器所在路径,请依据自己所选安装文件夹选择);
F:\ProgramFiles\programme\Qt\Qt560\5.6\mingw49_32\bin(增加该路径。是避免MinGW Config时报错)
F:\ProgramFiles\programme\Qt\Qt560\Tools\mingw492_32\i686-w64-mingw32\lib(增加该路径,是避免MinGW Config时报错)
(3)注意Qt全然安装,所占磁盘空间非常大。达到了5G以上,注意安排足够的磁盘空间以免空间不足导致安装失败。
4、安装CMake,并使用CMake控制OpenCV的编译过程。
(1)配置编译环境,“Configure”,然后选择“MinGW Makefiles”,默认选项“Use default native
compilers”(让MinGW通过系统环境变量找到gcc和g++编译器。)
(2)设置要编译的OpenCV“源文件路径”和生成的“目标路径”。例如以下图。
(3)CMake编译结束后,勾选生成列表中的选项“WITH_OPENGL”和“WITH_QT”,其它项最好不要动。
(4)再次点击“Configure”button。红色消失。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(5)点击“Generate”button,生成makefile文件。成功后,底下会提示Generating done。
(出现红色警告。能够忽略。
。。)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(6)打开cmd。进入刚才设置的目标路径
(F:\ProgramFiles\programme\openCV\buildBin),输入“mingw32-make”命令開始编译。此过程较长,须要30分钟左右。
(7)运行安装命令“mingw32-make install”,此过程较快,大约须要1到2分钟。
5、配置Qt Creator的OpenCV开发环境
(1)将步骤4中编译生成的“目标路径”中的文件夹(bin和lib文件夹)和OpenCV安装文件夹下的“build/include”文件夹放在一个文件夹下。(目标路径中的其它文件夹已经不须要,能够删除。)例如以下。将文件夹
“F:\ProgramFiles\programme\openCV\openCV249\opencv\build\include”放到目标路径文件夹“F:\ProgramFiles\programme\openCV\buildBin”下。
(2)将目标路径的bin文件夹。加入到“系统环境变量Path”中。
“F:\ProgramFiles\programme\openCV\buildBin\bin”。
6、至此,Qt Creator下的OpenCV开发环境已经配置好。
以下在Qt
Creator下測试是否已配置成功。
(1)打开Qt Creator。新建一个空project,然后加入一个cpp文件main.cpp。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(2)在pro文件里加入例如以下OpenCV的依赖文件
INCLUDEPATH+=F:\ProgramFiles\programme\openCV\selfBin\include\opencv\
F:\ProgramFiles\programme\openCV\selfBin\include\opencv2\
F:\ProgramFiles\programme\openCV\selfBin\include
LIBS+=F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_calib3d244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_contrib244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_core244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_features2d244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_flann244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_gpu244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_highgui244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_imgproc244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_legacy244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_ml244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_objdetect244.dll.a\
F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_video244.dll.a
事实上有种简单的做法。可是有个缺点是可能包括链接库较多(亲測,这样的方法没有成功。)
INCLUDEPATH+=F:\ProgramFiles\programme\openCV\selfBin\include\opencv\
F:\ProgramFiles\programme\openCV\selfBin\include\opencv2\
F:\ProgramFiles\programme\openCV\selfBin\include
LIBS+=F:\ProgramFiles\programme\openCV\selfBin\lib
(3)main.cpp文件里内容例如以下:
#include"cv.h"
#include"cxcore.h"
#include"highgui.h"
intmain(intargc,char*argv[])
{
//声明IplImage指针
IplImage*pImg;
//加载图片
);
//创建窗体
);
//显示图像
cvShowImage("Image",pImg);
//等待按键
);
//销毁窗体
cvDestroyWindow("Image");
//释放图像
cvReleaseImage(&pImg);
;
}
(3.4)执行程序。可看到图片展示。
Win7下 OpenCV+Qt开发环境搭建的更多相关文章
- win7下 go语言开发环境搭建(64bit)
Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程 ...
- Zynq7000开发系列-6(QT开发环境搭建:Ubuntu、Zynq)
操作系统:Ubuntu14.04.5 LTS 64bit Qt:Qt 5.4.2 (qt-opensource-linux-x64-5.4.2.run.qt-everywhere-opensource ...
- Qt开发环境搭建 - Windows + VS2010 + VS插件
Qt 开发环境搭建 - Windows+VS2010+VS插件 1.Qt在Windows平台下的三种开发环境 方案 编辑器 编译器 调试器 一 Qt Creator MinGW GDB 二 Qt Cr ...
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题) 网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...
- 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...
- windows下vue.js开发环境搭建教程
这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...
- qt学习教程1.qt开发环境搭建
qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...
- Sublime Text 3下C/C++开发环境搭建
Sublime Text 3下C/C++开发环境搭建 之前在Linux Mint 17一周使用体验中简单介绍过Sublime Text. 1.Sublime Text 3安装 Ubuntu.Linux ...
- 阿里云ACE下的PHP开发环境搭建
阿里云ACE下的PHP开发环境搭建 本系列文章由ex_net(张建波)编写.转载请注明出处. http://blog.csdn.net/ex_net/article/details/23999053 ...
随机推荐
- 【转载】C/C++语言分析 & 每年学一种编程语言 & git历史
http://blog.csdn.net/turingbook/article/details/1778867 <程序员修炼之路>英文注释版 作者提出的经营之道是:——Invest Reg ...
- 各种语言性能(CPU密集型程序)比较
都进行Fib数列计算,计算到n=40的计算时间: 注意:开始,我以为上图中的第二列就是代表C++的性能.但是现在发现,完全不正确. 如果你使用同样的抽象和同样的逻辑去实现同样的代码,C和C++的性能几 ...
- centos7 安装selenium和firefox
之前有一篇文章介绍过在ubuntu下安装selenium和firefox 现在介绍下centos7 注意以下都是下载的linux64位的软件,32位的请自己找下链接, 现在使用的python的版本是3 ...
- jquery触发/失去焦点事件
触发焦点: $("Element").focus() 触发每一个匹配元素获得焦点事件. $("Element").focus(function) 事件会在获得焦 ...
- 腾讯技术分享:Android版手机QQ的缓存监控与优化实践
本文内容整理自公众号腾讯Bugly,感谢原作者的分享. 1.问题背景 对于Android应用来说,内存向来是比较重要的性能指标.内存占用过高,会影响应用的流畅度,甚至引发OOM,非常影响用户体验.因此 ...
- js实现全选,全不选,反选
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- STL源码剖析(算法)
STL中算法是基于迭代器来实现的. 有了容器中迭代器的实现(对operator*.operator++等的重载),STL中大部分算法实现就显得很简单了. 先看一例关于find算法的实现: templa ...
- Visual studio之C#跨线程调用UI控件
背景 当前串口通讯项目,多个线程需要同时利用richTextBoxMsg控件打印信息,直接调用会造成线程不安全,严重的时候会直接导致UI线程挂掉,因此本篇就跨线程调用UI控件做个记录. 正文 定义控件 ...
- JDBC:数据库操作:处理大对象CLOB数据
目标: 了解大对象处理基本原理, 掌握CLOB数据的读,写操作. 可以使用CLOB类处理大文本数据. 大对象处理主要指CLOB和BLOB两种类型字段.可以大量存储文字. 要想在程序中处理这样的大数据操 ...
- 深入理解linux系统的目录结构
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...