VisualStudio2019配置OpenCV4.5.0的方法示例

针对"VisualStudio2019配置OpenCV4.5.0的方法示例",我们需要进行以下步骤:

1. 下载OpenCV4.5.0

首先需要到OpenCV官网https://opencv.org/releases/下载最新版本的OpenCV。

这里以Windows平台为例,下载"opencv-4.5.0-windows.exe"文件。下载完成后,双击运行该文件,选择安装路径,并勾选"Add OpenCV to the system PATH for current user"选项以将OpenCV添加至系统路径。

2. 新建工程并配置OpenCV

接下来需要在Visual Studio 2019中新建一个Windows Console Application工程,并在"属性-VC++目录"中添加OpenCV的头文件路径和库文件路径,具体路径可以根据自己的安装路径进行设置。例如:

OpenCV头文件路径:E:\OpenCV\opencv\build\include

OpenCV库文件路径:E:\OpenCV\opencv\build\x64\vc15\lib

在"属性-C/C++-代码生成-运行库"中,选择"多线程调试(/MTd)"或"多线程(/MT)"。

在"属性-链接器-输入-附加依赖项"中添加需要链接的OpenCV库文件名称,例如:

opencv_world450d.lib

opencv_world450.lib

opencv_world450m.lib

opencv_world450md.lib

3. 引用OpenCV

在源码中,引用头文件及其命名空间,例如:

#include "opencv2/opencv.hpp"

using namespace cv;
using namespace std;

接下来就可以在工程中使用OpenCV相关的函数了,例如:

Mat image = imread("test.jpg");
imshow("Image", image);
waitKey();

以上是VisualStudio2019配置OpenCV4.5.0的基本步骤。如果还有疑问,可以参考下面两条示例:

示例1:如何在Visual Studio 2019上使用OpenCV的HOG特征

在使用OpenCV的HOG特征时,需要添加libsvm库,可以到https://www.csie.ntu.edu.tw/~cjlin/libsvm/下载最新版。

在添加libsvm库后,可以按照如下方式引用和使用HOG特征:

#include "opencv2/opencv.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"

#include <iostream>

using namespace std;
using namespace cv;

int main()
{
    // 载入图像
    Mat srcImage = imread("test.jpg");

    // 对图像进行缩放
    resize(srcImage, srcImage, Size(128, 64), 0, 0, INTER_LINEAR);

    // 转化为灰度图像
    Mat grayImage;
    cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);

    // 设置HOG描述符参数
    HOGDescriptor hog;
    hog.winSize = Size(64, 128);
    hog.blockStride = Size(16, 16);
    hog.blockSize = Size(16, 16);
    hog.cellSize = Size(8, 8);

    // 计算HOG描述符
    vector<float> descriptors;
    hog.compute(grayImage, descriptors);

    // 显示图像
    imshow("srcImage", srcImage);

    // 等待按键
    waitKey();

    return 0;
}

示例2:如何在Visual Studio 2019上使用OpenCV的DNN模块

使用OpenCV的DNN模块时,需要下载相应的权重文件,可以到https://github.com/OlafenwaMoses/ImageAI/releases/download/1.0/yolo.h5下载yolo.h5文件。

在下载完成后,可以按照如下方式引用和使用DNN模块:

#include <iostream>
#include <fstream>
#include <sstream>
#include <opencv2/dnn.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>

using namespace cv;
using namespace dnn;
using namespace std;

int main(int argc, char** argv)
{
    // 加载模型和类别名称
    String modelFile = "yolo.cfg";
    String weightFile = "yolo.weights";
    String classFile = "voc.names";

    Net net = readNet(modelFile, weightFile, "Darknet");
    net.setPreferableBackend(DNN_BACKEND_OPENCV);
    net.setPreferableTarget(DNN_TARGET_CPU);

    ifstream ifs(classFile.c_str());
    string line;
    while (getline(ifs, line))
    {
        classes.push_back(line);
    }

    // 加载图像
    Mat image = imread("test.jpg");

    // 转为4维矩阵
    Mat blob = blobFromImage(image, 1 / 255.0, Size(416, 416), Scalar(0, 0, 0), true, false);

    // 输入模型
    net.setInput(blob);

    // 获得输出层
    vector<Mat> outs;
    net.forward(outs, getOutputsNames(net));

    // 后处理
    vector<int> classIds;
    vector<float> confidences;
    vector<Rect> boxes;
    for (size_t i = 0; i < outs.size(); ++i)
    {
        processOutput(outs[i], image.size(), classIds, confidences, boxes);
    }

    // 绘制检测结果
    drawDetection(image, classIds, confidences, boxes, classes);

    // 显示图像
    imshow("Detections", image);

    // 等待按键
    waitKey();

    return 0;
}

