OpenCV+QT开发环境(一):Windows环境
最近在学习openCV的开发。在搭建开发环境的时候,着实废了不少功夫,找了大量的文章资料。其实主要的开发还是在linux系统上的openCV,但是为了方便,我还是在windows上也搭建了开发环境,这样在进行简单的程序验证的时候,可以直接在windows下进行,而不需要打开虚拟机或者进入linux系统(如果装了双系统的话)。因为windows下还是有不少好用的工具的。
在此之间,我从来不知道装软件还有这样的装法。主要指的是openCV库的生成。虽然在官网上下载得到的文件中已经包含了库文件和.h等头文件,但是在具体开发中编译器编译好了源文件都会和库文件去进行链接,这就导致了一个问题就是不同的编译器可能需要不同的库(适应编译器、编译环境的库)。所以,建议在下载得到源文件之后,用指定的编译器重新编译。编译后产生的库和.h文件就可以放心得使用了。
一、QT安装
qt project官网:http://qt-project.org/downloads,QT目前的最新版本是QT5.2.1。
QT的安装有多种方式:1.采用gcc编译器 2.采用visual studio的编译器
在第1种方式中,采用gcc编译器,需要下载的文件是:
下载好这个文件,直接双击运行就行了,安装过程非常傻瓜式。这个文件已经内部集成了QT creator,mingw安装好之后,将路径下的tools\mingw48_32路径下的的bin文件夹的绝对路径添加到环境变量中的Path变量下面,与该变量的其他路径用分号隔开。例如:;...\Qt\Qt5.2.1\Tools\mingw48_32\bin。之所以需要将bin这个文件夹添加到path环境变量中,是因为这个文件下含有gcc,g++编译器,链接器等。在之后命令行下编译openCV源文件需要用到。
有些人想安装QT4,比如我第一次安装时安装的就是QT4。那么需要下载的文件是:
在第2中方式中,采用visual stdio的编译器,首先你的电脑上需要安装有visual studio。需要下载的文件是:
- Visual Studio Add-in 1.1.11 for Qt4 (supports versions 2005, 2008 and 2010, does not work with the Express edition)
- Visual Studio Add-in 1.2.2 for Qt5 (supports versions 2008, 2010 and 2012, does not work with the Express edition)
为了编程的方便,建议也安装
因为在visual studio的c++开发中,没有方便的代码智能匹配。使用过visual studio开发c#程序时,就会知道代码智能匹配是多爽。而QT Creator含有智能匹配的功能。所以下载安装好了之后,打开“工具”下的“选项”菜单,在“构建和运行”下配置好,QT版本 与编译器就可以在其中写代码了。编译器应该指向visual studio的编译器。
个人建议采用第1中安装方式,安装QT5.2.1直接傻瓜式安装,节约时间。因为我一开始的时候,结合vs2010进行安装花了不少时间。
二.openCV安装
OpenCV官网:http://opencv.org/。
因为是在windows下,所以下载:
下载最新版就好了,目前的最新版是2.4.8
下载之后,需要对源码进行编译。双击运行,然后随意选择一个解压目录,将源码解压到该目录下。为了能够编译源码,需要先使用CMake对源码进行配置。Cmake的下载地址:http://www.cmake.org/cmake/resources/software.html,在地址下选择windows平台的工具就好了。使用Cmake的目的是为了根据编译器和具体开发环境配置,从而产生Makefile文件。编译源码时,编译器就会根据Makefile文件对源码进行编译。
1.打开cmake

如果是使用mingw的话,就选择MinGW makefiles,此时需要先配置好编译器的环境变量(上文提到)。如果是配合visual studio就选择对应版本的编译器

新建一个文件夹,用于存放cmake配置产生的文件,如release。点击configure配置就行了。
勾选生成列表中的WITH_OPENGL和WITH_QT两项。在实际编程中,可能还会出现一些问题,可以参考”使用 CMake 和 OpenCV的几个问题:http://hi.baidu.com/azhw618/item/1120b20c6381a8ce915718af“,目前为止我还没有碰到。
在配置的过程中,有些文件会无法找到,如:

对于和QT有关的,一定要设置它们的路径,如:

再次配置,直到没有红色的缺少项。点击generate,产生makefile.
____________________
打开cmd,进入刚才设置的目标路径(D:\opencv\release),输入mingw32-make命令开始编译



编译完成后,开始生成安装,输入mingw32-make install

结束后,找到release文件下的install文件夹:

