之前一直基于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. 1045 access denied for user 'root'@'localhost' using password yes的解决方法

    今天把一个项目和项目的数据库都下载到了本地,安装好项目和在本地配置好数据库后,在浏览器登陆项目的后台却出现了以下错误:   后来上百度搜索了好几个答案,都是讲述修改数据库密码的步骤,但是就是没有说明为 ...

  2. springmvc+mybatis整合

    maven 依赖 <!-- springmvc --> <dependency> <groupId>org.springframework</groupId& ...

  3. ue4 c++ 接口

    使用UE4接口比起普通的高级语言,要多做很多工作,是因为要兼容蓝图的使用,有一些小坑需要注意,开始吧. 1.新建接口类 打开UE4编辑器,与往常一样,新建C++类,然后选择Object继承,然后取名字 ...

  4. js 中数字问题

    在js中请注意数字是没有长度的, 不能使用for循环遍历数字的长度 操作时通过.toString()把数字转换成字符串后通过字符串的.length 属性得到长度

  5. NodeJs 连接mysql一例。

    var mysql = require('mysql'); var connection = mysql.createConnection({ host :'127.0.0.1', user :'ro ...

  6. Django 之Model(ORM)

    app01.models.py中写类 python manage.py makemigrations python manage.py migrate python3 manage.py create ...

  7. C++中extern关键字用法小结

    总结C++中关于extern关键字的用法. 1.变量的生明和定义中 C++语言支持分离式编译机制,该机制允许将程序分割为若干个文件,每个文件可被独立编译.为了将程序分为许多文件,则需要在文件中共享代码 ...

  8. 1-13 代理ARP和RARP

    一.代理ARP(Proxy ARP) 因为路由器有阻住广播的作用,如果我们要访问一台远端的主机,那么我们封装的并不是远端的目的MAC地址,而是我们网关的MAC地址. 当我们的网关出现故障,就需要给他重 ...

  9. Redis从基础命令到实战之列表类型(List)

    经过上一篇基于Redis散列类型的改造后,实战练习中的商品管理已经具备了增加.修改整体.修改部分属性和分页查询功能,但仍然不支持删除商品的功能.这是因为商品总数是以一个自增数字记录的,且关联了新商品k ...

  10. jQuery MiniUI Demo

    http://www.miniui.com/demo/#src=datagrid/datagrid.html