前言:
吐槽一下。。。刚开始的时候像要用VS2022来进行编译,但是编译了两遍也没有编译成功。原因是只能支持2017-2019的编译器。刚开始的时候还以为是自己在Cmake编译的时候出了什么问题,结果又浪费了一次时间重新用Cmake编译了一下,结果还是不行。所以就选用了VS2019。
一、下载Cmake
这个去官网上下载就行!!
这两个版本都可以,看你心情,想用那个就用那个。
链接给各位爷放在这里了。Download | CMake
这里说一下,在安装Cmake的时候不要一股脑的傻瓜式安装,安装的时候看一看,在安装的过程中有一个环境变量添加到自己的电脑用户当中,可以选择一下。
二、下载VS2019
可以自己去官网下载!!也可以点我的链接。
链接给各位爷放在这里Downloads - Visual Studio Subscriptions Portal
看自己的心情,想下载那个就下载那个。
三、下载opencv的版本
可以直接去官网下载,也可以点我的链接去下载。
链接给各位爷放在这里了Releases - OpenCV
还是多重选择,哈哈哈哈!!
版本的的话自己进行选择。
教程所用的是opencv4.5.5,下载包的话就下载我下图框起来的那个就可以。
四、下载opencv_contrib-4.5.5
官方链接放在这里了opencv/opencv_contrib: Repository for OpenCV's extra modules (github.com)
opencv_contrib-4.5.5的链接在这里opencv/opencv_contrib at 4.5.5 (github.com)
code下来解压就行了。
五、将下载好的opencv和opencv_contrib解压好放在同一个文件夹下,并且在此文件夹下创建一个build文件夹。如图所示
由于自己编译所需空间较大,所以建议大家放在空间比较富裕的盘里(我的是13.6G)。
六、打开Cmake
1、路径设置好了之后,点击configure,之后会出现下图的界面。
选择自己VS编译器的版本
选择好了之后点击Finish。
等待运行完成之后会出现很多的问题,这个时候不要慌,咱们慢慢的处理。
像下图中框起来的错误是python的错误,这个咱们是不需要管的,因为到最后咱们是应用到c++上的。
其次就是下图中的这种错误。
这种cmake错误是需要处理的。
看报错的信息,我们可以之后是有东西没有找到,让我们自己去下载,下载的链接都是给了我们的在我们创建的build文件夹下的CMakeDownloadLog.txt文件里面。
信息如下图。信息都代表着什么都写在了图上。
将下面所有带cmake_download的信息全部和上面一样的方式进行处理。
有的时候打开链接里面是这种格式,如下图
像这种情况就直接按Ctrl+S保存就好了,他是以txt格式进行保存的,保存好了之后在改成咱们需要的格式就ok了。
按照以上的操作处理完成之后,点击configure,这个时候再来看有没有报错,我的报了一下错误。
解决方法:在search里面搜索 OPENCV_GENERATE_SETUPVARS将他的value的勾去掉,如下图。
完成之后点击configure,等待运行结束。如果出现别的错误请自行解决,或者留言。
运行结局没有问题之后算是完成了一小部分,接下来选择我们需要的东西,在搜索框里搜索cuda。如下图,全点上勾。
再搜索opencv_world,如下图,这个的作用就是,把所有的包整合到一起,这样虽然会造成一些包的颓余,但是个人觉得更方便一点,要不然在后期使用的时候要添加很多.lib包。
再搜索OPENCV_ENABLE_NONFREE,将其打上勾,如下图所示。
再搜索OPENCV_EXTRA_MODULES_PATH,将咱们下载好的opencv_contrib文件夹的路径添加进去要精确到models,如下图所示。
以上完成之后点击configure。等待运行结束,没错你会很吃惊,会有很多报错,如下图。
解决方法还是和上面的解决方法一样,打开 CMakeDownloadLog.txt。这次的保存会比较多,耐心的下载把。哈哈哈哈!!!
全部下载完成之后点击configure,大部分是没有报错的。
随后在search中搜索cuda,如下图所示,将自己显卡的算力写在这个地方。
查看显卡算力的链接放在这里了CUDA GPUs | NVIDIA Developer
完成之后点击configure
没有报错之后点击Generate,等待运行结束之后点击Open Project,他会自己启动你的vs,或者自己去build里面找Opencv.sln项目用vs启动。
七、用vs打开项目之后
如下图所示,右击models下面的opencv_world,点击属性,看图二操作。
完成之后操作如下图。
这个时候要等上一阵子,可能是半个小时,也可能是好几个小时,看你电脑性能。
跑完之后出现如下错误不要慌,这个是不耽误咱们使用的,这个报错是python导致的。
以上咱们的opencv就算是编译完成了。跑完Debug版之后建议也去跑个Release,这样两个环境下就都可以使用了。
八、配置环境
先在本机电脑上添加环境变量,如下图
随后大家创建一个C++项目,右击解决方案,如下图所示。
点击属性。操作如图所示
测试代码给您放下面了。
#include <iostream>
#include <opencv2/opencv.hpp>int main()
{
cv::Mat src = cv::imread("E:\\image1\\0.jpg");//图片路径
cv::imshow("show", src);
cv::waitKey(0);
}