一、安装VS2017
参考:https://blog.csdn.net/wei_lin/article/details/95625164
二、OpenCV与Visual Studio版本搭配
VS版本与VC版本的对应关系:
Visual Studio 6 : vc6
Visual Studio 2003 : vc7
Visual Studio 2005 : vc8
Visual Studio 2008 : vc9
Visual Studio 2010 : vc10
Visual Studio 2012 : vc11
Visual Studio 2013 : vc12
Visual Studio 2015 : vc14
Visual Studio 2017 : vc15
opencv对VC版本的支持情况:
opencv 2.4.10 == vc10、vc11、vc12
opencv 2.4.13 == vc14
opencv 3.4.x == vc14、vc15
opencv 4.x.x == vc14、vc15
通常下载的OpenCV文件名类似opencv-3.4.6-vc14_vc15.exe,可通过文件名看到支持的VC版本
三、下载与安装OpenCV
下载地址:https://opencv.org/releases/
我的版本为:opencv-3.4.6-vc14_vc15.exe
双击下载后运行exe只是做解压处理,我的解压目录是:D:\Software\OpenCV
解压完成后如下:
四、添加OpenCV的系统环境变量
右击桌面图标“此电脑”->属性->高级系统设置->环境变量
找到系统变量中的path变量,添加路径“D:\Software\OpenCV\build\x64\vc15\bin”
注:\OpenCV\build\x64下有两个文件夹,vc14(表示VS2015)与 vc15(VS2017),我安装的是VS2017,故选择vc15。
五、新建VS2010工程
打开VS 2017,点击 文件->新建->项目,
新建一个空项目,名称为first_opencv.
点击确定后即创建项目,完成后工程结构如下:
六、为工程添加代码
工程下面的“源文件”右击->添加->新建项
选择添加C++文件,文件名为test.cpp
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
Mat img = imread("E:\\my.jpg"); // 读取一张图片
namedWindow("图片"); // 创建一个名为 "图片"窗口
imshow("测试opencv", img); // 在窗口中显示图片
waitKey(6000); // 等待6000 ms后窗口自动关闭
//cvWaitKey(-1); //一直显示图片
return 0;
}
将代码复制进去后发现代码下面有红色波浪线(报错),这是因为还没有配置工程的OpenCV环境的原因,接下来进行配置。
七、VS2017工程配置OpenCV环境
1. 属性管理器
进入属性管理器,点击菜单栏上的“视图”->属性管理器
对Debug|X64进行配置,右击“Debug|X64”->属性
对属性页中的 “通用属性->VC++目录->包含目录”,"通用属性->VC++目录->库目录"以及“通用属性->链接器->输入->附加依赖项”这3项进行设置。
2. “VC++目录->包含目录”设置
在包含目录中加入以下项(以自己的OpenCV具体目录为准):
D:\Software\OpenCV\build\include
D:\Software\OpenCV\build\include\opencv
D:\Software\OpenCV\build\include\opencv2
如下图红色方框内所示:
3. “VC++目录->库目录”设置
在库目录中加入以下项(以自己的OpenCV具体目录为准):
D:\Software\OpenCV\build\x64\vc15\lib
如下图红色方框内所示:
4. “链接器->输入->附加依赖项”设置
通用属性->链接器->输入->附加依赖项中加入(需要根据自己的OpenCV版本修改后面的版本号):
opencv_world346d.lib
注:opencv_worldxxxd.lib这个文件可在“\OpenCV\build\x64\vc15\bin”下查看,可以看到opencv_worldxxxd.dll,就是这个动态链接库,需要根据自己的OpenCV版本将后面的版本号改一下。另外Debug模式的只添加带d的那个.lib文件,相应的Release模式下只添加那个不带d的.lib文件
5. 运行项目
我选择配置的是64位的环境,注意在运行项目是将以下红色框内工程默认的x86改为x64
以上设置完成后运行工程,显示如下:
八、常见问题
1.以上配置完成后代码依旧报错
可能是默认的x86没有修改为x64(配置的哪个就修改为哪个)