最近在学习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. 自定义View(一)-ViewGroup实现优酷菜单

    自定义View的第一个学习案例 ViewGroup是自动以View中比较常用也比较简单的一种方式,通过组合现有的UI控件,绘制出一个全新的View 效果如下: 主类实现如下: package com. ...

  2. 收藏的js学习小例子

    1.js模拟java里的Map function Map(){ var obj = {} ; this.put = function(key , value){ obj[key] = value ; ...

  3. Android平台下OpenGL初步

    Android OpenGL ES 开发教程 从入门到精通 http://blog.csdn.net/zhoudailiang/article/details/50176143 http://blog ...

  4. 百度编辑器ueditor前台代码高亮无法自动换行解决方法

    这两天本站成功安装整合了百度编辑器ueditor,用着还挺不错,但是遇到了点小问题 问题描述:   在内容里面插入代码高亮显示,后台编辑器中是可以自动换行的,但是发表后,在前台查看,发现代码不能自动换 ...

  5. Java实现邮箱找回密码 --转载

    通过邮件找回密码功能的实现 1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的 ...

  6. Cocos2d-x场景切换相关函数介绍

    场景切换是通过导演类Director实现的,其中的相关函数如下: runWithScene(Scene* scene).该函数可以运行场景.只能在启动第一个场景时候调用该函数.如果已经有一个场景运行情 ...

  7. c#高级编程第七版 学习笔记 第一章 .NET体系结构

    第一章      .NET体系结构 本章内容: 编译和运行面向.NET的代码 Microsoft中间语言(Microsoft Intermediate Language,MSIL或简称IL)的优点 值 ...

  8. php连接到数据库操作

    <?php $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { ?> 要写的内容代码,比如说Ht ...

  9. org.springframework.util.Assert

    方法入参检测工具类 Web 应用在接受表单提交的数据后都需要对其进行合法性检查,如果表单数据不合法,请求将被驳回. 类似的,当我们在编写类的方法时,也常常需要对方法入参进行合 法性检查,如果入参不符合 ...

  10. 《JavaScript高级程序设计》心得笔记-----第五篇章

    第二十二章 1.  安全的检测是使用:Object.prototype.toString.call(value); eg: function isArray(value){ return Object ...