1. 下载并安装OpenCV
官网地址:OpenCV下载
下载后打开,选择安装地址,直接安装即可
2. 配置系统环境
打开资源管理器
,点击系统属性
,将界面全屏
将界面全屏化后,点击右侧高级系统设置
,配置环境
选择环境变量
,然后在系统变量
里面找到Path
,点击编辑
新建后输入安装库的路径
X:\OpenCV\opencv\build\x64\vc15\bin
X:\OpenCV\opencv\build\x64\vc15\lib
**上面地址请自行更换到刚刚OpenCV的安装路径
3. VS2019项目配置
新建一个C++的空项目
设置项目名称,然后点击创建
在解决方案里面,选择源文件
添加一个Cpp文件
最后文件目录如下所示
点击右下角有一个属性管理器,然后在Debug|x64下面选择Microsoft.Cpp.x64.user并双击
这个操作是为了直接配置VS2019所有项目Debug|x64的编译条件,这样配置一次后就不用再配了
其他编译条件下操作相似,如果没有Microsoft.Cpp.x64.user,请看常见问题第一条
如果不想将配置永久保留,可以只在本次项目的属性,操作是点击项目->配置即可,接下来的操作一致
在双击打开来的界面里点击VC++目录,选择包含目录
点击后选择编辑
打开你的OpenCV安装路径下的build文件夹选择include和他的下级文件夹opencv2
将两个地址都复制进来,点击确定
X:\OpenCV\opencv\build\include
X:\OpenCV\opencv\build\include\opencv2
然后是选择库目录,选择编辑
相似的操作,将地址复制进去
X:\OpenCV\opencv\build\x64\vc15\lib
完成这两步操作后,不要忘记点击应用,然后下一步点击链接器的输入
在附加依赖项里面点击编辑
打开OpenCV的安装目录,依次点击build->x64->vc15->lib,复制这个.lib后缀的文件名字进去就好
这里解释一下,后面的几个数字代表的是opencv的版本,所以不同版本会不一样,不必多虑
比如这里452代表OpenCV版本为4.5.2
,如果是OpenCV其他版本,只需要修改dll的名字,例如:opencv版本为3.4.0
,只需将dll名字改为opencv_world340d.lib
即可。可以查看opencv\build\x64\vc15\lib目录,确认所修改版本名称。
带有d的是指Debug版本,没d的是Release版本,这里我们是配置Debug|x64的版本,所以需要选择带d的,如果你想配置Release版本就选另外一个
然后复制进去
opencv_world452d.lib
点击确认,然后千万不要忘了点应用!
以上就配置完了,重启VS2019
4. 测试环境
确保环境正确,是Debug|x64
在之前新建的函数中输入
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("X:\\CodeItem\\OpenCV\\test\\CV_test\\test.png");
imshow("这是一张图片", img);
waitKey(0);
return 0;
}
点击开始执行,或者直接ctrl+F5
运行成功!
常见问题
没有Microsoft.Cpp.x64.user
那么你需要将一个叫MSBuild的文件夹放到C:\Users"你的用户名"\AppData\Local\Microsoft这个路径里面
这个文件夹我打包好了提取码:yqk5
如下图所示
然后重启VS2019
就好了
找不到库函数
如果上面步骤没错,还是报一大堆错说找不到一堆库,建议检查一下系统环境配置和项目配置,然后重新生成解决方案,还不行就直接删项目,新建一个项目再来一次,多半就好了.
运行报错找不到.dll文件
将opencv\build\x64\vc15\bin目录下面的opencv_world452.dll
和opencv_world452d.dll
文件复制到C:\Windows\SysWOW64文件夹下。
将opencv\build\x64\vc15\bin目录里面的opencv_videoio_ffmpeg452_64.dll
和opencv_world452d.dll
文件复制到C:\Windows\System32文件夹里面。
如果是opencv其他的版本,把对应的.dll文件移动到上述两个C盘文件夹即可。如果报错找不到opencv_xxxxxxx.lib文件,就试试看把相关lib文件复制到C:\Windows\System32和C:\Windows\SysWOW64这两个文件夹里面。
无法解析的外部符号
编译模式和平台一定要与配置界面保持一致!我们配置的是Debug | X64,这里不要设错,设错会出现无法解析的外部符号。
如果附加的依赖项中添加的是不带d的lib,这里就设Release,带d的设Debug,不同的编译环境是不能用一样的设置的!