前言
OpenCV(开源计算机视觉库)具有一整套经典和最新的计算机视觉和机器学习算法,对于Qt来说,OpenCV就是我们Qt软件的库。
OpenCV将基于公司实验室环境VS2013+Qt5.6进行配置。
为了让后来人能轻松拿捏,这里尽可能细致的记录配置内容。
电脑配置:Win10 64bit
一些安装包的整理
先将所有的安装包整理一堆,这样就不用麻烦一个一个找了
链接:https://pan.baidu.com/s/14ORtPutiReXaXJPUy02nYA?pwd=ueyw
提取码:ueyw
1. Visual Studio 2013 ultimate
官网下载链接:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
2. Qt 5.6.0
qt-opensource-windows-x86-msvc2013-5.6.0.exe(目前官网上已经无了)
3. qt vs插件
官网下载链接:https://download.qt.io/archive/vsaddin/1.2.5/ (qt-vs-addin-1.2.5.exe)
4.OpenCV 3.0.0
官网下载链接:https://opencv.org/releases (翻页找OpenCV – 3.0.0 下载windows版本)
5. CMake 3.29.0
官网下载链接:https://cmake.org/download/ (cmake-3.29.0-windows-x86_64.msi)
Visual Studio 2013安装
Win7系统安装VS2013时,有的时候会遇到"此版本的VS需要你的电脑安装IE10"的问题(Update for Internet Explorer 10 in Windows 7 链接:https://www.microsoft.com/en-us/download/details.aspx?id=39232 )
右击vs_ultimate,选择以管理员身份运行,选择默认路径就行,然后选择自定义安装,进行勾选自己需要安装的项目(一定要选C++),点击安装进入漫长的等待_(:з」∠)__
出现两个“启动”大字就完事啦~
这里推荐一个我觉得非常好用的微信公众号:软件安装管家目录 (里面有非常详细的安装教程)
Qt 5.6.0安装
安装Qt5.6.0,最好不要安装在C盘,因为文件挺大的,这里安装在D盘
然后就按默认安装设置一直点下一步
完成安装后在系统变量里的Path中添加:D:\Qt\Qt5.6.0\5.6\msvc2013\bin(这步做不对的话后续Cmake找不到dll就各种报错)
重启计算机
Qt Vs插件安装
安装qt-vs-addin-1.2.5.exe,也比较简单,只要一直next就可以了。
(如果出现cannot install QtQmlClassifier2013.vsix,这个不用管,点击确定让它继续安装。)
在VS中配置QT环境
打开VS2013,QT5>>Qt Options>>Add,Path选择D:\Qt\Qt5.6.0\5.6.0\msvc2013
(不同的qt版本,path也会不尽相同,不过最终都是找到带有msvc开头的. qt版本不一样,请更换相应的版本号 )
最后就搭建完成了,就可以在vs中新建QT项目了
在QT5>>Qt Project Settings>>Version中可以选择刚才设置的Qt Options
OpenCV 3.0.0安装
点击下载好的opencv-3.0.0.exe,安装路径一定要记住,后续的配置要用。
完成Extract后打开D:\OpenCV\V3.0.0\opencv\build,x64表示支持64位编程,x86表示支持32位编程。(3.0支持32和64位,3.1就不支持32位)
再在打开D:\OpenCV\V3.0.0\opencv\build\x64,内部vc11对应VS2012,vc12对应VS2013。(这也是咱们选择带VC12的OpenCV3.0.0的原因)
CMake安装
Cmake是旨在构建,测试和打包软件的开源,跨平台工具系列。对于咱们来说,CMake就是用来帮咱们自动生成(Build)OpenCV项目库的。打开官网,下载最新版本的就行了,当前最新版本是3.29.0,注意电脑是多少位的就下载多少位的。
在安装时,选择选项“为所有用户将CMake添加到系统PATH”
安装路径我这里按默认设置进行安装的(C:\Program Files\CMake),可以选择安装到其他盘。
安装完成后重启计算机
win+r >> 输出cmd,打开命令提示符窗口,输入cmake -version,验证CMake安装成功
若不是上面的提示,检查系统环境变量里是否有CMake\bin文件路径,需要手动添加**在系统变量里的Path中添加:**C:\Program Files\CMake\bin,然后重启计算机,可再进行验证
利用CMake生成OpenCV Win32自建库的安装与配置
因OpenCV官网提供的版本只有x64版本库,没有提供win32版本库,故需要咱们用CMake编译生成所需要的的库(生成Win32版本的DLL库和Lib库)。
在opencv-3.0.0 Extract路径下新建文件夹opencv_win32(自建库)
转到C:\Program Files\CMake\bin文件夹,双击cmake-gui.exe。
“Where is the source code:”设置OpenCV源目录,CMakeLists.txt存在的地方
将“Where to build the binaries:”设置OpenCV mybuild目录,opencv_win32文件夹路径
虽然咱们使用的是VS2013 Win32,但配置编译的系统版本都不要选会出错。
点击左下角Configure按钮,弹出窗口,选择VS编辑器版本 Visual Studio 12 2013
然后按Finish,等绿条读满
等绿条读满后,就看见一大列红色的可选条目。 向底部滚动并找到“ WITH_QT”,把它勾上。
然后再次按Configure按钮(第二次点击)
等绿条再次读满后,以前的行现在应该是白色,而与Qt有关的新行仅是红色。
第三次按Configure按钮(这里特别感谢Smile_h_ahaha详细教学点击多次)
片刻之后所有行现在应为白色。按下 Generate按钮
然后过一会就看见它“Generate done”了
最后的显示:(Warning对自建库没什么影响,不用管它)
This warning is for project developers. Use -Wno-dev to suppress it.
Generating done (1.3s)
CMake Warning:
The "Visual Studio 12 2013" generator is deprecated and will be removed in
a future version of CMake.
Add CMAKE_WARN_VS12=OFF to the cache to disable this warning
CMake就没它啥事了,可以关闭了。
这时在OpenCV opencv_win32目录(D:\OpenCV\V3.0.0\opencv_win32)中应该有一个文件OpenCV.sln,这是常规的Visual Studio解决方案文件
双击OpenCV.sln,在Visual Studio 2013中打开
等待下方蓝色状态栏显示就绪后,确认“解决方案配置(Solution Configurations)”和“解决方案平台(Solution Platforms)”分别设置为“调试(Debug)”和“ Win32”,然后选择“生成(Build)->生成解决方案(Build Solution)”
然后你需要等7分钟左右,因为OpenCV的库很大,编译费点时间,不过别担心,第一次才费时,下次用就很快了。
编译完成后,就可以关闭VS了。
在D:\OpenCV\V3.0.0\opencv_win32\bin\Debug目录下,可以看到诸如opencv_calib3d300d.dll, opencv_core300d.dll, opencv_features2d300d.dll之类的.dll文件已经出现在文件目录中了,说明自建完成。
**在系统变量里的Path中添加:**D:\OpenCV\V3.0.0\opencv_win32\bin\Debug
重启计算机
在项目中配置OpenCV环境
在包含目录中添加:D:\OpenCV\V3.0.0\opencv\build\include
在库目录中添加:D:\OpenCV\V3.0.0\opencv_win32\lib\Debug
自建库的debug文件夹中的那一堆.lib文件给复制到依赖项中:
opencv_imgcodecs300d.lib
opencv_imgproc300d.lib
opencv_ml300d.lib
opencv_objdetect300d.lib
opencv_photo300d.lib
opencv_shape300d.lib
opencv_stitching300d.lib
opencv_superres300d.lib
opencv_ts300d.lib
opencv_video300d.lib
opencv_videoio300d.lib
opencv_videostab300d.lib
opencv_calib3d300d.lib
opencv_core300d.lib
opencv_features2d300d.lib
opencv_flann300d.lib
opencv_hal300d.lib
opencv_highgui300d.lib
在Visual Studio工具栏中,确认分别将解决方案配置和解决方案平台设置为Debug和 Win32。
使用vs2013选择Win32进行编译即可啦(๑>ڡ<)✿
小小VS2013 + QT5.6 + OpenCV3.0.0,拿下!