OpenCV3.4.1+vs2017安装及配置

一.OpenCV3.4.1下载与安装

1.OpenCV3.4.1下载

可以去OpenCV官网上下载

然后找到对应的系统环境就可以下载了,当然了官网上下载会很慢,推荐你们到我的csdn上下载(打波小广告)

opencv-3.4.1-vc14_vc15程序加cmake程序-CSDN下载​download.csdn.net

2.安装

下载完后得到opencv3.4.1.exe,下载完成后,便可以开始进行OpenCV的安装和配置了,与其说是安装,不如叫解压更加合适,因为我们下载的.exe安装文件就是一个自解压程序而已。双击这个文件后程序会提示我们解压到某个地方,推荐放到...\Program Files\下,我是放在E盘的ProgramFiles里的(因为OpenCV项目文件打包的时候,根目录就是opencv,所以我们不需要额外新建名为opencv的文件夹),然后在弹出的对话框中点击【Extract】按钮。

解压完成后会在指定的路径下生成一个名为opencv的文件夹,包含了两个子文件夹,分别名为build和sources。其中build文件夹是支持OpenCV使用的相关文件,而sources中为OpenCV的源代码及相关文件

3.配置环境变量

配置方法如下:

计算机->右键属性->高级系统设置->高级(标签)->环境变量->双击系统变量中的PATH->添加相应的路径

二.vs2017安装

这部分就不详细说了,直接去这里下载

下载 | IDE、Code 和 Team Foundation Server | Visual Studio​www.visualstudio.com

三.OpenCV3.4.1在IDE里面的配置

这部分是重中之重所以我会讲的详细一点。

1.工程包含(include)目录的配置

首先在visual studio里面新建一个控制台应用程序,两种方法,可以打开vs2017在起始页里面单击创建新项目然后选择windows控制台应用程序,第二种是点击文件->新建->项目然后选择windows控制台应用程序。

建好后在菜单栏里单击视图->属性管理器就会在vs中多出一个属性管理器工作区,而在属性管理器中进行一次配置,就相当于进行了通用的配置过程,免去了以后在新建工程再额外进行配置的烦恼

在新出现的“属性管理器”工作区中,展开【Debug|X64】(因为我用的是64位的所以选择的是x64,如果是32位的盆友可以选择【Debug|win32】)这里有点小坑,如果有盆友遇到了可以问我,比如说

我也是踩着坑一路过来的,哈哈,好了,继续,右键【Debug|X64】选择属性

打开属性页面后在通用属性->vc++目录->包含目录中添加以下三个目录

前面的盘符根据你安装opencv的位置来定

2.工程库(lib)目录的配置

这一步也是在“属性管理器”工作区中,单击项目->【Debug|x64】(右键属性),在属性页面中选择通用属性->VC++目录->库目录添加路径

3.链接库的配置

同样是在属性页面中配置,链接器->输入->附加依赖项

添加

其中341指的是opencv的版本3.4.1

现在我们已经配置好了,重启一下电脑就可以愉快的和opencv进行玩耍了。当然了如果你不想重启电脑的话也可以继续下面的步骤在windows文件夹下加入OpenCV动态链接库

方法是按照之前我们的OpenCV存放环境将存放在E:\Program Files\opencv\build\x64\vc15\bin目录下的

这两个文件复制到C:\Windows\SysWOW64下就可以了

接下来是我们最兴奋的测试步骤,好了这是我写的通过opencv调用电脑摄像头和边缘检测的demo,可以直接copy下来使用进行测试,上代码:

#include "stdafx.h"

#include <opencv2/opencv.hpp>


using namespace cv;


int main()

{

    VideoCapture capture(0);

    Mat edges;

    namedWindow("调用摄像头");

    while (1)

    {

        Mat frame;

        capture >> frame;

        cvtColor(frame, edges, CV_BGR2GRAY);
    
        blur(edges, edges, Size(7, 7));

        Canny(edges, edges, 0, 30, 3);

        imshow("边缘检测摄像头", edges);

        if (waitKey(30) >= 0) break;

    }

    return 0;

}

猜你喜欢

转载自www.cnblogs.com/JeasonIsCoding/p/9859116.html