一、引言
在计算机视觉领域,OpenCV 是一个功能强大且广泛使用的开源库,它提供了众多用于图像处理和计算机视觉任务的函数与算法。而 Visual Studio(VS)作为一款主流的集成开发环境,以其丰富的功能和高效的开发体验深受开发者喜爱。将 OpenCV 配置到 VS 中,能够充分发挥两者的优势,让开发者在一个便捷的环境中进行计算机视觉项目的开发 ,无论是图像识别、目标检测,还是视频分析等,都能更加高效地实现。
二、前期准备
2.1 下载 VS 和 OpenCV
VS 下载:前往微软官方网站,在下载页面中,你可以看到多个版本的 Visual Studio 供选择,如社区版、专业版和企业版等。对于个人开发者和初学者来说,社区版完全能够满足日常的开发需求,它提供了丰富的功能和工具,并且是免费使用的。点击下载按钮,选择合适的下载路径,耐心等待下载完成 。
OpenCV 下载:进入OpenCV 官方网站,在发布页面展示了各个版本的 OpenCV。建议选择最新的稳定版本,以获取更多的功能和性能优化。下载适用于 Windows 系统的安装包,文件格式通常为.exe,下载完成后将其保存到易于找到的位置 。
2.2 安装 VS 和 OpenCV
VS 安装:找到下载好的 VS 安装程序,双击运行,以管理员身份运行安装程序,避免权限问题。安装程序启动后,会进入安装向导界面,在工作负载选择页面,根据自己的开发需求勾选相关的工作负载,比如若要进行 C++ 开发,需要勾选 “使用 C++ 的桌面开发”;如果涉及到 Python 开发,可勾选 “Python 开发” 等。同时,注意右下角的 “下载后再安装” 选项,勾选后可在下载完成后断网继续安装。安装路径建议选择磁盘空间充足且路径中不包含中文的位置,避免后续出现兼容性问题。设置好相关选项后,点击 “安装” 按钮,等待安装过程完成,安装完成后可选择重启电脑使配置生效 。
OpenCV 安装:双击下载的 OpenCV 安装包,选择解压路径,解压完成后,在解压目录下会生成一个名为 “opencv” 的文件夹,该文件夹包含了 OpenCV 的所有文件,其中 “build” 文件夹下是使用 OpenCV 相关的文件,“sources” 文件夹包含官方示例集和源代码。安装完成后,需要配置环境变量,右键点击 “此电脑”,选择 “属性”,在弹出的窗口中点击 “高级系统设置”,然后点击 “环境变量” 按钮。在系统变量中找到 “Path” 变量,点击 “编辑”,点击 “新建”,浏览并选中 OpenCV 解压目录下的 “buildx64vc15in” 文件夹(根据实际安装的 VS 版本和 OpenCV 版本,路径中的 “vc15” 可能会有所不同),添加完成后点击 “确定” 保存设置 。
三、VS 配置 OpenCV 详细步骤
3.1 配置环境变量
配置环境变量是为了让系统能够找到 OpenCV 的动态链接库(DLL)文件。找到 OpenCV 解压目录下的 “buildx64vcXXin” 文件夹(XX 代表 VS 版本对应的 VC 版本号,例如 VC15 对应 VS2017 ,VC16 对应 VS2019),复制该文件夹路径 。然后右键点击 “此电脑”,选择 “属性”,在弹出的窗口中点击 “高级系统设置”,接着点击 “环境变量” 按钮 。在系统变量中找到 “Path” 变量,点击 “编辑”,在弹出的编辑环境变量窗口中,点击 “新建”,将刚才复制的 OpenCV bin 文件夹路径粘贴进去,点击 “确定” 保存设置。完成设置后,关闭所有窗口,使环境变量配置生效 。

