windows10在visual studio2019下配置使用openCV4.3.0

2020-10-21 10:02:04 浏览数 (1)

openCV是基于C 开发的一个强大的图像处理库。在用C 处理图像或视频时通常会使用到openCV这个库,但是这个库并非C 中的标准库,因此在使用之前需要先下载,并加载配置到我们的项目中。 那么怎么配置呢?首先你得有以下的所有工具。

  • windows10系统。可以通过镜像安装,也可以通过CD或U盘安装。
  • Visual Studio2019,基于实(省)用(钱),我使用的是community免费版,点击此处可以下载并安装.

点击下面下载中的community2019然后安装即可,具体步骤可参考其他教程案例。

安装完visual studio后就是安装opencv了,opencv在写这篇博客的时候最新版为4.3.0,因此改教程以4.3.0为例,其他版本的安装方式相同。opencv点击此处可以下载

下载完成后直接双击exe文件提取编译好了的文件即可,安装完exe之后会有如下几个文件,其中build文件夹中保存着主要使用到的函数代码块,source文件夹中保存着相关的文档以及其他必要文件。

接下来就是要将opencv的安装路径配置到环境变量中。将opencv中的build文件夹下的x64文件夹下的vec15中的bin路径添加到环境变量中,如下图中我的opencv中的地址:

将以上地址拷贝后加入环境变量中。注意windows10中环境变量分为系统环境变量和用户环境变量,要看你的visual studio的环境变量是在哪一个里面。为了安全起见,建议都加上,如下图:

双击,新建,粘贴地址即可。

现在万事俱备,只欠…啥也不欠了,接下来就打开visual studio创建一个基本的C 项目,然后更改一些配置就可以写opencv代码了。点击创建新项目,找到C 控制台应用(空项目也可以),并输入一个项目名称和项目地址,如下两步:

点击创建之后,需要配置opencv所需的依赖。点击视图,找到“其他窗口”里面的“属性管理器”,点击之后,右边的侧栏中会出现属性管理器。双击项目名称,然后找到VC 目录,将“库目录”和包含目录分别改为opencv所在地址的库目录和包含目录(点击编辑即可),如下图:

注意:包含目录最好将两个都添加进去,一个是include所在的地址,一个是include文件夹下opencv2所在的地址。

那么接下来就愉快的写代码吧,哦,不,还有最后一步。配置链接器中的附加依赖项,附加依赖项就是和bin文件夹同地址中的lib文件夹中的“opencv_worldxxxd.lib”文件,其中xxx表示版本(如4.30版本,则xxx为430,后面的d表示debug),如果是release版的话,把d去掉即可。

这次,可以真正的愉快的敲代码了,敲代码的第一步就是先把头文件包含进来。opencv中几个重要的头文件就是:

把这些头文件都包含好了之后,再通过using namespace cv把cv名空间引入就行了(或者在每需要使用到cv库里的对象或函数时都在前面加一个cv::也行)。

那么接下来就来看一个简单的opencv例子吧,就简单的显示一张图片,图片在opencv中就是Mat对象。代码如下:

代码语言:javascript复制
#include <iostream 
#include<opencv2/core/core.hpp 
#include<opencv2/highgui/highgui.hpp 
#include<opencv2/imgproc/imgproc.hpp 

using namespace cv;

int main()
{
  Mat example = imread("F:xxxxxzhiyezhao.PNG"); //图片地址
  if (example.empty()) {
    std::cout << "ERROR!" << std::endl;
    exit(EXIT_FAILURE); //如果读取不成功直接中断程序,避免引起之后代码产生不可预知的异常
  }
  imshow("我的职业照", example);
  waitKey(0); //这一行一定不要忘了,否则照片就会闪现的,此处表示窗口停顿多久,单位为毫秒,0表示永久

}

显示如下: 当然你们是看不到这张图片的,帅气的职业照是不能随意给大家看的(傲娇脸)。

到这里为止就大功告成啦,快乐的写你自己的代码去吧!

什么,你还是碰到了以下错误?

这个就是因为你没有使用x64模式而是x86模式,只需要把图中的模式改掉即可

什么,你又碰到了下面这个错误?

这个是因为使用了相对路径,去属性里面把链接器中的输入依赖项目改成绝对路径即可,如下:

接下来就没什么大问题了。

0 人点赞