VS+OpenCV+VC超详细的配置教程
写在前面的话
- 版权声明:转载请注明出处!
- 博主是一个小菜鸟,并且非常玻璃心!如果文中有什么问题,请友好地指出来,博主查证后会进行更正。
- 每篇文章都是博主现阶段的理解,如果理解的更深入的话,博主会不定时更新文章。
- 本文初次更新时间:2021.08.01,最后更新时间:2021.08.01。
本文是博主的第一篇文章,每次配置OpenCV都会遇见各种各样的问题,查阅大量教程才能配置成功,浪费大量时间和心情,考虑到网友也会遇见类似的问题,故有了这篇文章。本文适合各种版本VS和OpenCV配置问题,也提供了程序常见问题的解决方法,希望对大家有所帮助。
VS2019+OpenCV4.5.0+VC15超详细配置问题
- 写在前面的话
- 1.VS+OpenCV+VC版本对应关系
- 2.官方链接
- 3.相关环境信息
- 4.图片步骤
- 5.详细步骤
- 5.1 安装VS和OpenCV
- 5.2 设置系统变量
- 5.3 拷贝dll文件
- 5.4 新建项目
- 5.5 新建属性文件
- 5.6 配置属性
- 5.7 勾选微软符号服务器<可选>
- 5.8 测试图像
- 6.配置文件
- 7.其他问题
- 参考文章
1.VS+OpenCV+VC版本对应关系
- C是VS的工作库之一,VS与OpenCV对VC都有版本间的对应。
- VS(virtual studio)是微软开发的一个集成开发工具,可以开发C++、C#、HTML、VB等1。
- VC(virtual C++)是专门开发C++的工具。当安装VS的时候,会提示你选择开发环境,如果你选择C++,选择的就是VC编程平台2。
参考网址1:https://www.cnblogs.com/sakuraie/p/13341552.html.
参考网址2:https://blog.csdn.net/HW140701/article/details/92850154.
以下是VS版本与VC版本的对应关系,以及OpenCV对VC版本的支持情况:
像OpenCV之类的库会以vcx.x作为文件夹号标致该文件夹下的库适用于哪个VS版本,例如:
VS2017选择OpenCV下的vc15文件夹,vc15可由Opencv3.4.1或4.0.0提供
,当然上述图片并没有覆盖所有版本,读者可自行官网查看相关文档。
2.官方链接
VS官网:https://visualstudio.microsoft.com/zh-hans/.
VS历史版本:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/.
OpenCV官网:https://opencv.org/.
OpenCV历史版本:https://opencv.org/releases/.
3.相关环境信息
Windows 10专业版
OpenCV 4.5.0 —vc14 vc15(免费)
下载网址:https://sourceforge.net/projects/opencvlibrary/files/4.5.0/opencv-4.5.0-vc14_vc15.exe/download.Visual studio 2019 community—vc15 vc16(免费)
下载网址:https://visualstudio.microsoft.com/zh-hans/vs/.
故我们使用
Visual studio 2019 community
配置OpenCV 4.5.0下
的vc15
库。
4.图片步骤
首先通过上述
“1 VS+OpenCV+VC版本对应关系”
选择配对的OpenCV和VS,其次通过上述“2官方链接”
下载相应的软件安装包,最后安装激活后可直接参考下述图片配置环境。
步骤1:安装VS2019和OpenCV4.5.0
步骤2:设置系统变量后重启电脑
步骤3:拷贝dll文件(将bin文件夹下的三个dll文件分别拷贝至对应文件夹)
步骤4:创建C++空项目
步骤5:添加Debug X64模式cpp文件
步骤6:添加Debug X64模式的属性文件(此属性用于其他项目的配置)
步骤7:双击新建的属性表,添加包含目录(#include的设置)
步骤8:添加库目录(包含文件的源代码)
步骤9:添加附加依赖项(库文件的依赖)
步骤10:编写显示图片的源码测试
附源码:
//imageShow.cpp : 测试OpenCV环境配置是否成功
//图片显示成功则说明OpenCV环境配置成功
//by clchao,20210801#include <opencv2/opencv.hpp> //包含目录 下属 包含文件(或头文件)
#include <iostream> //C++风格输入输出包含文件using namespace cv; //名称空间int main()
{//Mat img = imread("C:\\Users\\clchao\\Desktop\\opencvText_win10_vs2019_opencv410_Debug_x64\\imageShowOpencv\\lena01.jpg");Mat img = imread("lena01.jpg");imshow("lena01 Viewer", img);waitKey(0); //等待用户按键
}
5.详细步骤
建议:
良好的命名习惯
有时很有帮助,建议务必将计算机名、用户名、文件夹名等全部命名为英文字符
。
5.1 安装VS和OpenCV
- 通过上述
“1 VS+OpenCV+VC版本对应关系”
选择配对的OpenCV和VS,我们使用Visual studio 2019 community版本配置OpenCV 4.5.0下的vc15库
; - 通过上述
“2官方链接”
下载相应的软件安装包; - 安装激活。
5.2 设置系统变量
- 此电脑-右键-属性-高级系统设置-高级-环境变量-系统变量中的path变量也有教程选择用户变量下的path,笔者建议选择系统变量-编辑-新建-浏览,将OpenCV安装文件夹下的
***opencv\build\x64\vc15\bin
和***opencv\build\x64\vc15\lib
路径添加到当中。
注意:在其他配置教程中一般不用添加
***opencv\build\x64\vc15\lib
路径,读者可自行决定添加与否,但为了防止出问题建议添加;
- 博主选择vc15子文件夹,因为VS2019对应vc15或vc16;
- 路径添加后点击确定,并将外面能点击确定的地方全部点击。
5.3 拷贝dll文件
注意:网上很多配置教程没有这步,运行程序时可能会报
找不到xxx.dll文件
的错误,是因为没有将OpenCV里面的相关dll文件复制到C盘中的相应文件夹里。
- 将
***opencv\build\x64\vc15\bin
路径文件目录下的opencv_world401.dll和opencv_world401d.dll文件复制到C:\Windows\SysWOW64
这个文件夹里;
将***opencv\build\x64\vc15\bin
路径文件目录下的opencv_ffmpeg401_64.dll和opencv_world401d.dll文件复制到C:\Windows\System32
这个文件夹里;
如果是opencv其他的版本,把对应的dll文件移动到上述两个C盘文件夹即可; C:\Windows\SysWOW64
对应32位文件操作,C:\Windows\System32
对应64位文件操作,如果运行程序错误,可能是文件错误拷贝。
5.4 新建项目
- 创建新项目,笔者创建的是C++空项目,命名;
- 添加
Debug X64
的cpp文件,该文件用于显示图像测试OpenCV是否配置成功。
5.5 新建属性文件
- 菜单栏 -视图 -其他窗口 -打开属性管理器 -选择属性管理器中的Debug|x64 -右键 -添加新项目属性表 -命名 -添加 。
建议:命名 务必使用有意义的
英文字符
,例如:win10_vs2019community_opencv450_Debug_x64
,表示Windows10专业版系统下安装的vs2019community版本配置opencv4.5.0开源库,使用的Debug_x64模式。
5.6 配置属性
- 双击新建的属性表- VC++目录 -包含目录 /库目录 -添加下列目录 :
包含目录:
***opencv\build\include
***opencv\build\include\opencv2
注意:在源代码中经常出现
#include <opencv2/opencv.hpp>
字样,其含义就是预编译包含目录***opencv\build\include\opencv2
中的opencv.hpp
文件。同理也可以预编译其他xxx.hpp,例如:
#include <opencv2/highgui/highgui.hpp> //高层GUI图形用户界面模块头“highgui.hpp”
#include <opencv2/imgproc/imgproc.hpp> //图像处理模块头文件“imgproc.hpp”
#include <opencv2/imgproc/types_c.h>
#include <opencv2/calib3d/calib3d.hpp> //相机标定和三维重建头文件//2D特征模块头文件“features2d.hpp”
作为OpenCV学习者,应该养成定期阅读学习这些文件的习惯;
或者访问在线帮助文档(https://docs.opencv.org/4.5.0/index.html),这是最直接最暴力学习OpenCV的两种方法。
库目录:
***opencv\build\x64\vc15\lib
2.链接器 -输入 -附加依赖项 -添加下列文件 :
附加依赖项:
***opencv\build\x64\vc15\lib\opencv_world450d.lib
***opencv\build\x64\vc15\lib\opencv_world450.lib<可选>
或者直接键入:
opencv_world450d.lib
opencv_world450.lib<可选>
注意:
450
表示opencv4.5.0
,d
表示是否为Debug调试
<含d表示Debug,否则表示release>, release是发布程序时才会用到。当配置Release|X64
时,附加依赖项添加opencv_world450.lib
,笔者为了省事才一次添加两种,故上述加了<可选>标志,读者在实际配置操作的时候一定要将<可选>删除,注意两者一同添加可能导致一些错误。
5.7 勾选微软符号服务器<可选>
- 其实到上述步骤OpenCV已经配置完成,但VS2019总是报错
缺少xxx.dll文件
,可选择勾选微软符号服务器
来下载缺失的dll文件3。
参考网址3:https://blog.csdn.net/weixin_43042467/article/details/105240489.
具体操作:
菜单栏 -调试 -选项 -调试 -常规 -勾选启动源服务器支持 ;
菜单栏 -调试 -选项 -调试 -符号 -勾选微软符号服务器 -在次目录下缓存符号<可选>-确定 。
- 注意:可用一个文件夹来缓存下载的dll文件,只初次加载。或者也可以等加载完成之后,取消勾选之前的选择,也没有问题。笔者新建了一个文件夹用于下载缓存,后面发现文件夹中下载了很多pdb文件!
- 至此opencv已经配置完成,注意解决方案平台那一栏要换成Debug | X64(因为我们一直都在配置Debug | X64)。
5.8 测试图像
- 附源码:
//imageShow.cpp : 测试OpenCV环境配置是否成功
//图片显示成功则说明OpenCV环境配置成功
//by clchao,20210729#include<opencv2/opencv.hpp> //包含目录 下属 包含文件(或头文件)
#include <iostream> //C++风格输入输出包含文件using namespace cv; //名称空间int main()
{Mat img = imread("C:\\Users\\clchao\\Desktop\\opencvText_win10_vs2019_opencv410_Debug_x64\\imageShowOpencv\\lena01.jpg");//Mat img = imread("lena01.jpg");imshow("lena01 Viewer", img);waitKey(0); //等待用户按键
}
- 附“
lena01.jpg
”图像:注意图片存放路径。
- 图片无法输出问题:读入图片错误(附两种方式)
绝对路径:
//注意这个地方是双斜杠,第一个斜杠是转义字符
Mat img = imread("C:\\Users\\clchao\\Desktop\\opencvText_win10_vs2019_opencv410_Debug_x64\\imageShowOpencv\\lena01.jpg");
图片路径:
Mat img = imread("lena01.jpg");
注意lena01.jpg
必须在所建工程目录下
6.配置文件
- 配置完成后在自己新建的项目目录下会出现一个
xxx.props
文件,该文件便是配置的OpenCV属性。
以后每次编写OpenCV程序,只需要属性管理器 -Debbug | X64 -右键 -添加现有属性表-选择上述属性表xxx.props文件即可
。
7.其他问题
“丢失xxx.dll文件或找不到xxx.dll文件”问题
将bin目录下对应的xxx.dll文件复制到Debug目录下;
或安装OpenCV时即将所有xxx.dll
文件复制到C:\Windows\System32
目录。
确实找不到xxx.dll文件,可下载Everything
工具检索相应文件。
System32文件夹
:System32是Windows 操作系统的系统文件夹,是操作系统的中枢。包含了大量用于 Windows 的文件, 这里主要用于存储xxx.dll文件、 控制面板小程序(.CPL)、设备驱动 (.drv)、帮助文件 (.hlp 和 .cnt)、MS-DOS 工具 (.com)、语言支持文件 (.nls)、屏幕保护 (.scr)、安装信息文件 (.inf)以及其它用于支持、配置或操作的文件4。如果你配置X64,请将相应文件拷贝至此处。
参考网址4: https://blog.csdn.net/qq_44179564/article/details/109706780.
针对0xc000007b问题,DirectX Repair修复工具(请支持原作者)
链接: DirectX修复工具增强版.
链接: 0xc000007b的解决办法(续).
参考文章
vs的vc,opencv的vc的对应指南 ↩︎
VC版本号与VS对应关系 ↩︎
VS2017配置OpenCV4.0.1教程(步骤超详细!!) ↩︎
VS2019中安装及配置OpenCV-4.5.0过程 ↩︎
VS+OpenCV+VC超详细的配置教程相关推荐
- PyCharm与Anaconda超详细安装配置教程
摘要:本文详细介绍如何在Windows 10中安装PyCharm和Anaconda这两款Python中必备的软件,博文中每一步均有详细截图和步骤讲解,最后介绍如何使用Anaconda创建虚拟环境并在P ...
- 【Node.js超详细安装配置教程(2022)】
前言 一.Node.js是什么 二.Node安装 1.官网:Node.js (nodejs.org) 总结 前言 作为一名后端程序员,虽然会使用JAVA编写服务器后台,但在技术不断发展的今天,能多学一 ...
- [安卓开发笔记一]Android开发配置opencv环境超详细教程
[安卓开发笔记一]Android开发配置opencv环境超详细教程 [更新于 2022年4月] 再次提醒,建议现在看到这篇文章的,仅仅把此文做一个流程参考,4年前android studio就使用cm ...
- Tomcat安装及配置教程(超详细的图文教程)(亲测)
Tomcat安装及配置教程(超详细的图文教程) 1.什么是Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下 ...
- 超详细Redis入门教程——Redis 的安装与配置
前言 本文小新为大家带来 超详细Redis入门教程--Redis 的安装与配置 相关知识,具体内容包括Redis 的安装,连接前的配置,Redis 客户端分类(包括:命令行客户端,图形界面客户端,Ja ...
- mysql2008数据库配置_SQL Server 2008 R2 超详细安装图文教程
这篇文章主要介绍了SQL Server 2008 R2 超详细安装图文教程,需要的朋友可以参考下 一.下载SQL Server 2008 R2安装文件 二.将安装文件刻录成光盘或者用虚拟光驱加载,或者 ...
- [转](转载+整理)超详细的cmake教程
cmake教程 参考 什么是cmake cmake 常见语法罗列 CMake可用变量 入门案例 单个源文件 多个源文件 同一目录,多个源文件 多个目录,多个源文件 进阶案例 自定义编译选项 指定安装和 ...
- (转载+整理)超详细的cmake教程
cmake教程 参考 什么是cmake cmake 常见语法罗列 CMake可用变量 入门案例 单个源文件 多个源文件 同一目录,多个源文件 多个目录,多个源文件 进阶案例 自定义编译选项 指定安装和 ...
- 超强、超详细Redis入门教程【转】
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...
最新文章
- “图灵测试不重要”,一个违背机器人界祖宗的决定
- could not load java7_xml导入properties文件报异常:Could not load JDBC driver class [${jdbc.driver}]...
- 项目: 用C语言写一个图形化的音乐播放器 【C++ / C】
- 在macOS X中gdb的codesigned问题解决
- python3 爬虫第三步 本文包你学会正则 不会就来锤我
- MongoDB:SpringBoot有关@Document(collection = )与@Document(collation= )注解的区别
- 使用IDA Pro动态调试SO文件
- Javascript多线程引擎(五)
- 详尽Ubuntu18安装搜狗输入法教程
- 注意!JWT不是万能的,入坑需谨慎!
- 用计算机处理表格信息,怎么制作表格-三线表丨做数据表格必须学会的处理技巧...
- C#调用excel报错 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))问题的解决方案
- 使用python控制其他软件运行_Python实现运行其他程序的四种方式实例分析
- 本周小折腾记录: ipad和电脑完成同屏功能
- 西电计算机科学与技术排名,2020最新世界学科排名:西电3个学科跻身全球10强,发展势头强劲...
- 全国第三次土壤普查实验室筛选开始 实验室要求理化检测指标仪器一览
- python获取文件大小
- Harris角点检测及数据分析
- OA系统以项目管理为中心,为会计事务所打造内外协同一体化平台
- 1.27 Daisy Chains(花瓣)