OpenCV+QT开发环境(一):Windows环境

摘要:
您不需要打开虚拟机或进入Linux系统(如果安装了双系统)。尽管从官方网站下载的文件已经包含了库文件和。h头文件,编译器将在特定开发中编译源文件后将其与库文件链接,因此需要将bin文件夹添加到路径环境变量中。稍后需要在命令行中编译openCV源文件。首先,您需要在计算机上安装visual studio。使用visual studio开发c#程序时。

  最近在学习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安装好之后,将路径下的toolsmingw48_32路径下的的bin文件夹的绝对路径添加到环境变量中的Path变量下面,与该变量的其他路径用分号隔开。例如:;...QtQt5.2.1Toolsmingw48_32in。之所以需要将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

OpenCV+QT开发环境(一):Windows环境第1张

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

OpenCV+QT开发环境(一):Windows环境第2张

新建一个文件夹,用于存放cmake配置产生的文件,如release。点击configure配置就行了。

勾选生成列表中的WITH_OPENGL和WITH_QT两项。在实际编程中,可能还会出现一些问题,可以参考”使用 CMake 和 OpenCV的几个问题:http://hi.baidu.com/azhw618/item/1120b20c6381a8ce915718af“,目前为止我还没有碰到。

在配置的过程中,有些文件会无法找到,如:

OpenCV+QT开发环境(一):Windows环境第3张

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

OpenCV+QT开发环境(一):Windows环境第4张

再次配置,直到没有红色的缺少项。点击generate,产生makefile.

____________________

打开cmd,进入刚才设置的目标路径(D:opencv elease),输入mingw32-make命令开始编译

OpenCV+QT开发环境(一):Windows环境第5张

OpenCV+QT开发环境(一):Windows环境第6张OpenCV+QT开发环境(一):Windows环境第7张

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

OpenCV+QT开发环境(一):Windows环境第8张

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

OpenCV+QT开发环境(一):Windows环境第9张

这个文件夹就是我们需要的文件啦。

可以选择将这个文件夹命名成OpenCV转移到c盘内:

新建QT工程后:

在pro文件中添加如下OpenCV的依赖文件
INCLUDEPATH+=C:OpenCVincludeopencv
C:OpenCVincludeopencv2
C:OpenCVinclude

LIBS+=C:OpenCVliblibopencv_calib3d248.dll.a
C:OpenCVliblibopencv_contrib248.dll.a
C:OpenCVliblibopencv_core248.dll.a
C:OpenCVliblibopencv_features2d248.dll.a
C:OpenCVliblibopencv_flann248.dll.a
C:OpenCVliblibopencv_gpu248.dll.a
C:OpenCVliblibopencv_highgui248.dll.a
C:OpenCVliblibopencv_imgproc248.dll.a
C:OpenCVliblibopencv_legacy248.dll.a
C:OpenCVliblibopencv_ml248.dll.a
C:OpenCVliblibopencv_objdetect248.dll.a
C:OpenCVliblibopencv_video248.dll.a

免责声明:文章转载自《OpenCV+QT开发环境(一):Windows环境》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇http2协议翻译(转)服务器推送的实现—基于EventSource下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python3.6+pycharm+robotframework 环境搭建

参考文档:https://www.cnblogs.com/chenyuebai/p/8359577.html, https://www.cnblogs.com/jiyanjiao-702521/p/9235724.html, https://blog.csdn.net/weixin_33829657/article/details/86128739 安装配...

layui 时间插件laydate中动态设置改变min和max值

<div class="layui-inline"> <label class="layui-form-label">申请时间</label> <div class="layui-input-inline"> <input...

MySQL-读写分离与分布式架构

MySQL读写分离概述 读写分离原理 基本原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作性操作导致的变更同步到集群中的从数据库=b。 读写分离原理图: 数据内部交换过程: 为什么要读写分离 面对越来越大的访问压力,单台的服务器的性能成为瓶颈需要分担负...

报错解决

"libcudart.so.8.0 cannot open shared object file: No such file or directory" 解决办法是将一些文件复制到/usr/local/lib文件夹下: #注意自己CUDA的版本号! sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /us...

[笔记]Cucumber在windows下的安装

1.下载安装Ruby 安装Cucumber要用到gem,gem是Ruby程序管理工具,类似于linux中的apt-get。所以要在Windows中安装好Ruby1.9.2的版本相对稳定些,在这里可以下载Ruby,Windows的安装包一路Next就可以了,安装完成后以cmd输入:ruby -v查看版本,如果提示不是内部命令,着加系统环境变量。 升级gems...

分享一个递归无限级拼接Json的方法---ExtJs的TreePanel和TreeGrid均适用(Ef,Lambda,Linq,IQueryable,List)

话不多说,先上实体类,如果你不是codefirst,就把它当成数据表结构。 下面是底层BaseDal获取数据的方法  (如果你没有Base类,直接写在你的DAL层和BLL层) 下面是BaseService的方法 下面方法用于拼接字符串 主体方法-- /// <summary> /// 得到****TreeGrid****...