总结下我的配置方法,算是做个备忘录。该方法同时兼容win10和win11。
1、下载opencv:官网下载地址OpenCV - Open Computer Vision Library
首先到opencv官网下载win平台的opencv,解压后你可以看到下面两个文件夹——build和sources,build是官方已经为我们编译好的可以直接使用的,而sources中是opencv的源码,仅供高级玩家尝试。
2、计算机环境变量配置
【此电脑】->右键->【属性】
见右边,选择【高级系统设置】
在刚刚下载的opencv的文件夹中,从build进入,找到x64的bin,复制路径
【注意是bin不是lib】
添加bin文件夹的路径到环境变量
点击确定,即完成环境变量的配置。
3、在VS中进行配置
单个项目的配置方式:
创建一个空的c++项目:
首先检查是否是x64
如果这里是x86记得先换成x64。
项目右键选择属性
属性中,首先设置【VC++目录】的【包含目录】,点击编辑
在build下找到这两个目录分别添加,确定
添加库目录:
【VC++目录】配置完成,下面在【链接器】->【输入】中添加【附加依赖项】
在刚刚的库目录下找到这两个文件
将名称复制到【附加依赖项】中
这里带d的是用于Debug的,不带d的用于Release,如果只需要Debug,那添加一个带d的即可。
【应用】->【确定】
至此环境配置就完成了。
来个简单的显示图片例程试试,如果能正常显示图片,说明配置成功。
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
Mat img = imread("C:\\Users\\Administrator\\Pictures\\1.jpg");
imshow("测试opencv", img);
waitKey(0);
}
显示成功。
但是这样配置的环境仅针对一个项目,如果有多个项目需要为每个项目重复上述操作。因此考虑将这些路径配置储存到项目属性表,只要opencv文件夹不更改,之后的项目直接加载属性表文件即可。
创建属性表的方式如下:
首先打开属性管理器,在x64的Debug处添加新的属性表
创建一个【OpenCV.props】
双击新建的属性表,按照上述方式进行配置、储存。就可以在创建的目录下看到属性表文件了。
之后再使用时只需【添加现有属性表】,并选择【OpenCV.props】即可,无需重复配置。
4、常见错误分析
(1)无法解析的外部符号。。。
错误原因:平台选错了,刚刚配置的是x64环境下的opencv,出现这些报错说明运行在x86环境下。
解决方案:将这里的x86改成x64。
(2)由于找不到opencv_world430d.lib。。。
错误原因:首先明确【opencv_world430d.dll】文件的位置,是在【.\build\x64\vc15\bin】中,
涉及到这个文件夹的操作只有【计算机环境变量配置】步骤,说明环境变量配置失败。
解决方案:
首先看自己是否正确添加了【...\build\x64\vc15\bin】文件夹到环境变量,注意时bin不是lib;
如果不行,考虑把opencv_world300.dll文件直接放到C盘中,注意:64位系统用户需要注意,32位的DLL文件放在【C:\Windows\System32】,64位的DLL文件放在【C:\Windows\SysWOW64】。
如果还不行,把opencv_world300.dll文件直接放到项目的Debug文件夹肯定没问题了(不过是个笨方法)。