OpenCV4.1.0+VS2017环境配置的方法步骤

下面是OpenCV4.1.0+VS2017环境配置的方法步骤:

前置条件

在搭建OpenCV4.1.0+VS2017环境之前,需要先安装VS2017或以上版本,并安装C++开发环境。

步骤一:下载OpenCV4.1.0

访问OpenCV官网,下载OpenCV4.1.0版本的zip文件,解压到任意一个目录。

步骤二:配置VS2017

启动VS2017,创建C++项目。在项目属性页面,选择“Release”配置,选择“平台”为“x64”。

在“VC++目录”下加入“包含目录”和“库目录”,分别为解压后的OpenCV目录下的“include”文件夹和“x64/vc15/lib”文件夹。

在“链接器”->“常规”下的“附加库目录”中加入“x64/vc15/lib”文件夹。

在“链接器”->“输入”下的“附加依赖项”下添加以下依赖:
- opencv_core410.lib
- opencv_highgui410.lib
- opencv_imgcodecs410.lib
- opencv_imgproc410.lib
- opencv_videoio410.lib

步骤三:测试程序

在VS2017中创建一个C++源文件,用以下代码验证OpenCV是否已正确配置:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    Mat img = imread("test.jpg",IMREAD_COLOR);
    if (img.empty())
    {
        cout << "读入图像失败!" << endl;
        return -1;
    }
    imshow("image", img);
    waitKey(0);
    return 0;
}

此时,应使用以下代码进行编译:

cl /EHsc /Zi /MDd test.cpp /I <OpenCVPath>\include /link <OpenCVPath>\x64\vc15\lib\opencv_core410.lib <OpenCVPath>\x64\vc15\lib\opencv_highgui410.lib <OpenCVPath>\x64\vc15\lib\opencv_imgproc410.lib <OpenCVPath>\x64\vc15\lib\opencv_imgcodecs410.lib <OpenCVPath>\x64\vc15\lib\opencv_videoio410.lib /LIBPATH:<OpenCVPath>\x64\vc15\lib

其中,<OpenCVPath>为OpenCV的解压路径。

若代码编译无误,运行程序,应会弹出一个名为“image”的窗口,并展示一张图片。

示例说明

示例一:图像处理

我们需要实现以下功能:将一张彩色(RGB)图像转换为灰度图像、旋转图像并保存。

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    Mat img = imread("test.jpg",IMREAD_COLOR);
    if (img.empty())
    {
        cout << "读入图像失败!" << endl;
        return -1;
    }

    Mat grayImg;
    cvtColor(img, grayImg, COLOR_RGB2GRAY);
    imshow("gray image", grayImg);

    Mat rotateImg;
    Point2f center(img.cols / 2, img.rows / 2);
    double angle = 30.0;
    Mat rot = getRotationMatrix2D(center, angle, 1.0);
    warpAffine(img, rotateImg, rot, img.size());
    imshow("rotate image", rotateImg);

    imwrite("gray.jpg", grayImg);
    imwrite("rotate.jpg", rotateImg);

    waitKey(0);
    return 0;
}

同样使用上述编译命令进行编译,运行程序后,可以查看生成的两张图片是否正确。

示例二:摄像头实时图像处理

我们需要实现以下功能:从摄像头读取视频流,并进行图像处理,最终实时展示。

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    VideoCapture capture(0);
    if (!capture.isOpened())
    {
        cout << "打开摄像头失败!" << endl;
        return -1;
    }

    while (true)
    {
        Mat frame;
        capture >> frame;

        if (frame.empty())
        {
            break;
        }

        Mat grayImg;
        cvtColor(frame, grayImg, COLOR_RGB2GRAY);
        imshow("gray image", grayImg);

        if (waitKey(30) == 'q')
        {
            break;
        }
    }

    return 0;
}

