在visual studio 2022 C++中配置最新版OpenCV和可能错误解决方案

前面我们写了一篇博文有关在C#中配置OpenCV,但C#版本的OpenCV的学习资源相对较少,C++版的和Python版的比较多。这里先说说C++版的如何配置吧!总共完成四步即可使用起来。


文章原出处: https://blog.csdn.net/haigear/article/details/129617330

一、下载并安装OpenCV

1、下载OpenCV

我们来到官网,最新版截止到22年12月的4.7,无所谓你安装哪个版本都无所谓,现在市面上4.5的教程资源多一些,你可以考虑4.5的吧。不过我这里做演示就用4.7的。
在这里插入图片描述
进来之后记得滑到下面,点下面的release才能有下载的按钮,选择对应的版本即可下载,不过我这里还是提醒一句,不要用浏览器下载,用迅雷速度很快(有的人有浏览器下载一看只有几十K,就去找国内的镜像网站下载去了,没有这个必要),我的下载速度达到3M左右,应该是算不错的了。
在这里插入图片描述

2、安装OpenCV

下载完毕后,我们就着手安装了,其实严格意义上说不叫做安装吧,叫做解压,选择一个你自己喜欢的目录解压即可。
在这里插入图片描述
我这里默认你已经在VS中安装好了c++桌面开发环境了,如果没有这个简单在Visual Studio Installer中选择并安装即可。这里不再赘述,贴个图,怕你安装错了!

在这里插入图片描述
如果不安装那么你的项目即使能够建立也不能编译,这里不展开说了哦!去安装去吧!
在这里插入图片描述

二、配置环境

1、外部包含目录

主要配置两个东东,外部包涵目录和库目录及链接器
在这里插入图片描述
千万不能把目录层级搞错,否则你仍然会在编译阶段遇到找不到包涵文件

在这里插入图片描述
这样的错就是因为上述目录多进入了一级,到了OpenCV2,千万不必这样
在这里插入图片描述

2、库目录

在这里插入图片描述

3、链接器输入:附件依赖项

附加依赖配置的时候,我们还是在OpenCV\opencv\build\x64\vc16\lib下拷贝,目录和上面的库目录一样,但一定记住,文件扩展名不要丢掉了,否则配置无效,这里如果你是要发布的就拷贝没有d的lib,我这里是需要调试debug的,所以拷贝带有d的lib文件。
在这里插入图片描述

到了这里,我们的配置算是结束了,可以正常编译opencv的项目了。

三、测试运行OpenCV

1、找不到opencv_world470.dll

第一次运行,你可能会遇到这个错误,那是由于没有配置环境变量,配置好即可,将外部
在这里插入图片描述
在用户环境变量或者系统环境变量的path中添加一个opencv的bin目录
在这里插入图片描述
新建添加,粘贴目录在这里即可
在这里插入图片描述
记得重新启动VS再次进入项目才能够生效。

2、vcruntime140.dll处引发异常

遇到这个错误,那是因为链接输入配置处的lib文件搞错了,你可能拷贝的是没有带d的lib文件,修改过来即可。
在这里插入图片描述

3、代码和运行

测试代码如下:

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;

int main()
{
    
    
   
    std::cout << "Hello World!\n";
    Mat dstimg;
    Mat srcimg = imread("d:\test.jpg");
    cvtColor(srcimg, dstimg, COLOR_RGB2GRAY);
    imshow("showimage",dstimg);

    waitKey();
   

    return 0;
}

上面的代码只是将图片读入后变成灰度图,测试CV的调用是否正常。
运行效果如下:
原图:
请添加图片描述
运行后的灰度图:
在这里插入图片描述
说明已经配置完成了。

4、保存一个配置PropertySheet

这个比较简单,就是在属性管理其中,点击第二个图标,新建一个PropertySheet,双击这个PropertySheet,它和我们打开项目的属性一模一样,那么你将上面配置过的属性,比如链接器的输入配置,外部包含目录,目录库等,都在这里配置一次,或者拷贝过来也是很容易的,这个PropertySheet就可以在你下次新建项目的时候直接导入即可省去上面那一整套繁琐的配置工作了。

在这里插入图片描述
在这里插入图片描述
这个很容易,所以不再啰嗦了,记得保存的这个PropertySheet取一个你记得的名字,放在一个你很容易找到的目录下,当做一个宝贵的“再利用资源”存好。

码字不易,转载请注明出处:https://blog.csdn.net/haigear/article/details/129617330

猜你喜欢

转载自blog.csdn.net/haigear/article/details/129617330