前言。
WIth the developed of the economy 额。。。。。呸! 在当今博文良莠不齐的大环境下,本菜鸟尽量秉持科学,严谨,细致的态度记录以下内容,目的是为了让后来的小伙伴能够轻松的下载好所有东西并愉快的玩耍,而不至于还没入门就迷晕在门槛上。不要嫌我描述啰嗦,我也是为你们好,全网比我专业的有的是,但是可能找不出比我还小白的解释了。如果仅仅是为了记录成长,本文没什么技术含量,我都懒得写。但是想起我那各种安装,各种试,各种卸载的苦逼的曾经,我决定还是为大家安利一波吧。
我的电脑是双系统,有Win10 64bit 和 Win7 32bit。所以说,大家不要迷茫,本文是在我把每个系统都试了一次并成功的基础上写的。
当初照着网上的教学指南在Win10 64bit下安装VS2015配置OpenCV成功了,也能做图像处理的作业,但是下载QT再配置的时候就出现了各种问题,然后看了官方的介绍之后打算使用Win7 32位的系统重新下一遍。第一部分主要讲的是我当初怎么一步步实现在Win10下安装配置OpenCV的(这部分只适用于初学者,它是用VS2015去直接连接OpenCV的原本库,本人不建议使用,大家看一眼就行了,在第二部分开头简单解释了第一部分中的原本库与自建库之间的区别),第二部分讲的是怎么在Win7(Win10也一样)下安装配置OpenCV私人的(用到了Cmake构件私人OpenCV自建库,适用于入门者,推荐使用),第三部分讲的是在基于第二部分的基础上下载和配置QT的教程(大多数人要的就是这个,推荐使用)。估计可能有一部分小白看我手把手的博文也看不懂,可以在下方留言催我做个教学视频,传到B站上去(催的人多了我会去录,人少了就不弄了,挺费事的)。
你的电脑是什么系统的,多少位的,在软件下载包的选择上要注意区分。尤其是在Win10上下载Qt和配置的时候,从下载CMake开始就出现各种问题,最后同样的代码在Qt5上就运行不了,大多数的原因是你一开始就安装错误。
我也是小白,我也不会做事后故障判断。就去Youtube和OpenCV的官网上找到了官方以Win7,32位的和Win10,64位的示范系统的安装教程,所幸我的电脑做了双系统,把英文的说明看懂了之后,一步步的都装成功了,现在把它的中文版发在这。
大家小心翼翼的跟我来,手把手的从一开始就都弄对,往后就不会出现一堆问题了。
不管你的电脑是啥系统的,支持多少位的,我下文都是记录处理问题的方法,你都可以照猫画虎的自己搭配合适的配置。
第0部分,首先我们要知道怎么根据自己的电脑搭配各环节。(假设我们要在Win10 64位下搭建)
先说Qt是啥?
Qt是商业和开源许可的跨平台应用程序和UI框架。它是由Qt Company和Qt Project Community在开源治理模型下开发的。使用Qt,您只需编写一次GUI应用程序,即可在桌面,移动和嵌入式操作系统中部署它们,而无需重写源代码。Qt在各种32位和64位平台上受支持,并且通常可以使用GCC,供应商提供的编译器或第三方编译器在每个平台上构建。 Qt Quick 2需要OpenGL(ES)2.0,DirectX 9(带有ANGLE)或其他渲染器。无需硬件加速即可使用小部件。在Qt 5中,所有平台都是使用Qt平台抽象(QPA)创建的,这比以前更容易将Qt移植到新的操作系统中。(以上内容2017年6月15日官方更新)
综上所述Qt就是我们做图像处理的编辑软件
下表列出了Qt公司支持的配置。配置是操作系统版本,编译器版本和图形系统的组合。
(数据来自官方网站https://doc.qt.io/archives/qt-5.7/supported-platforms.html)
所以说Win10 64bit的要用VS2015?问题出在这了?所以才各种Errors吗?我也不知道啊,官方的嘛,听他的吧。。。
去“我的电脑”,右键打开属性,确认我的电脑是Win10,64位的。(这是我另一个系统,本文第二步以后都是用Win7 32位装的)
第二个问题,啥是OpenCV?
OpenCV(开源计算机视觉库)是一个开源计算机视觉和机器学习软件库。 OpenCV的构建旨在为计算机视觉应用程序提供通用的基础结构,并加速在商业产品中使用机器感知。作为BSD许可的产品,OpenCV使企业可以轻松地使用和修改代码。
该库具有2500多种优化算法,其中包括一整套经典和最新的计算机视觉和机器学习算法。这些算法可用于检测和识别面部,识别对象,对视频中的人为行为进行分类,跟踪摄像机的运动,跟踪运动的对象,提取对象的3D模型,从立体摄像机生成3D点云,将图像拼接在一起以产生高分辨率整个场景的图像,从图像数据库中查找相似的图像,从使用闪光灯拍摄的图像中消除红眼,跟随眼睛的移动,识别风景并建立标记以将其与增强现实叠加在一起等。OpenCV拥有超过4.7万人的用户社区,下载量估计超过1800万。该库在公司,研究小组和政府机构中得到广泛使用。
除了使用该库的Google,Yahoo,Microsoft,Intel,IBM,Sony,Honda,Toyota之类的知名公司外,还有许多新兴公司(例如Applied Minds,VideoSurf和Zeitera)广泛使用OpenCV。 OpenCV的部署用途包括将街景图像拼接在一起,检测以色列监视视频中的入侵,监视中国的矿山设备,帮助机器人在Willow Garage导航和拾取物体,检测欧洲游泳池溺水事故,在西班牙和纽约,在土耳其检查跑道上的碎屑,检查世界各地工厂产品上的标签,然后在日本进行快速面部识别。
它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS。 OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令。目前正在积极开发功能齐全的CUDA和OpenCL接口。有500多种算法,而构成或支持这些算法的功能大约是其10倍。 OpenCV用C ++原生编写,并具有可与STL容器无缝配合的模板化接口。
(以上内容来自官网https://opencv.org/about/)
总是所述,OpenCV就是我们Qt软件的库呗。
OpenCV库的VC12版本对应微软的VS2013版本。vc10–VS2010,vc11——VS2012,vc12——VS2013,vc14对应VS2015了。
我当初看了OpenCV官网(https://opencv.org/releases/)最新的是OpenCV4.1.1(它自带V14和V15,就选的它)
第三个问题,啥是CMake?
CMake是旨在构建,测试和打包软件的开源,跨平台工具系列。 CMake用于使用简单平台和独立于编译器的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用的本机makefile和工作区。 CMake工具套件是由Kitware创建的,旨在满足ITK和VTK等开源项目对强大的跨平台构建环境的需求。
(上文参考官网https://cmake.org/)
总之CMake就是用来帮你自动生成(Build)OpenCV项目库的,举个例子,有的人玩过树莓派吧,大家一开始装系统的时候生成的根(Root)目录就相当于CMake给生成的东西(后文我们也可以把这个库文件夹名字叫做“Root”)。
这个在官网上下载最新的版本就行了。当前最新版本是3.16.0。
第四个问题,Qt软件有的带MingGW,有的带VS,这俩有啥区别?
MingGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。
虽然Qt可以安装自带MingGW(可以自行编辑不需要求助于VS2015啦),但是VS2015在匹配上OpenCV库以后,能够更专业和方便的编译和修改代码。最关键的是,大佬们都爱使用VS。
好的,现在我们屡清楚了,如果是配置最新款的,那么就是:
Qt要Windows64位的+MSVC2015的环境+OpenCV4.1.1(V14)+CMake3.16
先附上各软件连接,下载顺序从上到下
等一下,建议你,下文先阅读一遍再决定选择哪个部分follow me安装,第一部分就是小白级别,每步都是非常细致的图文解说。老手不看也行,第二部分就是新手级别,我详细的记录了我的操作,保证不差一步的确保follow me 无报错。第三部分是入门级,新手可以在第二部分的基础上下载安装QT,配置各种环境。为了避免大家看的脑袋疼,并保证科学严谨细致的阐述,我把它分成三个博客了。这是第一个博文,第二个博文记录了第三部分内容的操作。第三个博文记录了主