windows平台下基于QT和OpenCV搭建图像处理平台

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

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

http://download.qt.io/official_releases/qt/5.10/5.10.0/qt-opensource-windows-x86-5.10.0.exe
最突出的感受就是在最新版本中的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!感谢阅读至此,希望有所帮助!





目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android死锁解决方案,【线程死锁】Android多线程死锁产生的原因以及如何避免

一、死锁定义1、生活中的列子两人吃饭,但只有一双筷子,2人轮流吃(同时拥有2只筷子才能吃),某个时候一人拿了左筷子,一人拿了右筷子,两人同时占用一个资源,等待另一个资源,这时候甲等乙吃完并释放…

前端开发 常用用的静态服务器

1 运用anywhere 安装 :npm install anywhere -g想要以某个路径作为静态文件服务器的根目录分享,只需要在该目录下执行:anywhere 就会默认8000打开网页, 若文件不是index.html 需要输入文件名 A: anywhere -p 8000 ## 指定静态服务…

前端面试题整理

1.HTML5的新特性。 主要讲讲新增哪些API:地理定位,拖放,web存储应用缓存,webworkers, sse 。 http://www.w3school.com.cn/html5/html_5_intro.asp 2.CSS3的新特性。 https://segmentfault.com/a/1190000010780991 3、使用严格模式…

android mvvm 官方例子,详解Android的MVVM框架 - 数据绑定

本教程是跟着 Data Binding Guide学习过程中得出的一些实践经验,同时修改了官方教程的一些错误,每一个知识点都有对应的源码,争取做到实践与理论相结合。Data Binding 解决了 Android UI 编程中的一个痛点,官方原生支…

VS2015 代码左缩进

TabShift转载于:https://www.cnblogs.com/527289276qq/p/8027882.html

mac设置文件权限_如何在Mac上设置文件权限

mac设置文件权限Like all major operating systems, macOS allows you to restrict access to files using a complex set of file permissions. You can set these yourself using the Finder app, or by using the chmod command in your Mac’s terminal. Here’s how. 与所…

Discrete Log Algorithms :Baby-step giant-step

离散对数的求解 1.暴力 2.Baby-step giant-step 3.Pollard’s ρ algorithm …… 下面搬运一下Baby-step giant-step 的做法 这是在 https://ctf-wiki.github.io/ctf-wiki/crypto/asymmetric/discrete-log/discrete-log/ 上看到的,比较容易理解。 而且,…

Android添加item动画,RecyclerView基础篇-Item添加动画

Android_Banner.jpg简介本节中我们介绍下给RecyclerView中的Item添加动画。添加的动画,分为,在打开列表时有Item的展示动画,当滑动的时候没有动画和打开列表滑动时有动画两种实现过程实现一个列表效果如下Screenshot_2020-09-01-17-03-35-349…

Oracle数据库查询用 where in 查询的项超过1000条的解决方案

众所周知,如果我们的用SQL查询语句时,如果用where in带的参数超过1000条的话,oracle是会报错的。 因为项目中遇到这样的问题,所以找到了接下来我要说的这个办法。 因为用的地方很多,所以我把这个封装成了一个方法。 //…

geek_Ask How-To Geek:营救受感染的PC,安装无膨胀iTunes和驯服疯狂的触控板

geekYou’ve got questions and we’ve got answers. Today we highlight how to save your computer if it’s so overrun by viruses and malware you can’t work from within Windows, install iTunes without all the bloat, and tame a hyper-sensitive trackpad. 您有问…

第1课:接口测试和jmeter总结

接口测试 1. 接口的分类:webService和http api接口1) webService接口:是按照soap协议通过http传输,请求报文和返回报文都是xml格式,一般要借助工具来测试接口;2) http api接口:是按照…

android 工作日,如何在Android上重复警报工作日

小编典典请尝试此代码。已在我的应用中成功运行if (chk_monday.isChecked()) {forday(2);} else if (chk_tuesday.isChecked()) {forday(3);} else if (chk_wednesday.isChecked()) {forday(4);} else if (chk_thursday.isChecked()) {forday(5);} else if (chk_friday.isCheck…

hdu4419

对于这类面积覆盖的题,大致就两点要注意的 1.同一把矩形放在笛卡尔坐标系上做 2.pushup函数要注意下细节:及在统计子区间和之前要先判断是否有子区间 用sum数组来保存区间被覆盖的情况,如果遇到多次覆盖问题,那就开多个sum数组分别保存被覆盖…

最简单 - 单例模式

public class Person {// Person 引用private static Person p null;static {if (p null) {p new Person();}}/***单例模式获取Person对象. * return*/public static Person getInstance(){return p;} ​} 复制代码转载自: 简书 - 低至一折起 文章:w…

极客时间和极客学院_极客历史记录的本周:Twitter的诞生,OS X十周年以及太空停留时间最长的时代即将结束...

极客时间和极客学院Every week we bring you interesting trivia and milestones from the archives of Geekdom. Today we’re taking a peek at the birth of Twitter, ten years of Mac OS X, and the longest space stay in history. 每周,我们都会为您带来有趣…

Android风格ppt,Material Design风格的快手PPT

突发奇想,感觉MD风格既然适合 Android 软件的界面,那么在一般PPT 演示中,效果当也是不错。于是在网上去寻了几处制作贴,也简单看了 MD 设计指南的几处要点。先试试一番再说。关于 MD 设计指南和几处制作贴,我会把链接贴…

11月16日站立会议

今天是冲刺阶段的第二天,我今天做了统计在线人数模块的编写而且对其进行了测试并修改完成,为团队制作了今日的燃尽图。 明天我要完成服务器端可以断开所有用户连接的一个小模块和继续为团队制作燃尽图。 今天遇到的困难是用Java进行编写时,出…

iOS核心动画高级技术(十三) 高效绘图

More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason—including blind stupidity. 不必要的效率考虑往往是性能问题的万恶之源。 ——William Allan Wulf #软件绘图 术语绘图通常在Core Anima…

dropbox链接过期_询问操作方法:“开始”菜单中的Dropbox,了解符号链接和翻录TV系列DVD...

dropbox链接过期This week we take a look at how to incorporate Dropbox into your Windows Start Menu, understanding and using symbolic links, and how to rip your TV series DVDs right to unique and high-quality episode files. 本周,我们来看看如何将D…

android listpreference 自定义,Android – 我的ListPreference中的自定义行布局

在我的Android应用程序中,我实现了从ListPreference扩展的类SubtitleColorListPreference.我需要这个,因为我需要为列表中的每个项目设置自己的布局.一切正常,它看起来像这样:重要的代码是onPrepareDialogBu​​ilder(AlertDialog.Builder builder)中的方法,我在其中…