vs2017配置opencv详细教程

前言

做个总结吧,基本上所有的vs版本和opencv配置都是一样的步骤。

一、opencv安装包准备

最直接的是在官网下载:https://opencv.org/releases/ ,不过官网国内访问会比较慢,还可以直接在github上下载:https://github.com/opencv/opencv/tags 。

这里以opencv4.3为例,windows环境下下载.exe后缀的即可。

vs2017配置opencv详细教程_第1张图片

下载后双击解压:

vs2017配置opencv详细教程_第2张图片

 可以看到,解压后的opencv build目录下,只有x64的库,如果需要x86的,可以在源码上再编译。

 vs2017配置opencv详细教程_第3张图片

二、配置电脑环境变量

打开系统的环境变量。

vs2017配置opencv详细教程_第4张图片

在系统“Path”路径下添加opencv的bin目录。

vs2017配置opencv详细教程_第5张图片

vs2017配置opencv详细教程_第6张图片

 注意:opencv\build\x64目录下,存在vc14和vc15两个文件夹,vc14对应的是vs2015,vc15对应的是vs2017。

vs2017配置opencv详细教程_第7张图片

 我们来看一下bin目录下是什么吧,实际上就是一些dll动态库,如果不想添加在系统变量中,仅针对某个项目适用的话,可以把dll库放在工程执行目录同级目录下(便于发布版本)。

vs2017配置opencv详细教程_第8张图片

三、在vs2017中配置opencv属性

在vs2017中选择“文件”->“新建”->“项目”,选择Visual C++,空项目,设置好名称和位置就好了

vs2017配置opencv详细教程_第9张图片

 然后在项目上右键选择属性。

vs2017配置opencv详细教程_第10张图片

或者在菜单栏选择项目->属性。

vs2017配置opencv详细教程_第11张图片

在属性页面,首先需要配置平台属性,配置是Debug还是release,平台是x86还是x64,(x86需要自编译)然后在VC++目录中, 配置包含目录和库目录。

包含目录中是opencv的头文件路径,具体就是:

D:\software\opencv\opencv43\build\include

D:\software\opencv\opencv43\build\include\opencv2

vs2017配置opencv详细教程_第12张图片

库目录,就是lib库的路径。

D:\software\opencv\opencv43\build\x64\vc15\lib

vs2017配置opencv详细教程_第13张图片

然后在链接器->输入->附加依赖项中给出opencv依赖的具体lib名称。

opencv_world430d.lib 

vs2017配置opencv详细教程_第14张图片

 配置release模式下的属性表步骤和上面完全一样,唯一不同的是最后填写的是opencv_world430.lib 

vs2017配置opencv详细教程_第15张图片

 

四、复制dll库到C盘目录

完成上述步骤之后,一般运行还会报错,缺少dll文件,解决办法是:

1)把opencv43\build\x64\vc15\bin目录下的

opencv_world430d.dll和opencv_world430.dll复制到C:\Windows\SysWOW64。

vs2017配置opencv详细教程_第16张图片

 2)把opencv43\build\x64\vc15\bin目录下的

opencv_videoio_ffmpeg430_64.dll复制到C:\Windows\System32vs2017配置opencv详细教程_第17张图片

 3)如果还是缺少dll文件,就分别在SysWOW64和System32下各放一份。

五、验证结果

新建一个c++文件。

#include
#include
using namespace std;
using namespace cv;
int main()
{
    Mat img = imread("d://pic//test.jpg");
    imshow("0", img);
    waitKey(0);
    return 0;
}
vs2017配置opencv详细教程_第18张图片 

 注意选择好debug或者release,平台是x64,能够正常显示图片说明配置成功。

六、保存属性表

可以发现opencv配置起来还是有点麻烦的,而目前这个配置只针对当前项目有效,如果新建一个项目,就不可以用了,如下图。

vs2017配置opencv详细教程_第19张图片

再配置一遍就太不人性化了,这时候我们可以把配置好的属性表保存下来,回到刚配置好的工程项目中,打开属性管理器,在debug | x64属性文件夹右键选择添加新项目属性表。

vs2017配置opencv详细教程_第20张图片

 取个名字吧,比如opencv.props

vs2017配置opencv详细教程_第21张图片

然后双击opencv属性表,重复刚才的配置,配置包含目录,库目录,附加依赖项。 

 vs2017配置opencv详细教程_第22张图片

然后就可以在工程目录下找到这个属性表,新的项目就可以直接加载了。

vs2017配置opencv详细教程_第23张图片

(PS:如果需要保存属性表以便新项目用的话,建议一开始就添加新的属性表,配置,就不用重复配置了。。。直接配置的属性在Microsoft.Cpp.x64.user里面,这家伙保存不了啊,别的项目用不了,所以需要新建一个。。。。)

七、版本发布

假如我们用opencv写好了一个程序,想要给别人用,如果别人没有配置好opencv就用不了啊,

这时候其实只需要把相关的dll文件放在exe目录下就好了。

vs2017配置opencv详细教程_第24张图片 

还有一点需要注意,发布版本的时候不可以再使用绝对路径, 比如

Mat img = imread("d://pic//test.jpg");

别人不一定有这个文件夹,

 所以需要使用相对路径,打开属性页面,选择调试->工作目录->可以设置为上一级目录下的workspace文件夹为工作目录。

vs2017配置opencv详细教程_第25张图片

这样只要把图片放在 workspace下面,就可以直接访问到了。 

 vs2017配置opencv详细教程_第26张图片

 OK!

 

 

 

你可能感兴趣的:(大数据,opencv,计算机视觉,c++)