以上就是使用OpenCV 4.5.0进行图像处理的示例,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VisualStudio2019配置OpenCV4.5.0的方法示例 - Python技术站

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

相关文章

  • 在django-xadmin中APScheduler的启动初始化实例

    在Django-xadmin中使用APScheduler可以很方便地实现后台任务,如定时任务、计划任务等。本篇攻略将详细讲解在django-xadmin中APScheduler的启动初始化实例的过程。 安装APScheduler 在使用APScheduler之前,需要先安装它。可以通过pip命令来进行安装: pip install apscheduler 配…

    人工智能概览 2023年5月25日
    00
  • Nginx隐藏版本号与网页缓存时间的方法

    下面是关于Nginx隐藏版本号与网页缓存时间的方法: 1. 隐藏版本号 1.1 什么是版本号 Nginx是一款自由、开源、高性能、可靠性强的 Web 服务器,但是它也像其他软件一样,存在版本号信息。当攻击者知道该版本号,就可以结合漏洞进行针对性攻击,因此隐藏Nginx的版本号是一种常见的安全措施。 1.2 怎么隐藏版本号 为了隐藏Nginx的版本号,我们可以…

    人工智能概览 2023年5月25日
    00
  • Python淘宝或京东等秒杀抢购脚本实现(秒杀脚本)

    Python淘宝或京东等秒杀抢购脚本实现,通常需要模拟用户在网站上手动选购商品,提交订单等操作。一般而言,实现秒杀脚本的流程可以分为以下几个步骤: 步骤一:分析目标网站 首先需要了解目标网站的网络通信协议,以及目标页面的HTML结构、JS代码等。通常可以使用浏览器的开发者工具查看页面元素、请求信息、响应数据等,并使用Python的requests、Beaut…

    人工智能概览 2023年5月25日
    00
  • python3通过selenium爬虫获取到dj商品的实例代码

    下面我将详细讲解“python3通过selenium爬虫获取到dj商品的实例代码”的完整攻略步骤,包括一些常见问题和两条示例说明。 简介 Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,模拟人为对浏览器的操作。通过 Python 的 selenium 库更可以方便地实现网页爬虫。在本文中,我将演示如何使用 Python3 和 …

    人工智能概论 2023年5月25日
    00
  • 详解Node.js模块间共享数据库连接的方法

    详解Node.js模块间共享数据库连接的方法 在Node.js项目中,数据库连接通常是需要共享的。不同的模块可能需要访问同一个数据库,因此需要实现数据库连接的共享。本文将详细介绍如何实现模块间共享数据库连接的方法。本文的代码将基于MongoDB数据库进行演示。 初始化数据库连接 首先,我们需要在项目的入口文件中初始化数据库连接,并将连接实例保存到全局对象中。…

    人工智能概览 2023年5月25日
    00
  • django 实现手动存储文件到model的FileField

    当我们在使用Django开发Web应用时,常常需要让用户上传文件,比如头像、照片等,我们可以通过使用Django的FileField字段将这些文件存储到数据库中。但是,有时候我们可能需要手动将文件保存到FileField字段所关联的文件中。本文将详细讲解如何在Django中手动保存文件到FileField字段所关联的文件中。 1. 准备工作: 首先,我们需要…

    人工智能概论 2023年5月25日
    00
  • python+opencv实现视频抽帧示例代码

    以下是 Python + OpenCV 实现视频抽帧的完整攻略。 1. 安装 OpenCV 在 Python 环境中安装 OpenCV,可以使用 pip 安装。打开终端或命令行窗口,输入以下命令: pip install opencv-python 2. 导入必要的模块 在Python代码中导入必要的模块,包括cv2(OpenCV模块),os(文件操作模块)…

    人工智能概论 2023年5月24日
    00
  • OpenStack之日志详细介绍

    好的。首先,我们需要介绍一下OpenStack的日志系统,包括日志文件的位置、日志级别等。然后,我们将讲解如何使用命令行工具查看和管理OpenStack的日志文件。最后,我们将演示如何通过修改配置文件来设置OpenStack的日志级别。具体攻略如下: 介绍 日志文件位置 OpenStack的日志文件存储在各个服务的日志目录下,通常在/var/log/<…

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