当前位置: 首页 >  网站大师 >  【OpenCV】在VS2017中配置OpenCV开发环境

【OpenCV】在VS2017中配置OpenCV开发环境

导读:开发环境:OpenCV4.5.4、VS2017、x64.打开属性管理器:视图–>其他窗口–>属性管理器.找到 Release|x64,配置OpenCV环境主要操作的对象就是Micorosoft.Cpp.x64.user.需要注意的是Micorosoft.Cpp.x64.user.

开发环境:OpenCV4.5.4、VS2017、x64

打开属性管理器:视图–>其他窗口–>属性管理器

找到 Release|x64,配置OpenCV环境主要操作的对象就是Micorosoft.Cpp.x64.user

需要注意的是Micorosoft.Cpp.x64.user 在VS2019里没有了,只能手动创建,手动创建方式:右击Release|x64,选择“添加新项目属性表”

在VS2017和VS2015中都是自带的

右击Micorosoft.Cpp.x64.user ,选择属性 ,界面如下图所示:

找到VC++目录

找到包含目录 ,并选择编辑

包含目录的界面:

点击下图中的图标,该图标名为“新增一行”:

在新增的一行里需要输入配置OpenCV的所需要的文件路径

在配置路径前,需要安装OpenCV,方法如下:

下载后的安装包,虽然看着是exe,但本质是zip。可以将其改为zip文件,并解压

解压后,在里面可以看见两个目录:

  • build
  • sources

解压后,还需要将目录名修改为 opencv-4.5.4

在进行开发配置时,sources表示源码,build是cmake的产物,我们需要的就是这些产物

进入build目录

include目录的路径 是我们需要的,需要将其添加到项目的包含目录

添加后,还需要添加一个包含目录,需要将include下的opencv2目录 也添加进去:

也将其添加到项目的包含目录 中:

此时项目的包含目录中的openCV的路径就配置好了

VC++目录中还有一个路径需要配置:库目录

点击库目录的编辑

以同样的方式添加路径

build目录 下,打开x64目录 ,里面有两个目录:

  • vc14
  • vc15

vc15是给VS2017、2019配置时使用的

我们打开vc15目录,里面有一个目录名为lib

需要将lib目录 的路径配置到项目的库目录

配置好VC++目录的包含目录和库目录后,点击应用

接下来需要配置项目的链接器

链接器 中找到输入

打开对附加依赖项 的编辑:

打开后的界面如下图:

在刚刚配置的库目录路径 (D:\Environment\opencv-4.5.4\opencv\build\x64\vc15\lib)里面有两个文件:

  • opencv_world454.lib
  • opencv_world454d.lib

文件中的后缀d表示使用x86的Debug版本时才需要使用结尾是d 的文件来进行配置

若配置的是Release版本,则只需要使用不带d结尾 的lib文件来进行配置

此处,由于配置的Release版本,所以将opencv_world454.lib添加到附加依赖项

需要将全名,带后缀

若把带d的文件也放入,在使用Release版本的编译器进行编译时可能会编译异常,会出现错误的链接

配置好以后选择确定 ,并应用

综上,配置了三个内容:

  • VC++目录中的包含目录
  • VC++目录中的库目录
  • 链接器菜单中输入的附加依赖项

在IDE里面的配置就结束了

写一个测试文件,检查是否可以正确找到openCV的头文件

#include <opencv2/opencv.hpp>
#include <iostream>

// 引用openCV命名空间
using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	Mat src = imread("D:/20210111162448_20017.jpeg");
	imshow("input", src);  // 第一个参数是窗口的名称,第二个参数是要显示的图像
	waitKey(0);  // 一直阻塞,等待用户的指令
	destroyAllWindows();  // 消失并销毁所有窗口
	return 0;
}

写好程序以后,选择 生成 --> 重新生成解决方案

输出如下:

运行程序:

运行程序时,会遇到报错:找不到opencv_world454.dll

解决方法:

D:\Environment\opencv-4.5.4\opencv\build\x64\vc15\bin目录下有两个文件:

  • opencv_videoio_ffmpeg454_64.dll
  • opencv_world454.dll

opencv_world454.dll是我们运行时所依赖的dll

opencv_videoio_ffmpeg454_64.dll是视频读写时用于进行编解码的dll

需要将这两个文件所在的目录路径,放到环境变量

在环境变量中,找到系统变量 中的Path

对Path进行编辑,将D:\Environment\opencv-4.5.4\opencv\build\x64\vc15\bin这个路径添加到Path中

此时执行还是找不到,需要将重启IDE

重启IDE后可以发现,可以正常运行程序,输出图片

自此,在VS2017中的OpenCV环境就配置完毕

内容
  • 三维模型轻量化在移动应用场景的如何发挥作用
    三维模型轻量化在移动应用场景的如
    2023-12-01
    在移动应用场景中,三维模型的重量对于应用的性能、流畅度和用户体验都有很大的影响。而三维模型轻量化技术可以通过减少模型数据
  • 旋转网格超采样(Rotated Grid Supersampling)
    旋转网格超采样(Rotated
    2023-12-06
    旋转网格超采样(Rotated Grid Supersampling).这是对文章 4-Rook Antialiasin
  • gitlab ci 集成 eslint/prettier/tsc 做代码审查,并使用 eslint 输出作为显示代码质量
    gitlab ci 集成 esl
    2023-12-09
    前言.想自动化一下公司里代码的部分审查,最初想用 reviewdog 的,但是公司的域名基本都在 VPN 中访问的,gi
  • 什么是软件供应链?
    什么是软件供应链?
    2023-12-05
    1 软件供应链定义.需方和供方基于供应关系,开展并完成软件采购、开发、交付、获取、运维和废止等供应活动而形成的网链结构。
  • 在idea/webstorm等terminal运行命令报错:Command rejected by the operating system没有权限【已解决】
    在idea/webstorm等t
    2023-12-10
    在idea/webstorm等编译器terminal窗口运行命令报错:Command rejected by the o
  • 实时光线追踪(3)Ray Casting
    实时光线追踪(3)Ray Cas
    2023-12-01
    目录.硬件光追(Hardware Ray Tracing).加速结构(Acceleration Structure,AS