同样使用上述编译命令进行编译,运行程序后,即可查看实时的摄像头图像,并实现图像灰度处理。若需要退出程序,按下“q”即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:OpenCV4.1.0+VS2017环境配置的方法步骤 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • window平台安装MongoDB数据库图文详解

    来为您详细讲解“window平台安装MongoDB数据库图文详解”的完整攻略吧。 前置条件 在开始安装 MongoDB 之前,需要确保满足以下两个前置条件: 你需要一台运行的 Windows 操作系统电脑; 需要下载 MongoDB 的安装文件。 下载 MongoDB 在下载之前,我们需要确认一下系统的位数。请在“计算机”或者“此电脑”的属性中查看系统类型,…

    人工智能概览 2023年5月25日
    00
  • Django动态随机生成温度前端实时动态展示源码示例

    以下是详细的讲解“Django动态随机生成温度前端实时动态展示源码示例”的完整攻略。 简介 本攻略将通过Django框架实现动态随机生成温度并通过前端实时动态展示,主要包含以下步骤: 创建Django项目并创建渲染模板 后端实现动态随机生成温度并将结果传递至渲染模板 前端实现实时动态展示温度 步骤一:创建Django项目及模板 首先需要创建一个Django项…

    人工智能概览 2023年5月25日
    00
  • 探究Nginx中reload流程的原理真相

    探究Nginx中reload流程的原理真相 在实际的应用场景中,我们经常会遇到需要修改Nginx配置文件的情况,那么如何实现这个过程中Nginx服务的平滑重启呢?从理论角度来说,Nginx的reload操作只是在不影响当前服务的情况下更新和重新加载配置文件。然而在实际操作中,这个过程并不总是平滑的。 以下是详细讲解Nginx中reload流程的原理真相的完整…

    人工智能概览 2023年5月25日
    00
  • Android使用OKHttp库实现视频文件的上传到服务器功能

    下面我会详细讲解使用OKHttp库实现视频文件上传到服务器的步骤。 1. 引入OKHttp库 首先,在项目中引入OKHttp库,可以通过在build.gradle文件中添加以下代码: dependencies { implementation ‘com.squareup.okhttp3:okhttp:4.9.1’ } 2. 创建请求体 上传视频文件需要将视频…

    人工智能概论 2023年5月25日
    00
  • python切片作为占位符使用实例讲解

    下面是“Python切片作为占位符使用实例讲解”的完整攻略: 切片作为占位符 我们都知道,在Python中可以使用占位符 %s 来表示字符串格式化,但是在某些情况下,我们需要使用类似于切片的方式对字符串进行片段的设置。这时候,就可以使用Python中的切片作为占位符来完成字符片段设置工作。 在使用切片作为占位符时,需要在字符串前添加 : 符号并指定切片范围。…

    人工智能概论 2023年5月25日
    00
  • Django 框架模型操作入门教程

    下面我将为您详细讲解“Django 框架模型操作入门教程”的完整攻略,包括以下内容: Django 模型是什么 Django 模型的创建与编辑 Django 模型的属性与方法 查询 Django 模型数据的相关方法 两个示例说明 1. Django 模型是什么 Django 模型是一种用于定义数据结构的方式,可以帮助开发者快速构建数据库和表格。在 Djang…

    人工智能概论 2023年5月25日
    00
  • python 常用的异步框架汇总整理

    Python 常用的异步框架汇总整理 什么是异步编程? 在传统的同步编程中,代码按照从上至下的顺序依次执行,当前执行的代码需要等待上一个代码执行完后才能进行。但是在异步编程中,代码的执行顺序是非连续的,当前代码的执行不会等待之前的代码执行完毕。 异步编程的目的是为了提高程序的效率和响应速度,特别是在涉及到网络等I/O操作时,异步编程可以有效地减少等待时间,提…

    人工智能概论 2023年5月25日
    00
  • Ubuntu 20.04 CUDA&cuDNN安装方法(图文教程)

    以下是“Ubuntu 20.04 CUDA&cuDNN安装方法(图文教程)”的详细攻略: 准备工作 首先,确认您的计算机上已安装了Ubuntu 20.04操作系统,并且已连接互联网。 其次,为了成功安装CUDA和cuDNN,您需要在计算机上安装NVIDIA GPU驱动程序。可以通过以下命令检查您计算机上的GPU类型: lspci | grep -i …

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部