之前一直基于Windows平台(Win 7 32bit)使用VS2010做OpenCV的开发,现在开始学习在Windows 下使用Qt做OpenCV的开发。本文主要讲述Windows平台下(Win 7 32bit)下Qt5.5.0和OpenCV2.4.9环境的搭建。在此之前,我已安装好Qt5.5.0(with MinGW492)和OpenCV2.4.9(for Windows),并且配置好了它们的环境变量。

开发工具安装

  • Qt 5.5.0(qt-opensource-windows-x86-mingw492-5.5.0.exe)
  • OpenCV 2.4.9
  • CMake

生成Qt版OpenCV的安装工程

  现在我们使用CMake生成Qt版本OpenCV的安装工程,我使用的CMake版本是CMake 3.5.1。

(1)启动CMake,输入源地址和目标地址(我的目标地址是自己在OpenCV的安装目录下新建的名为build_qt5的文件夹),执行Configure,如下图所示。

  

(2)确定没有错误后,执行Generate,完成后会在D:\OpenCV249\build_qt5目录下生成Qt版OpenCV的安装工程。

安装OpenCV

(1)Generate完成后,关闭CMake窗口。在D:\OpenCV249\build_qt5目录下,通过CMD控制台窗口执行mingw32-make命令,编译刚才生成的工程。这会需要一段时间,在我电脑上大约用了20分钟。

  

  

(2)上一步执行完后,再在该命令行窗口执行mingw32-make install命令。

(3)添加环境变量,将bin文件夹所在的路径(如下)添加到Path变量中。

D:\OpenCV249\build_qt5\bin

新建Qt工程

(1)安装好OpenCV后,新建Qt工程,我建立的是Qt控制台工程,测试OpenCV环境搭建是否正确。

(2)在工程的pro文件中,添加OpenCV的include路径和lib路径,如下所示。

INCLUDEPATH +=   D:\OpenCV249\build\include\

LIBS += D:\OpenCV249\build_qt5\lib\libopencv_calib3d249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_contrib249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_core249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_features2d249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_flann249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_gpu249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_highgui249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_imgproc249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_legacy249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_ml249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_objdetect249.dll.a\
D:\OpenCV249\build_qt5\lib\libopencv_video249.dll.a

(3)在main函数中添加如下代码:

//read a image
Mat image= cv::imread("C:\\Users\\Gordon\\Desktop\\OpenCVTest\\test.jpg",);
// avoid mem error
if (image.empty())
{
namedWindow("can not find image : img.jpg");
waitKey();
return -;
}
//creat image windows named "My Image"
namedWindow("My Image",);
//show the image on window
imshow("My Image",image);
//wait key for 5000ms
waitKey();

(4)构建、运行工程,效果如下图所示。

  

参考文献

  [1] Win7下qt5.3.1+opencv2.4.9编译环境的搭建 http://blog.csdn.net/zhaocj/article/details/38944037

Win7(32bit)下Qt5.5.0和OpenCV2.4.9环境的搭建的更多相关文章

  1. VS2017与Qt5.7.0(静态库)环境基本配置

    **************************************************************************************************** ...

  2. Win7 32bit下一个hadoop2.5.1源代码编译平台的搭建各种错误遇到

    从小白在安装hadoop困难和错误时遇到说起,同时,我们也希望能得到上帝的指示. 首先hadoop更新速度非常快,最新的是hadoop2.5.1,因此就介绍下在安装2.5.1时遇到的各种困难. 假设直 ...

  3. windows下Qt5.1.0配置android环境搭建 good

    1.首先下载好需要配置的软件: 1>Qt 5.1.0 for Android (Windows 32-bit, 716 MB)(Info)下载地址: http://qt-project.org/ ...

  4. win7系统下MongoDB 4.0.1的安装

    环境: win7 - 64位系统 MongoDB下载地址: https://www.mongodb.com/download-center#community 版本: 4.0.1 安装步骤: 选择cu ...

  5. CentOS6.2下Qt5.1.0无法输入中文

    因为在程序中需要在界面上输入中文,但是系统是英文系统,没有预装中文输入法,于是从网上搜了一下输入法的安装,但是输入法安装好之后,可以再系统中输入中文,但是却无法再Qt中输入中文,只能继续找解决办法 安 ...

  6. Win7下Qt5.2中使用OpenGL的glu函数库无法使用的解决方案

          最近在Window7使用Qt5.2学习OpenGL时,出现了以OpenGL中glu开头的函数库无法使用的错误,例如: 'gluPerspective'  was not declared ...

  7. Qt5.5.0在Linux下静态编译(加上-fontconfig编译项才能显示中文) good

    测试系统环境:Ubuntu12.04 (32bit/64bit)编译软件环境:QT5.5.0   本文章主要介绍Linux下QT静态编译环境的搭建,以及如何编译我们的程序board_driver. 1 ...

  8. Win7 64下Visual C++ 6.0不兼容

    Win7 64下Visual C++ 6.0不兼容 安装VSE6.0: 1.运行setup.exe安装程序,会弹出如下的的 程序兼容性助手 提示框,这个是Win7在警告用户vc6存在兼容性问题:此程序 ...

  9. win7下Qt5使用mysql C++编程配置

    先下载mysql的库文件链接:http://files.cnblogs.com/files/xiaobo-Linux/mysql.zip 把两个文件放入 Qt目录\Qt5.5.0\5.5\mingw4 ...

随机推荐

  1. JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍

    这里是javascript中制作滚动代码的常用属性 页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见 ...

  2. 查看python api

    以下方法可以查看python 的api,包括selenium webdriver,requests等 1.cmd进入dos命令行窗口,输入python -m pydoc -p 2345   (2345 ...

  3. tp框架总结(三)

    一.跨模块的调用 class IndexAction extends Action{ public function index(){ $user = new UserAction();   // 类 ...

  4. EUI List列表实现人物列表

    一  Scroll+List ,拖动组件到exml. List不能写定高度,不然无法自动扩展.  二 新建List条目皮肤, ListItemSkin皮肤 名字Label的文本{data.name} ...

  5. 页面可见生Page Visibility

    Page Visibility 会在浏览器的 document 对象上添加两个属性 hidden 和 visibilityState .如果当前的标签被激活了,那么 document.hidden 的 ...

  6. jquery实现章节目录效果

    <html><head><title>jquery实现章节目录效果</title> <script type="text/javascr ...

  7. PHP审计小记

    /* 在漏洞时代看了一篇文章,说到一个通用函数如何绕过.那么我就来看看这套程序 */ foreach($_REQUEST as $_k=>$_v) { if( strlen($_k)>0 ...

  8. (int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别

    C#中(int).int.Parse().int.TryParse()和Convert.ToInt32()的区别   原文链接:http://www.cnblogs.com/leolis/p/3968 ...

  9. ajax data传值

    如果要我们要把整个form1表单中的输入框都传过去可以用data:$("#form1").serialize(), 但是我们如果还要传一个不在form中的值呢? 可以使用下面这种方 ...

  10. Python全栈开发day5

    一.lambda表达式 对于简单的函数,存在一种简便的表示方式,即:lambda表达式 1 2 3 >>> shaw = lambda x,y:x + y >>> ...