vs2017配置opencv详细步骤(附详细图解)
本人最近在做一个图形处理的作业,要用到opencv库,刚开始配置的时候遇到了很多问题,也看了很多博客,在费尽了许多周折之后,终于在vs2017中配置好了opencv。(说实话,配置什么第三方库时是真的麻烦,主要是步骤多而且特别容易会报错)。现在我将我配置的步骤分享出来,让小伙伴们少走弯路。
1.安装vs2017。
这一步就不用多说了吧,直接在官网上下载就行了。
网页链接:(https://docs.microsoft.com/zh-cn/visualstudio/releasenotes/vs2017-relnotes)
如果在官网上下载不了vs2017,我这里有安装包(附上百度网盘链接):链接:https://pan.baidu.com/s/16uOU57feLjDlrXeQFHieKQ 提取码:u7qe
下载完成后,如果只用vs使用opencv,选择SDK时,只需要选择c++的桌面开发就可以了,然后安装即可:
2.安装opencv库。
下载opencv时,可以在官网上下载对应的版本,网页链接:
https://opencv.org/releases,但是在官网上下载会很慢(如果你没有挂梯子的话),所以我在GitHub上找了了opencv的releases版本。GitHub地址:https://github.com/opencv/opencv/tags。找到自己想要的版本下载,我这里下载的是4.0.0版本:
这里提供我的4.0.0的opencv安装包:
链接:https://pan.baidu.com/s/1WoWD4o7Ohi3RX0u_Vgbayg
提取码:f4vq
安装完成后选择opencv的安装位置即可(任意),我是安装在这个路径里的。
3.配置opencv环境变量。
右击Windows图标,点击“系统”,然后点击“高级系统设置”:
点击“设置环境变量”,在系统变量“Path”中添加环境变量,将opencv文件夹中的opencvbuildx64vc15bin路径添加:(因为我是vs2017,所以添加的vc15,如果你是vs2015,就添加vc14的bin路径,至于vs2019,应该也是添加的是vc15)
添加完成之后一定要重启电脑啊,环境变量的编辑才会生效。
4.在vs2017中新建属性表。
打开vs2017,随便创建一个空项目:
在“视图”——“其他窗口”中找到“属性管理器”:
找到属性管理器的Debug|x64,右击选择“添加新项目属性表”:
然后填写属性表的名字和保存路径(名字最好和release的属性表相区别,路径自己也要找得到):
有人会问了,为什么要创属性表,因为这个属性表创建之后,你要在属性表中加入各种opencv的各种依赖项什么了,将属性表的opencv配置好之后,之后创建新的项目要再次使用opencv不用再去配置一次opencv,而是直接导入你第一次配置好的属性表就行了。
同样找到属性管理器的Release|x64,右击选择“添加新项目属性表”:
然后填写属性表的名字和保存路径(与dedug的名字一定要区别开来,路径自己也要找得到):
这样就在我的桌面路径上创建了两个属性表:
在vs的属性管理器中也看到了这两个属性表:
接下来就是对属性表进行编辑了,要将opencv相关文件导入属性表中。
5.在属性表中导入opencv相关目录,配置好属性表。
在属性表中双击“debug x64”的opencv属性表,进入属性页界面:
在vc++目录下配置“包含目录”和“库目录”项:
包含目录填写以下信息(就是安装目录下的buildinclude文件和buildincludeopencv2文件):
库目录填写以下信息(安装目录下的build×64vc15lib文件,到底是vc15还是vc14取决于你的VS版本):
在“链接器”——“输入”中配置“附加依赖项”
附加依赖项填入以下信息(400就是我的opencv版本号4.0.0,根据opencv版本号的不同自行修改数字):
注意:debug的依赖项只能填这一个,如果填了另一个依赖项opencv_world400.lib,运行debug时就会报错,这里需要注意一下。
同样的方法,双击双击“release x64”的opencv属性表,进入属性页界面:
步骤和配置“debug”一样的:
唯一与debug不同的是release在添加依赖项时需添加依赖项为opencv_world400.lib而不是opencv_world400d.lib:
同样的400也是我的opencv版本号,对应自己的版本号修改就是了。
到此,debug和release的属性表就配置完成了,配置完后记得点击“应用”,然后回到属性管理器中,右击debug的属性表,点击保存,这样在debug中配置的属性表就覆盖了原来创建的debug的属性表,现在的属性表中就有了关于opencv的文件目录:
现在的属性表包含之前步骤中配置好的opencv的包含目录、库目录、依赖项了。
同样的在release的属性表中右击保存属性表,release中配置的属性表就覆盖了原来创建的release的属性表:
6.验证opencv是否运行。
先在本工程之前配置好的opencv上运行实例程序(图片路径一定要完整):
#include #include using namespace std;using namespace cv;int main(){//读取本地的一张图片便显示出来(全路径)Mat img = imread("E://pr素材//微信聊天框素材//派大星.jpg");imshow("原图", img);waitKey(0);destroyAllWindows();return 0;}
debug 64运行:
release 64运行:
然后关闭此项目,另外新建一个空项目,导入含有opencv的属性表:
在属性管理器的Debug|x64中右击"添加现有属性表":
添加之前配置好的关于debug的opencv属性表:
同样的在属性管理器的Release|x64中右击"添加现有属性表",添加之前配置好的关于release的opencv属性表:
这样两个属性表就添加进来了:
在项目的源文件中右击“添加”——“新建项”,新建一个.cpp文件:
运行之前的代码(注意上面一定要换成x64来运行):
#include #include using namespace std;using namespace cv;int main(){//读取本地的一张图片便显示出来(全路径)Mat img = imread("E://pr素材//微信聊天框素材//派大星.jpg");imshow("原图", img);waitKey(0);destroyAllWindows();return 0;}
debug 64:
release 64:
注:之前第一次运行程序时系统提示缺少dll文件,解决方法是将opencv的某些文件要复制到c盘的文件夹里面:
1.将buildx64vc15bin目录下面的opencv_world400.dll和opencv_world400d.dll文件复制到C:WindowsSysWOW64这个文件夹里面即可
2.将buildx64vc15bin目录里面的opencv_ffmpeg400_64.dll复制到C:WindowsSystem32这个文件夹里面:
如果还是提示缺少提示dll文件的话,那就把opencv_world400.dll和opencv_world400d.dll复制到C:WindowsSystem32里面。
至此所有的步骤都已经搞定,配置个opencv库这么麻烦,真是费脑又费时啊。不过还有一个问题就是我在运行这些程序时,控制台老是提示无法查找或打开pdb文件,但是又不会影响程序的运行,运行不是opencv的项目时也会提示无法查找或打开pdb文件,目前还不知道该怎么解决。。。。。。
标签:
相关文章
-
无相关信息