3.2 新建项目并设置属性
打开 Visual Studio,点击 “文件” -> “新建” -> “项目”,在弹出的新建项目窗口中,选择 “Visual C++” -> “Windows 桌面” -> “桌面应用程序项目”,在名称栏输入项目名称,如 “OpenCV_Test”,选择项目保存位置,然后点击 “确定” 。创建好项目后,在解决方案资源管理器中,右键点击项目名称,选择 “属性”,在弹出的项目属性页面中,进行以下设置:
配置包含目录:在 “VC++ 目录” -> “包含目录” 中,点击下拉框选择 “编辑”,在弹出的包含目录编辑窗口中,点击 “新建”,添加 OpenCV 解压目录下的 “buildinclude” 和 “buildincludeopencv2” 文件夹路径 。
配置库目录:在 “VC++ 目录” -> “库目录” 中,点击下拉框选择 “编辑”,在弹出的库目录编辑窗口中,点击 “新建”,添加 OpenCV 解压目录下的 “buildx64vcXXlib” 文件夹路径(XX 同样代表 VS 版本对应的 VC 版本号) 。
3.3 添加依赖项
在项目属性页面中,展开 “链接器” -> “输入”,在 “附加依赖项” 中,点击下拉框选择 “编辑”,在弹出的附加依赖项编辑窗口中,添加与当前配置模式(Debug 或 Release)对应的 OpenCV 库文件 。例如,在 Debug 模式下,添加 “opencv_worldXXXd.lib”(XXX 为 OpenCV 版本号);在 Release 模式下,添加 “opencv_worldXXX.lib” 。添加完成后,点击 “确定” 保存设置。至此,VS 中 OpenCV 的配置已全部完成 。
四、运行案例代码实操
4.1 准备案例代码
在完成 OpenCV 在 VS 中的配置后,接下来就可以运行案例代码来验证配置是否成功,并初步体验 OpenCV 的强大功能。这里提供一个简单的读取并显示图像的示例代码 :
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat dragon = imread("恐非太.jpg");
if (dragon.empty())
{
printf("无法加载图像,请检查路径!
");
waitKey(0);
return -1;
}
// 创建可调整大小的窗口(WINDOW_NORMAL允许手动缩放)
namedWindow("【1】恐非太图", WINDOW_NORMAL);
// 可选:自动将窗口大小调整为图像大小(避免窗口过小)
resizeWindow("【1】恐非太图", dragon.cols, dragon.rows);
imshow("【1】恐非太图", dragon);
waitKey(0);
destroyAllWindows();
return 0;
}

这段代码的主要功能是使用 OpenCV 库读取一张图像,并在一个窗口中显示出来 。具体解释如下:
#include <opencv2/opencv.hpp>:包含 OpenCV 的核心头文件,该文件包含了 OpenCV 中常用的类和函数的声明,是使用 OpenCV 功能的基础 。
using namespace cv:使用cv命名空间,方便直接使用 OpenCV 中的函数和类 。
Mat img = imread(“test.jpg”);:使用imread函数读取指定路径下的图像,将图像数据存储在Mat对象img中。如果图像读取失败,img将为空 。
if (img.empty()):检查图像是否成功读取,如果为空,说明图像读取失败,输出错误信息并返回 -1 。
namedWindow(“Display Image”, WINDOW_AUTOSIZE);:创建一个名为 “Display Image” 的窗口,WINDOW_AUTOSIZE参数表示窗口大小自动适应图像大小 。
imshow(“Display Image”, img);:在指定的窗口 “Display Image” 中显示图像img 。
waitKey(0);:等待用户按键,参数 0 表示无限等待,直到用户按下任意键,程序才会继续执行 。
4.2 运行及调试代码
将上述代码复制到 VS 项目的源文件中(通常是main.cpp) 。点击 VS 界面上的 “本地 Windows 调试器” 按钮(绿色的三角形图标),或者按下快捷键 F5 来运行代码 。如果配置正确且图像路径正确,将会弹出一个窗口显示图像。
在运行过程中,可能会遇到一些错误,常见的错误及解决方法如下:
图像无法显示或报错 “Could not open or find the image!”:这通常是因为图像路径错误,检查imread函数中的图像路径是否正确,确保图像文件存在且路径中没有中文或特殊字符 。如果图像不在项目目录下,需要使用绝对路径 。
报错 “无法启动此程序,因为计算机中丢失 opencv_worldXXX.dll”:这是因为系统找不到 OpenCV 的动态链接库文件,确保已将 OpenCV 的bin目录添加到系统的环境变量Path中,并且重新启动 VS 使环境变量生效 。如果问题仍然存在,可以尝试将opencv_worldXXX.dll文件复制到项目的可执行文件目录下(通常是Debug或Release文件夹) 。
其他编译错误:如头文件找不到、链接错误等,检查 VS 项目的属性设置,确保包含目录和库目录设置正确,以及附加依赖项中添加了正确的 OpenCV 库文件 。
OpenCV 库分 32 位和 64 位,需与项目编译架构一致:在 Visual Studio 工具栏中,将编译架构从 改为
x86(OpenCV 通常默认提供 64 位库,若使用 32 位需单独编译)。
x64
五、总结与拓展
通过上述步骤,我们成功地在 VS 中完成了 OpenCV 的配置,并运行了一个简单的案例代码。这个过程虽然涉及多个步骤,但只要按照每一步的详细说明进行操作,就能顺利搭建起开发环境。


