在之前的博客中,已经分别比较详细地阐述了“windows平台下基于VS和OpenCV”以及“Linux平台下基于QT和OpenCV"搭建图像处理框架,并且生成了相应的免费视频。这篇博客的主要内容,就是基于最新版本的相应工具,在windows平台下,“基于QT和OpenCV搭建图像处理平台”,并且进一步研究如何基于QT所见即所得的便利,进行图像处理操作,最终还要和vs做一个比较,进行初步小结。
   主要分为3个部分,一个是当前模式下,windows+QT环境的搭建;二个是配套版本的OpenCV重新编译;三个是综合起来,配置成功环境。
一、搭建windows平台下的QT环境
最新版本的QT为(2017年12月5日版本)
 

下载地址为(可能需要注册账户):

最突出的感受就是在最新版本中的QT中,进行了很高程度的集成,将各种环境下的pre-build版本都进行了一起发布。如果你的机器上已经安装了vs2013/vs2015等,可以选择对应的版本。本文中经过我多次尝试后,觉顶选择"MingW"这个版本,同时投选Tools中的"MingW",这样保证一次性安装到位。(只选择这两项)
在这种情况下,安装QT,配置KIT,基本上就可以直接运行FORM了。注意编译器和调试器都要填写正确。
二、配套OpenCV编译
    为了配合当前QT程序的运行,必须重新编译OpenCV。采用的工具仍是CMake
选择MinGW的Makefiles,方式选择"Specify native compilers"
分别详细填写c和c++的编译器地址,这个是和你安装QT的地址相关的,我的这个地址可以作为参考:
C对应:D:/Qt/Qt5.10.0/Tools/mingw530_32/bin/gcc.exe
C++对应:D:/Qt/Qt5.10.0/Tools/mingw530_32/bin/g++.exe
此时Finish会报错,注意点开“Advanced",而后将CMAKE_MAKE_PROGRAM设置为你的mingw32-make地址,我的这个地址做参考
D:/Qt/Qt5.10.0/Tools/mingw530_32/bin/mingw32-make.exe
 
点击Configure,开始进行配置。注意这里不能选择"Build_opencv_world"模式,只能分开来编译。(具体原因不详细,如果那位知道请喝我联系",如果要加上contribute的话,也请正确设置。此外,一定要选择With_qt
 
点击Configure,会报一些错误,主要是QT配置问题。
其中正确配置QMake.exe的地址,并且按照类似”D:\Qt\Qt5.10.0\5.10.0\mingw53_32\include“下配对地址正确设置
最后Configure没有问题,点击generate。在这个过程中,如果报缺少”libwinpthread-1.dll"的话,需要从网上下载一个,放置到Path所在目录中(比如64位系统在syswow64中,32位系统在system32中),这样可以正确生成。
进入代码生成目录,先后运行“mingw32-make"和"mingw32-make install"生成结果,大概需要1个小时时间。如果没有设置Path,可以参考我下图中的这种方法。两个100%,则代表生成成功。
 
 
三、生产基础框架。
    这个时候,就应该比较简单了。主要是配置文件和头文件的问题,简单贴一下吧:
配置文件里面加上头地址:
 
环境变量里面将bin加上去
添加相关代码:
OK!感谢阅读至此,希望有所帮助!
 

windows平台下基于QT和OpenCV搭建图像处理平台的更多相关文章

  1. Windows 环境下基于 nginx 的本地 PyPI 源

    Windows 环境下基于 nginx 的本地 PyPI 源的搭建: 1.登录 nginx 官网,下载安装包

  2. windows系统下ruby开发环境的搭建方法

    ruby是一种简单快捷的面向对象的脚本语言,非常直观.下面说一下windows系统下ruby开发环境的搭建方法. 工具/原料 rubyinstaller.exe 方法/步骤 1 到如下网站去下载最新的 ...

  3. windows平台下基于VisualStudio的Clang安装和配置

    LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域.Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程 ...

  4. windows环境下基于nginx搭建rtmp服务器

    基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...

  5. windows平台下编辑的内容传到linux平台出现中文乱码的解决办法

    现象说明:在windows下编辑的内容,上传到linux平台下出现中文乱码.如下: 在windows平台编写haha.txt文件,内容如下: 上传到linux平台,出现中文乱码,如下: 基本上面出现的 ...

  6. windows环境下简单Jenkins持续集成搭建

    Jenkins是基于Java开发的持续集成工具,所以在安装Jenkins之前我们要确定电脑上已经安装了Java JDK并且环境变量配置正确,否则在启动使用java -jar Jenkins.war启动 ...

  7. Qt:&OpenCV—Q图像处理基本操作(Code)

    原文链接:http://www.cnblogs.com/emouse/archive/2013/03/31/2991333.html 作者写作一系列:http://www.cnblogs.com/em ...

  8. MSYS2——Windows平台下模拟linux环境的搭建

    最近从MSYS1.0迁移到了MSYS2.0,简单讲,MSYS2.0功能更强大,其环境模拟更加符合linux.虽然本身来自cygwin,但其集成了pacman软件管理工具,很有linux范,并且可以直接 ...

  9. 在windows环境下基于sublime text3的node.js开发环境搭建

    首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...

随机推荐

  1. LeetCode 370. Range Addition (范围加法)$

    Assume you have an array of length n initialized with all 0's and are given k update operations. Eac ...

  2. LeetCode 90. Subsets II (子集合之二)

    Given a collection of integers that might contain duplicates, nums, return all possible subsets. Not ...

  3. Web性能测试工具之ab入门篇

    1. ab简介 ab全称Apache Bench,是apache附带的一个小工具,它可以同时模拟多个并发请求,测试apache等Web服务器的最大负载压力. 本文通过一个简单的示例,介绍了使用ab进行 ...

  4. 版本控制之二:SVN的初步使用(转)

    转自http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407979.html 上一篇介绍了VisualSVN Server和Tortoise ...

  5. .NET在VS2008中生成DLL并调用

    1.生成DLL 打开VS2008 - >新建->项目->类库->ClassLibrary1,在ClassLibrary1中会自动创建一个Class1类 class1中加入代码如 ...

  6. 关于php的命名空间

    php定义命名空间要使用namespace关键字,例:namespace Database 使用命名空间中的类要使用use关键字,也可以在use后面加as给类取别名,例:use Database\SQ ...

  7. css之定位(position)

    1.什么是定位: css中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设置一些不规则 ...

  8. CDN 机制

    CDN的全称Content Delivery Network,(缩写:CDN)即内容分发网络. CDN是一个经策略性部署的整体系统,从技术上全面解决由于网络带宽小.用户访问量大.网点分布不均而产生的用 ...

  9. elasticsearch地理空间操作简单操作

    创建索引库 PUT http://localhost:9200/geo { "mappings": { "poi": { "properties&qu ...

  10. JS中有关数组Array的常用方法函数

    Array对象的方法主要有如下几种(我所知道的): concat()连接两个或多个数组,并返回结果,但是值得注意的是该方法并不改变数组本身,而仅仅返回一个数组连接的副本. push()在数组后面添加一 ...