详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0

详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0的完整攻略

本文章将详细讲解如何在VS2019中安装配置OpenCV-4-1-0以及OpenCV-contrib-4-1-0库,以及如何使用这两个库。

安装配置OpenCV-4-1-0和OpenCV-contrib-4-1-0

下载OpenCV-4-1-0和OpenCV-contrib-4-1-0

可以在OpenCV的官方网站上下载两个库的最新版本压缩包,下载链接: https://opencv.org/releases/

安装Visual Studio 2019

下载并安装Visual Studio 2019(Community, Professional或Enterprise皆可),记得勾选C++相关组件。

安装CMake

下载并安装CMake:https://cmake.org/download/

解压缩OpenCV-4-1-0和OpenCV-contrib-4-1-0

使用压缩软件解压下载的OpenCV-4-1-0和OpenCV-contrib-4-1-0的压缩包。

用CMake生成Visual Studio工程文件

选择解压缩后的OpenCV-4-1-0的文件夹作为source code地址,新建一个build文件夹作为编译结果的文件夹,使用CMake生成Visual Studio工程文件。在CMake-GUI界面中可以设置输入和输出地址。同时在编译选项中勾选OpenCV的contrib模块,这样就可以编译生成带有OpenCV-contrib-4-1-0的库了。

编译并设置环境变量

用Visual Studio打开刚刚生成的工程文件,选择"Release"模式进行编译,成功编译出OpenCV库文件后,需要设置环境变量。打开计算机属性 - 高级系统设置 - 环境变量,找到系统变量的Path,添加OpenCV.dll所在的文件夹路径。这样,就可以在VS中使用OpenCV了。

使用OpenCV-4-1-0和OpenCV-contrib-4-1-0

示例一

以下是一个简单的OpenCV程序,用于打开并显示一张图片。


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

int main()
{
    cv::Mat img = cv::imread("test.jpg");
    cv::imshow("test", img);
    cv::waitKey(0);

    return 0;
}

以上代码使用了OpenCV的imread函数读取图片,imshow函数显示图片,waitKey函数等待程序接收到键盘事件,这样就可以看到图片窗口一直保持打开状态,直到按下键盘上任意键。

示例二

以下是一个使用OpenCV-contrib-4-1-0里的saliency模块程序,用于自动选取一张图片中最显著的区域。


#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/saliency.hpp>

int main(int argc, char** argv)
{
    cv::Mat image = cv::imread("test2.jpg");
    cv::Ptr<cv::saliency::StaticSaliency> saliency_algorithm = cv::saliency::StaticSaliencySpectralResidual::create();

    cv::Mat binary_map;
    saliency_algorithm->computeSaliency(image, binary_map);

    cv::imshow("input", image);
    cv::imshow("binaryMap", binary_map);
    cv::waitKey();

    return 0;
}

以上代码使用了OpenCV-contrib-4-1-0里saliency模块的StaticSaliencySpectralResidual类函数,对输入的图像进行显著性检测,最终输出检测结果二值化图像。通过修改test2.jpg图片,在图片中加入显著区域,可以看到输出结果的显著区域更亮,表示是检测到了显著性区域。

总结

本文详细介绍了如何在VS2019中安装OpenCV-4-1-0和OpenCV-contrib-4-1-0库,并介绍了OpenCV常用函数的使用方法,同时还提供了两个示例程序作为参考。希望本文可以帮助读者更深入地了解OpenCV,对使用OpenCV的开发者具有指导意义。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0 - Python技术站

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

相关文章

  • windows支持哪个版本的python

    当前Windows主流版本均可以支持Python的安装和使用。需要注意的是,不同版本的Python可能需要不同的系统环境才能正常运行。下面是具体步骤和示例说明。 Windows支持哪个版本的Python Windows可以支持从Python2.0开始的所有Python版本。但是Python2.x已经被官方宣布不再维护,推荐使用Python3.x版本。以下是目…

    人工智能概览 2023年5月25日
    00
  • 实例详解SpringBoot+nginx实现资源上传功能

    下面我将详细讲解“实例详解SpringBoot+nginx实现资源上传功能”的完整攻略。 1. 背景介绍 近年来,随着网络技术的快速发展,互联网已经成为人们生活中不可或缺的一部分。随之而来的是海量的数据和文件需要上传和存储,因此资源上传功能逐渐变得非常重要。 本文将介绍如何使用SpringBoot和nginx实现资源上传功能的详细步骤。 2. 实现步骤 2.…

    人工智能概览 2023年5月25日
    00
  • Windows系统下使用nginx部署vue2项目的全过程

    下面是Windows系统下使用nginx部署vue2项目的全过程的攻略: 1. 搭建Node.js环境并安装vue-cli 要部署vue2项目,我们需要先安装Node.js环境。建议下载最新的LTS版本,下载链接:https://nodejs.org/en/ 安装完成后,使用npm工具来安装vue-cli命令行工具,命令如下: npm install -g …

    人工智能概览 2023年5月25日
    00
  • springboot-mongodb的多数据源配置的方法步骤

    下面是详细讲解 “springboot-mongodb的多数据源配置的方法步骤” 的完整攻略,包含两个示例说明。 第一步:导入相关依赖 首先,在 pom.xml 文件中添加 Spring Boot 和 MongoDB 的依赖项。 <dependencies> <!–Spring Boot相关依赖–> <dependency&…

    人工智能概论 2023年5月25日
    00
  • Django实现WebSSH操作物理机或虚拟机的方法

    下面将为你详细介绍如何使用Django实现WebSSH操作物理机或虚拟机的完整攻略。 1. 概述 WebSSH是一种通过Web界面远程访问SSH终端的工具。它可以让用户通过Web浏览器登录SSH终端,而不需要使用客户端。 Django是一个基于Python的Web应用程序框架,它可以轻松地用于WebSSH工具的开发。使用Django可以使我们更加轻松地创建W…

    人工智能概论 2023年5月25日
    00
  • Java图像处理工具类

    Java图像处理工具类攻略 1. 前言 随着数字图像的流行,在许多行业中都需要使用图像处理技术,这也促使了许多程序员开始研究如何使用Java对数字图像进行处理。但是,处理数字图像需要大量的代码和算法,因此一个能够集成常用图像处理算法的工具类是必不可少的。在本文中,我们将探讨如何使用Java图像处理工具类来处理数字图像。 2. Java图像处理工具类 Java…

    人工智能概览 2023年5月25日
    00
  • django使用channels2.x实现实时通讯

    下面我将详细介绍如何使用 Django 和 Channels 2.x 搭建实时通讯应用。 准备工作 首先,需要安装 Django 和 Channels,可以使用 pip 命令安装。假设你已经熟悉了 Django 的基本使用方法,下面就是 Channels 的部分了。 创建 Django 项目 首先,我们创建一个 Django 项目: $ django-adm…

    人工智能概览 2023年5月25日
    00
  • perl Socket编程实例代码

    下面是“perl Socket编程实例代码”的完整攻略: 实例说明 本文将介绍如何在perl中使用Socket编程,创建一个简单的服务器和客户端。其中,服务器将会监听一个指定端口,接受客户端的连接请求,并向客户端发送一条欢迎信息;客户端将连接到服务器,接收并显示来自服务器的欢迎信息。同时,我们还将展示如何使用perl的IO::Select模块,使服务器可以同…

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