OpenCv4.2.0+VS2017配置

前言:为了完成《数字图像处理》这门课的作业,看了很多文章,终于将OpenCv4.2.0+VS2017配置好。

1.下载并安装Opencv4.2.0

官网http://www.opencv.org.cn/
下载https://opencv.org/releases/#
OpenCv4.2.0+VS2017配置_第1张图片

2.配置环境变量Path

D:\Program Files\OpenCv\opencv\build\x64\vc15加入环境变量Path
环境变量配置完后最好重启⼀下
OpenCv4.2.0+VS2017配置_第2张图片
OpenCv4.2.0+VS2017配置_第3张图片

3.相关文件的配置

注意:32位系统用户的DLL文件放在C:\Windows\SysWOW64,64位系统用户的DLL文件放在C:\Windows\System32
OpenCv4.2.0+VS2017配置_第4张图片

如果是opencv其他的版本,把对应的dll文件移动到上述两个C盘文件夹即可!

4.VS2017属性管理器配置

1.新建项目,进入属性管理器,菜单栏->视图->其他窗口->属性管理器

OpenCv4.2.0+VS2017配置_第5张图片
2. 对Debug|X64进行配置,右键Microsoft.Cpp.x64.user,点击属性
OpenCv4.2.0+VS2017配置_第6张图片

3.对属性中的 VC++目录->包含目录和VC++目录->库目录进行添加相关路径,对 链接器->输入->附加依赖项进行添加相关路径

包含目录中加入
D:\Program Files\OpenCv\opencv\build\include
D:\Program Files\OpenCv\opencv\build\include\opencv2

OpenCv4.2.0+VS2017配置_第7张图片

库目录中加入
D:\Program Files\OpenCv\opencv\build\x64\vc15\lib
OpenCv4.2.0+VS2017配置_第8张图片

链接器->输入->附加依赖项中加入
opencv_world420d.lib
OpenCv4.2.0+VS2017配置_第9张图片

如果是opencv其他版本,请更换dll版本,如opencv_world340d.lib

5.测试

测试代码1:

#include
#include
using namespace cv;
int main(int argc, char** argv) {
//路径⾃⼰决定
//Mat image = imread("E:/demo.jpg");//格式正确
//Mat image = imread("E:\demo.jpg");//输入格式错误
Mat image = imread("E:\\demo.jpg");//格式正确,两个斜杠,第一个是转义字符
 
if (image.empty()) {
printf("could not load image...\n");
return -1;
}
namedWindow("test_opencv_setup", 0);
imshow("test_opencv_srtup", image);
waitKey(0);
return 0;
}

测试结果1:注意是Debug,X64
OpenCv4.2.0+VS2017配置_第10张图片

测试代码2:

/************************************************************
  Copyright (C), 2008-2014, 西安电子科技大学出版社版权所有.
  文件名: code02-01-readAndWriteImage.cpp
  作  者: 耿楠
  版  本: 1.0
  日  期: 2014年3月1日
  描  述: 利用OpenCV读写和显示图像。
  其  它:
  函数列表:
  修改记录:
  <作者>  <修改时间>   <版本>   <描述>
  耿楠    2014/03/01     1.0     创建文件
***********************************************************/
 
#include 
#include 
#include 
 
using namespace std;
using namespace cv;
 
int main(int argc, char ** argv)
{
Mat image, result;
 
string srcFileName;
cout << "Enter the source image file name: ";
cin >> srcFileName;
 
/// 读入原始图像
image = imread(srcFileName);
if (image.empty())
{
cerr << "Failed to load image file: " << srcFileName << endl;
return -1;
}
 
cout << "size: " << image.size().height << " , " << image.size().width << endl;
 
namedWindow("Original Image");
imshow("Original Image", image);
 
flip(image, result, 1);
 
namedWindow("Output Image");
imshow("Output Image", result);
 
imwrite("output.bmp", result);
 
waitKey(0);
 
return 0;
}

测试结果2:注意输入的是路径
E:/demo.jpg
E:\demo.jpg
两种输入格式皆可
OpenCv4.2.0+VS2017配置_第11张图片
OpenCv4.2.0+VS2017配置_第12张图片

6.错误集合

错误1
OpenCv4.2.0+VS2017配置_第13张图片

解决方案:
链接器->输入->附加依赖项中加入
opencv_world420d.lib
不是opencv_world420d.dll
OpenCv4.2.0+VS2017配置_第14张图片

错误2
“Opencv.exe”(Win32): 已加载“F:\Code\Opencv\x64\Debug\Opencv.exe”。已加载符号。
“Opencv.exe”(Win32): 已加载“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件。
“Opencv.exe”(Win32): 已加载“C:\Windows\System32\kernel32.dll”。无法查找或打开 PDB 文件。
OpenCv4.2.0+VS2017配置_第15张图片

解决方案:
【调试】–>【选项和设置】
OpenCv4.2.0+VS2017配置_第16张图片

【常规】标签–>勾选“启用资源服务器支持”,确定
OpenCv4.2.0+VS2017配置_第17张图片

切换到【符号】标签,勾选“Microsoft 符号服务器
OpenCv4.2.0+VS2017配置_第18张图片

运行时加载符号可能需要等待一段时间

错误3
输入图片路径,不是给取名字
OpenCv4.2.0+VS2017配置_第19张图片

7.配置教训

1.检查步骤,不要出现低级错误
2.不小心修改不是自己写的代码(如库文件),很可能翻车
3.32位和64位系统的操作可能不一样,不同版本的操作也可能不一样,进而产生错误,搜索教程是可以添加关键字,如64位,版本信息。
4.出现bug,然后网上查询到修改配置信息,记住修改了什么条件,如果依然不正确,就把配置再改回来。
5.遇到多个教程,且有歧义,不妨多次尝试,成功了也要做笔记,挑出合适有用的教程。
6.有的时候按照教程,可以一步正确,很幸运,但是下次操作可以出现bug,请做笔记;不能一步成功的教程更应该做笔记。

8.学习链接

VS2017配置opencv教程(超详细!!!)
(项目名).exe”。已加载符号。 无法查找或打开 PDB 文件。
OpenCV:Visual Studio "无法查找或打开PDB文件"解决方法
无法加载 DLL 找不到指定的模块 的解决方案

你可能感兴趣的:(下载和安装)