- 配置环境变量
下载安装完毕后,即可进行环境变量配置,点击Path
用户变量,配置后如下图所示
- Include目录和lib目录的配置,一次完成
可以理解为就是包含的头文件目录要在编译器里配置好,在VS的“解决方案管理器”,右键点击解决方案“属性”,在属性页上点击VC++目录
,在“引用目录”里可以选择Opencv的安装目录,选择include
文件夹。
库目录
选择安装目录下的x64
文件夹,把vc14
和vc15
都选上即可。
- 链接库的配置
看了一些参考资料,好像opencv3需要一个个的写入lib文件名,但是我安装的opencv4.5.5的lib文件就很少,只有opencv_world455.lib
和opencv_world455d.lib
,似乎只要添加这两个即可,具体能不能行,我们等下走一个测试程序。具体添加路径在“配置属性-链接器-输入-附加的依赖项”中添加(我是手动输入文件名的)后来证明问题就出现在这一步
- 开始测试
测试代码如下:
#include <opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("0.jpg");
imshow("image", img);
waitKey(6000);
}
这段代码我自己编译了,有几个问题值得拿出来讨论
首先,VisualStudio可以在这里选择x64还是x86编译器,最好是在这两种编译器环境下都按照上述1,2,3操作一下。
其次,在我第一次执行测试代码时,会弹出下面这个错误,然后也无法正确加载图片
后来在网上找了很多解决办法,大多数说的都是文件路径问题,其实完全不是,最关键的是设置链接库时(附加的依赖项),如果是Debug模式,则只要放带d的lib
文件,反之,如果是Release模式,则只要放不带d的lib
文件,之后千万别忘了清理解决方案。
这样操作之后问题解决,成功加载了0.jpg。
而且发现opencv对中文路径的支持完全没问题。
更新
在后续的使用时,发现每次新建工程都需要按照1.2.3的步骤重新来一遍,觉得不太合理。经过一些百度,找到了彻底解决问题的办法,但感觉也挺不智能的。本人用的是VS2017,具体步骤如下:
- 在新建的工程中,点击VS菜单栏的视图->其他窗口->属性管理器
- 选择你编译器对应的属性,我的是
Debug|x64
,右键,点击添加新项目属性表
- 按照1,2,3的步骤把属性表完成后保存
- 下次新建工程时,再次来到属性管理器,找到
Debug|x64
,这次右键就直接点击添加现有属性表
,把刚才保存的属性表放进来,记住选择正确的编译器,就OK了