一文搞定 Visual Studio 配置 OpenCV环境


前言

在 Visual Studio 上配置 OpenCV 环境是极其恼人的事情,尤其是对于初学者,经常几个小时过去了都配不好,将我们对代码的热爱扼杀在摇篮之中。
本文根据本人的无数次环境配置经历,总结了一套完整的 OpenCV 环境配置流程,包教包会,百分百成功。


准备工作

要在 Visual Studio 上配置 OpenCV 环境,首要的就是先下载安装 Visual Studio 和 OpenCV。以下提供了官方下载链接:

  • Visual Studio:下载后根据个人需求安装相应功能,初学者不要贪多,占用空间多,下载也慢。

  • OpenCV:下载完成后解压到指定路径即可,不要有中文路径。

大家下载时根据自己的需要,下载对应的版本,版本和你的项目不对应是很容易出问题的。OpenCV 是可以同时装多个版本的,虽然系统环境变量里只能设置一个,但是不同项目可以分开设置。

系统环境变量配置

系统环境变量里添加 OpenCV,相当于给系统一个默认的 OpenCV 版本。具体流程如下:

  1. 打开【高级系统设置】->【高级】->【环境变量】;
  2. 在 【Path】中添加 OpenCV 的 bin 文件夹路径,如D:\opencv\build\x64\vc14\bin,根据实际需求决定是配置 系统变量 还是 用户变量
  3. 重启电脑即可。

VS项目环境配置

项目环境配置可以依不同要求配置不同版本的 OpenCV,主要配置 包含目录(include)库文件(lib)

  1. 打开你的项目,确定项目的配置(Debug / Release)和平台(x86 / x64),后续配置需要;
  2. 打开【项目】->【**(你的项目)属性】;
  3. 在【VC++ 目录】中配置两个地方【包含目录】和【库目录】:
    1. 【包含目录】中加入 OpenCV 的 include 文件夹:

    D:\opencv\build\include
    D:\opencv\build\include\opencv
    D:\opencv\build\include\opencv2
    (第2条高版本可能没有)
    (貌似2、3条不加也行)

    1. 【库目录】中加入 OpenCV 的 lib 文件夹:

    D:\opencv\build\x64\vc14\lib
    (x64 和你的平台环境相关)
    (vc14 与你的 VS 版本相关,不同版本的 OpenCV 中包含的 vcxx 文件夹也不同)

  4. 在【C/C++】->【常规】中配置【附加包含目录】,也是加入 OpenCV 的 include 文件夹:

    D:\opencv\build\include
    D:\opencv\build\include\opencv
    D:\opencv\build\include\opencv2

  5. 在【链接器】->【输入】中配置【附加依赖项】,加入上述 lib 文件夹中的 *.lib 文件,如:

    opencv_world455.lib / opencv_world455d.lib
    (高版本 OpenCV中只需加入上述两个 *.lib 文件之一即可,后面有 d 的表示 Debug 版本的,否则是 Release 版本的)
    (低版本的需要加很多,去D:\opencv\build\x64\vc14\lib(上面添加的库目录)里面将 *.lib 文件添加进来,按需添加,如果不知道就全加。同理,后面有 d 的表示 Debug 版本的,否则是 Release 版本的)

Note:以上所有路径、文件需要按照自己的环境来找,不同版本均不同。

检验

实践是检验真理的唯一标准。配置完成后,随便找一张图片,使用以下代码进行测试:

#include<opencv2/opencv.hpp>

using namespace cv;

int main()
{
    
    
    Mat img; 							  //定义一个Mat变量存储图像
    img = imread("D:/test.jpg");          //读取图片,图片路径记得改一下

    imshow("test", img); 				  //显示图片
    waitKey(0);							  //窗口等待
}

如果弹出窗口显示了测试图片,那么恭喜你配置成功。如果没有,那折磨之路可能开始了,重新一步步检查是否有遗漏。祝好运!

补充

  1. 如果配置时路径中有 %OpenCV_DIR%,说明此处调用了系统环境变量中的 OpenCV 路径,请根据需求决定是否需要删除更改。
  2. 不同配置(Debug / Release)和平台(x86 / x64),都需要重新配置一遍,配置好后切换就不需要再配置了。

猜你喜欢

转载自blog.csdn.net/lucifer479/article/details/125605904