这个文件夹就是我们需要的文件啦。
可以选择将这个文件夹命名成OpenCV转移到c盘内:
新建QT工程后:
在pro文件中添加如下OpenCV的依赖文件
INCLUDEPATH+=C:\OpenCV\include\opencv\
C:\OpenCV\include\opencv2\
C:\OpenCV\include
LIBS+=C:\OpenCV\lib\libopencv_calib3d248.dll.a\
C:\OpenCV\lib\libopencv_contrib248.dll.a\
C:\OpenCV\lib\libopencv_core248.dll.a\
C:\OpenCV\lib\libopencv_features2d248.dll.a\
C:\OpenCV\lib\libopencv_flann248.dll.a\
C:\OpenCV\lib\libopencv_gpu248.dll.a\
C:\OpenCV\lib\libopencv_highgui248.dll.a\
C:\OpenCV\lib\libopencv_imgproc248.dll.a\
C:\OpenCV\lib\libopencv_legacy248.dll.a\
C:\OpenCV\lib\libopencv_ml248.dll.a\
C:\OpenCV\lib\libopencv_objdetect248.dll.a\
C:\OpenCV\lib\libopencv_video248.dll.a
OpenCV+QT开发环境(一):Windows环境的更多相关文章
- Qt开发程序在Windows 10应用须要管理员执行的解决思路
Qt开发程序在Windows 10应用须要管理员执行的解决思路 过了非常长的时间没有公布博客了.可是我依旧努力地开发Qt程序.眼下呢.我发现开发Qt程序在Windows 10上有一个怪现象--有些程序 ...
- Java后台开发必备软件(windows环境下)
一.必备软件 1.Jdk,推荐下载最新版2.Ide,推荐 IntelliJ IDEA3.服务器,如 tomcat / jetty4.数据库终端界面,推荐 Navicat Premium(自行破解),5 ...
- php+IIS 配置环境(windows环境)
继php7+apache2.4 配置环境(window环境)后,由于B2C项目准备上线:特此小编在阿里云上搭建PHP7环境,为此特写上搭建过程希望正处于搭建php7+IIS(windows环境)中的朋 ...
- 【转】php7+IIS 配置环境(windows环境)
继php7+apache2.4 配置环境(window环境)后,由于B2C项目准备上线:特此小编在阿里云上搭建PHP7环境,为此特写上搭建过程希望正处于搭建php7+IIS(windows环境)中的朋 ...
- Java在linux环境下和windows环境下日期字符串显示不同
图片如果损坏,点击链接: https://www.toutiao.com/i6511565147322974724/ 出现的现象: 在Java中我想要将当前的时间格式化为需要的字符串,然后存放到数据库 ...
- Win7下 OpenCV+Qt开发环境搭建
1.所需软件工具: (1)OpenCV开发库,2.4.9版:包括源文件(source文件夹)和编译后的文件(build文件夹),但最好自己使用CMake又一次编译.否则easy出错. (2)Qt Cr ...
- Qt 5.5.0 Windows环境搭建
1)訪问官方站点:http://www.qt.io/download-open-source/ 2)选择离线安装包 3)选择 Windows 离线安装包(32 位或 64 位都可用,Windows 6 ...
- qt开发ROS gui界面环境配置过程总结
这段时间花了点时间配置了在qtcreator5.9.1上开发ros gui界面的环境,终于可以实现导入工程,插断点调试了.总结起来需要注意以下几点: 1.安装插件ros_qtc_plugin,ROS与 ...
- electron-vue 开发环境搭建(Windows环境)
1.安装 Node.js,一切都基于这个.安装完成后,终端输入 node -v 验证. 2.建立自己的项目目录,然后进入目录. 安装 vue-cli ,终端输入 npm install -g vue- ...
随机推荐
- Javascript常见操作
图片预加载 var image = new Image();image.onload = onLoad;image.onerror = onLoad;image.src =src; image.com ...
- 【学习笔记】【C语言】二维数组
1. 什么是二维数组 一个数组能表示一个班人的年龄,如果想表示很多班呢? 什么是二维数组?int ages[3][10]; 三个班,每个班10个人 相当于3行10列 相当于装着3个一维数组 二维数组是 ...
- VS2013 不能打开DTCMS项目 的解决办法
<system.webServer> <validation validateIntegratedModeConfiguration="false"/> & ...
- linux 环境变量【转】
1.引言 在 linux系统 下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现" command not found "的提示内容.如果每次都到安装目标文件夹内,找到可 ...
- Ajax 技术一
一.Ajax概述 1.历史起源 1998年,微软公司Outlook Web Access研发小组在当时的IE浏览器中集成了一种技术,可以在客户端无刷新的前提下向服务器端发送Http请求,这门技术称之为 ...
- Model Builder中Table2Table中字段映射的问题
ArcGIS10中使用过程中,Bug不少.尽管有了SP3,但模型耦合的深层次的应用中还是错误不少.目前只是遇到一个,利用躲避的方法解决一个.例如,从NetCDF中抽出的数据表,必须在内存和数据库中都存 ...
- spring4.0源码导入
一个面试,让我知道了自己的不足,一天不进步就是倒退. spring源码导入eclipse 本人的环境 (我导入的是最新的spring 4.0 所以要用jdk1.8) 1 安装git (mac上自带了g ...
- sail.js学习 - 一些问题
问题: 一.数据填充: 在开发环境中,难免要填充一些基础数据用于测试用.现有两种方法 1.在bootstrap.js或者其他启动文件中创建一些数据 2.https://github.com/frost ...
- jQuery select的操作代码
jQuery對select的操作的实际应用代码. //改變時的事件 复制代码代码如下: $("#testSelect").change(function(){ //事件發生 j ...
- Android L Ripple的使用
声明:Demo并不是有本人所写,本人只是总结在这里 工程源码: RippleDemo.zip ---------------------------------------------------- ...