最近在学习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的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环境的更多相关文章

  1. Qt开发程序在Windows 10应用须要管理员执行的解决思路

    Qt开发程序在Windows 10应用须要管理员执行的解决思路 过了非常长的时间没有公布博客了.可是我依旧努力地开发Qt程序.眼下呢.我发现开发Qt程序在Windows 10上有一个怪现象--有些程序 ...

  2. Java后台开发必备软件(windows环境下)

    一.必备软件 1.Jdk,推荐下载最新版2.Ide,推荐 IntelliJ IDEA3.服务器,如 tomcat / jetty4.数据库终端界面,推荐 Navicat Premium(自行破解),5 ...

  3. php+IIS 配置环境(windows环境)

    继php7+apache2.4 配置环境(window环境)后,由于B2C项目准备上线:特此小编在阿里云上搭建PHP7环境,为此特写上搭建过程希望正处于搭建php7+IIS(windows环境)中的朋 ...

  4. 【转】php7+IIS 配置环境(windows环境)

    继php7+apache2.4 配置环境(window环境)后,由于B2C项目准备上线:特此小编在阿里云上搭建PHP7环境,为此特写上搭建过程希望正处于搭建php7+IIS(windows环境)中的朋 ...

  5. Java在linux环境下和windows环境下日期字符串显示不同

    图片如果损坏,点击链接: https://www.toutiao.com/i6511565147322974724/ 出现的现象: 在Java中我想要将当前的时间格式化为需要的字符串,然后存放到数据库 ...

  6. Win7下 OpenCV+Qt开发环境搭建

    1.所需软件工具: (1)OpenCV开发库,2.4.9版:包括源文件(source文件夹)和编译后的文件(build文件夹),但最好自己使用CMake又一次编译.否则easy出错. (2)Qt Cr ...

  7. Qt 5.5.0 Windows环境搭建

    1)訪问官方站点:http://www.qt.io/download-open-source/ 2)选择离线安装包 3)选择 Windows 离线安装包(32 位或 64 位都可用,Windows 6 ...

  8. qt开发ROS gui界面环境配置过程总结

    这段时间花了点时间配置了在qtcreator5.9.1上开发ros gui界面的环境,终于可以实现导入工程,插断点调试了.总结起来需要注意以下几点: 1.安装插件ros_qtc_plugin,ROS与 ...

  9. electron-vue 开发环境搭建(Windows环境)

    1.安装 Node.js,一切都基于这个.安装完成后,终端输入 node -v 验证. 2.建立自己的项目目录,然后进入目录. 安装 vue-cli ,终端输入 npm install -g vue- ...

随机推荐

  1. c#重载和重写及运用

     重载的条件:           1.必须在同一个类中2.方法名必须相同3.参数列表不能相同.   重写的条件:          1. 在不同的类中          2. 发生方法重写的两个方法 ...

  2. chcon可实现对文件的SEAndroid安全标签的修改

    chcon可实现对文件的SEAndroid安全标签的修改 参考使用如下: chcon -u u system/app/ chcon -r object_r system/app/ chcon -t s ...

  3. web前端的十种jquery特效及源码下载

    1.纯CSS3实现自定义Tooltip边框 涂鸦风格 这是一款用纯CSS3打造的自定义Tooltip边框的应用,之前我们讨论过如何用CSS3来实现不同样式的Tooltip,今天的这款Tooltip却可 ...

  4. 8款超酷体验的jQuery/CSS3应用插件

    1.jQuery/CSS3实现Android Dock菜单效果 这是一款基于jQuery和CSS3的Android Dock菜单效果,点击底部的按钮即可让应用图标浮动上来,并且按钮也出现3D的翻转效果 ...

  5. eclipse优化(部分)

    1. 增强Eclipse(MyEclipse)输入代码提示功能 一般设置: (1). 打开Eclipse,选择打开" Window -- Preferences". (2). 在目 ...

  6. 济南学习 Day 2 T2 pm

    她[问题描述]给你L,R,S,M,求满足L≤ (S × x) mod M ≤ R最小的正整数 X.[输入格式]第一行一个数T代表数据组数.接下来一行每行四个数代表该组数据的L,R,S,M.[输出格式] ...

  7. 基类和派生类--this

    基类指针在程序运行的时候的确指向的是一个派生类的对象,但指针的类型仍然是基类指针.C++是一种强类型语言,因此不能用基类指针类型的指针直接调用派生类:而且,同一个类可能有多种不同的派生类,因此不知道实 ...

  8. 已有数据表的Mysql字符编码修改

    Mysql字符集修改应该如何实现呢?下面就为您详细介绍已用数据表的Mysql字符集修改方法,希望对您学习Mysql字符集方面能有所启迪. 环境:在应用开始阶段没有正确的设置字符集,在运行一段时间以后才 ...

  9. windows通过thrift访问hdfs

    thirift是一个支持跨种语言的远程调用框架,通过thrift远程调用框架,结合hadoop1.x中的thriftfs,编写了一个针对hadoop2.x的thriftfs,供外部程序调用. 1.准备 ...

  10. C# http下载(支持断点续传)

    分享下项目里面自己封装的一个http下载类 功能如下: 1.支持断点续传 2.下载失败自动重试 3.超时等异常处理 using System; using System.Collections.Gen ...