赞
踩
背景介绍(高效安装读者可以直接看下面正题):
为了安装这个Opencv的库,我真的踩了众多的坑,坑的是一直都没办法找到一条通往罗马的路,太艰辛啦!
一开始我按照网络上已有的一些文章去进行Opencv的安装,确实能让我顺利进行到了Cmake步骤,结果到了这一步怎么都过不去,上网查资料发现这个错误是自生的Visual Studio的错误,我的Visual Studio环境有问题,不支持Cmake这个opencv,然后我查遍了各大资料,尝试过重启电脑,重装Visual Studio 2019/2022,重新使用不同版本的Cmake与Opencv版本,全部都不行!一直卡在这一步,更别说之后的动作了,之后寻求万能的淘宝甚至都没法处理。
那好,那我只能另辟蹊径了,使用全新的环境一定Ok的Windows来安装opencv,用这个方式,不管你本机安装了些什么奇奇怪怪的配置或者程序,都不影响,只需要你有适当的内存就一定能安装成功!
好,背景介绍到此,我们进入主题!
若你本机环境杂乱,下载完了opencv,但是Cmake仍然过不去,急需一个稳定无异常的系统环境时,进行步骤一,安装一个新的Windows虚拟机进行。若本机为新机无异常,环境正常则可直接进行步骤二。
一:VMware Workstation 17.5.1 Pro for Windows与iso文件的安装
目前时间是2024/04/22,VMware的版本已经到了17了,我下载的版本也是该版本,大家下载时选择的版本可能不一样,可以自行选择。
下面的这篇博客我看了,按照他的操作也操作了一遍,整体应用下来没有什么问题,我也就不再重复编写一份类似的内容了,大家直接按照下面这篇博客进行实践就好啦,相信大家都能操作成功。
安装VMware15.5+安装win10虚拟机操作系统(非常详细)-CSDN博客
建议选择内存大小的时候,稍微选择大一点,我这边选择的是100G的内存,然后快用完了70G,建议你们稍微大一些。
二:下载vs2019
使用下面的链接可以直接下载vs2019 community的安装程序,双击程序后进行程序安装。(opencv使用的目前好像只有VS2015,2017,2019支持编译,VS2022好像不行,至少我尝试的好像不行,稳妥起见建议使用VS2019,有懂哥可以给大家答疑解惑一下)
安装时这两个都选上,C++的桌面开发与Linux的开发。因为这两个程序中包含基于Cmake的编译功能,很重要!
Thank You for Downloading Visual Studio Community Edition (microsoft.com)
三:下载Opencv库与Cmake工具
opencv的源码时从github上获取的,这个是国外的一个网站,下载偏慢一些,如果有VPN的用户,很推荐接下来的opencv下载或者cmake时都能启用VPN,会快一些,当然没有的用户也没关系,这部分等一会就好啦。下载链接如下:
进入链接后,分别需下载opencv与opencv_contrib(Opencv的扩展)。
点击tags,选择不用的版本。
我这里选择的是4.8.1的版本,各位可根据自身情况选择不同的版本。
然后安装Cmake,我这里安装的是3.29.2版本的,下载msi文件就好。
这里都没什么关键的,但是在下载完cmake后,再进行安装时,有一点要注意!安装中会遇到是否
将Cmake添加到系统路径中,注意选中这一条。除此之外便正常选择就好了。
四:Opencv的Cmake(生成)
在下载好上面的程序后,我们终于要进行到关键点了。
首先将我们下载好的两个opencv库放到一个专项文件夹中,然后将这两个zip文件进行解压,再创建一个空的opencv_Out文件夹用来存储待会输出的opencv文件,如下图所示:
打开Cmake(找不到可以左下角搜索栏直接搜索)。
然后点击两个目录后面的浏览(不要拷贝!可能存在中英文差异。路径尽量都用英文)。
第一个目录选择opencv源码解压的目录,有的解压文件会有一层文件名,有点有两层,不管有几层,让最后浏览出来的文件夹下面就有cmakelist.txt,如下图所示。
第二个目录选择你创建出来的用于存储opencv输出的空白文件夹。
接下来,若你有VPN,则可以开启使用VPN了,因为再Cmake中等下会访问国外的网站下载资源,有VPN下载会稍微方便一些(虽然有部分文件可能还是下载不全)。没有VPN也没关系,后面都会统一解决,问题不大。
点击Configure,等待比较长的时间
最后会出现执行成功(但是中间区域还是会出现一些红色的不通过项(类似如上图),这是正常的,有些python或者其他相关的环境咱没有的也不用管),然后多次点击Configure执行,大约三次后全部项均变为白色通过项。
点击Generate,出现Generating done。
添加opencv_Contrib下modules路径(用浏览选择,不要复制),勾选Enable_Bonfree框。
再次点击Configure与Generate,出现执行完成。
好,执行动作到此告一段落,接下来我们处理编译中报的错(这些错本质上是opencv去其他国外网站上下来的一些文件没有下载下来,接下来我们就要将他们一个一个的下载下来,并放到合适的位置)
找到opencv输出目录下面的CMakeDownloadLog.txt,该文件保存了所有的缺失的文件,包括从什么网页下载,存储到哪个路径下去,用什么文件名。
如下图所示,都给你们标注出来了,输入对应网页链接后,有些dll或者bat文件等是直接下载的,然后还有些txt文件是你们可以直接Ctrl + S进行保存,然后再修改名称存储到对应路径就好啦~。
然后搜索可以搜cmake_download,快速查找全部需要下载的文件。
然后里面有些文件是下载的比较慢的,可以耐心等等。(若是网不行,一直下不下来,那就上科技!用VPN,能很快就全部下载下来)
上述动作都完成后,接下来就是小小奇迹绽放!
执行动作Configure与Generate,出现执行完成,然后编译错误大幅度减少,也没有了download相关的错误!(至于有其他的python或者其他环境的错误不重要,不影响我们使用)
然后你去opencv输出目录下面,能看到OpenCV.sln文件,说明你的生成已经成功啦!!!
五:Opencv解决方案的编译(debug/release)
双击打开opencv.sln文件(我这里是用到VS2019),左上角可以选择使用Debug模式还是Release模式,默认是Debug模式。
第一步:点击右上角的解决方案,点击重新生成解决方案,接下来是漫长的等待,编译很慢~。
等待完成后,出现编译成功。
第二步:找到INSTALL项目,然后右键选择仅用于项目,选择第一个,仅生成INSTALL(B)。
等待执行完成后,在opencv输出目录下能找到install文件夹,那么大功告成啦!
接下来配置系统变量,进入改install文件夹中,找到x64/vc16/bin文件夹,然后将改文件夹路径复制下来。
打开桌面->找到我的电脑->右键->属性->
高级系统设置
环境变量
双击Path->将拷贝的文件夹路径复制到里面
注意:更新完环境变量后需要重启电脑方可生效!
六:VS环境配置,Demo测试
打开vs,新建一个C++控制台应用。
创建完成后,选择好自己的运行平台(我这里用的debug—x64的),选择视图->其他窗口->属性管理器
因为我这里编译平台是deug-x64,所以在debug-x64模块中添加新项目属性表 - opencv_4.8.1_debug_x64。
双击创建出来的属性表,找到VC++目录中的包含目录。
双击打开包含目录,往其中添加添加上一步中opencv输出目录下install文件中的两个文件夹路径(我这里是:D:\OpenCV\OpenCV_Out\install\include与D:\OpenCV\OpenCV_Out\install\include\opencv2)。
找到库目录。
添加install下面的lib文件夹(我的是D:\OpenCV\OpenCV_Out\install\x64\vc16\lib)。
再找到链接器->输入->附加依赖项,往里面添加上面这个lib文件夹下面的全部lib的文件名称(即 D:\OpenCV\OpenCV_Out\install\x64\vc16\lib文件内的全部lib文件名)。
全部一个一个的加进去。
到此就完成了,接下来用测试Demo跑一下。
#include <iostream>
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat src = cv::imread("E:\\image1\\0.jpg");//图片路径
cv::imshow("show", src);
cv::waitKey(0);
}
大功告成!
本篇文章到此基本结束了,上述大家若有更好的思路或者见解,欢迎大家和我讨论,相互促进相互成长!
另外,大家能一路执行到此,真的超棒!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。