在mmdet 3.0系列中使用visualizer进行目标检测真实框和检测框的可视化和绘制 并保存为图像

在 MMDetection 3.0 中,使用 visualizer 进行目标检测的真实框和检测框的可视化和绘制,并将结果保存为图像,是一个比较简便且高效的方法。以下是具体的实现步骤和代码示例。

步骤

加载必要的库和初始化模型。
加载测试图像和数据集。
进行推理。
使用 visualizer 绘制真实框和检测框。
保存绘制结果。

示例代码

首先,确保你的环境中安装了最新版本的 MMDetection。

pip install mmdet==3.0.0
pip install -U openmim
mim install mmdet

以下是一个完整的代码示例:

import mmcv
import cv2
import numpy as np
import matplotlib.pyplot as plt
from mmdet.apis import init_detector, inference_detector
from mmdet.utils import register_all_modules
from mmdet.visualization import DetLocalVisualizer
from mmdet.datasets import build_dataset
from mmdet.datasets.pipelines import Compose# 注册所有模块
register_all_modules()# 配置文件和模型检查点的路径
config_file = 'path/to/your/config/file.py'
checkpoint_file = 'path/to/your/checkpoint/file.pth'# 初始化模型
model = init_detector(config_file, checkpoint_file, device='cuda:0')# 测试图像路径
img = 'path/to/your/test/image.jpg'# 构建数据集
cfg = mmcv.Config.fromfile(config_file)
dataset = build_dataset(cfg.data.test)# 获取样本数据
data = dataset[0]# 提取图像和 ground truth boxes
img_path = data['img_metas'][0].data['filename']
gt_bboxes = data['gt_bboxes'][0].data.numpy()
gt_labels = data['gt_labels'][0].data.numpy()# 加载图像
img = mmcv.imread(img_path)# 绘制 ground truth boxes
visualizer = DetLocalVisualizer()
visualizer.dataset_meta = dataset.metainfo# 创建 ground truth 数据
gt_data = {'bboxes': gt_bboxes,'labels': gt_labels
}# 绘制 ground truth boxes
visualizer.add_datasample('ground_truth', img, gt_data, draw_gt=True)# 推理检测
result = inference_detector(model, img)# 绘制检测框
visualizer.add_datasample('detection', img, result, draw_pred=True, show=True)# 保存结果图像
out_file = 'path/to/save/result_image.jpg'
visualizer.add_datasample('detection', img, result, draw_pred=True, show=False, out_file=out_file)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经网络 | 深度学习背后的数学

神经网分析 机器学习处理的是数据,通过学习输入的数据,从而建立模型,以便预测新的数据的输出 按照类型可以进行如下分类 监督分类 非监督分类 强化学习 神经元 生物学中,人的大脑是由多个神经元互相连接形成网络而构成的。也…

2024国内热门大语言模型在科研方面的应用

本博客总结了几款热门的国产大语言模型,帮助大家利用这些大语言模型更好的进行科研。 模型介绍 1.文心一言 链接:https://yiyan.baidu.com/ 开发方:百度 特点:专注于中文语言理解与生成,适合中文文本的语义理解任务。 百度推出…

设计模式-抽象工厂(创建型)

创建型-抽象工厂 角色 抽象工厂: 声明创建一个族产品对象的方法,每个方法对应一中产品,抽象工厂可以是接口,也可以是抽象类;具体工厂: 实现抽象工厂接口,复杂创建具体的一族产品;抽…

[晕事]今天做了件晕事36 函数A明明调用了B,但是在汇编里却找不到,static优化

最近看gcov的一个问题,在分析二进制文件和源代码的时候发现,这个函数体明明不是很大,但是汇编内容确实巨量。占到~5000个字节。而且函数里明明调用了另一个函数dump_one_gcov,却找不到相应的汇编代码。 void gcov_do_dump (struct gcov_info *list, int run_counted) {str…

web学习笔记(六十三)

目录 1.钩子函数onActivated和onDeactivated 1.1 onActivated 1.2 onDeactivated 2. KeepAlive补充 2.1 include 和 exclude 2.2 的作用是什么? 2.3 组件包含什么prop属性及作用? 2.4 对应那两个生命周期?生命周期什么时机执行? 2.5 …

前端 Web 与原生应用端 WebView 通信交互 - HarmonyOS Next

基于鸿蒙 HarmonyOS Next 与前端 Vue 通信交互相关小结; DevEco Studio NEXT Developer Preview2 Vue js 两端相互拟定好协议后,通过前端页面的点击事件,将所需的数据传输给原生移动端组件方法中,处理后将消息回传至前端. 根据官方文档的案例尝试,但没成功 ... 后经过几经尝试…

GDB调试工具

-D,指定编译内容。 调试: gdb ./a.out 文件名 l可以查看代码内容 c全部执行 n执行下一步 q退出 gdb ./a.out -p id号 查找ID号用管道命令|。

【重磅丨教育设备】推动大规模设备更新和消费品以旧换新行动方案

近日,国务院印发《推动大规模设备更新和消费品以旧换新行动方案》(以下简称《行动方案》)。《行动方案》提出:实施设备更新行动。提升教育文旅医疗设备水平,推动符合条件的高校、职业院校(含技工院校&#…

使用 Docker Compose 编排 Django 应用

1. 使用 Docker Compose 编排 Django 应用 1.1 准备工作 确保已安装 Docker 和 Docker Compose。 # 安装 $ sudo pip install -U docker-compose#卸载 $ sudo pip uninstall docker-compose创建一个新的目录来存放项目文件。在该目录下创建一个名为 requirements.txt 的文件…

FarmersWorld农民世界源码开发:0撸卷轴+潮玩模式

一、引言 随着科技的发展,游戏产业日益壮大,一种新型的游戏形式——零撸游戏应运而生。本文将深入探讨FarmersWorld农民世界源码开发,以其独特的0撸卷轴潮玩模式,为玩家带来全新的游戏体验。 二、源码开发的专业性和深度 Farmer…

笔记 | 软件工程01:从程序到软件

1 软件工程知识域 2 程序 2.1 何为程序及程序的质量要求 何为程序: 理解:软件工程可能就是在弥补OOP语言与自然语言之间还存在的鸿沟 2.1.1 程序质量的内在和外在体现 2.1.2 程序质量的语法和语义体现 2.2 编写代码的基本原则 2.3 程序质量保证方法 …

xml创建模型组合体

XML创建模型组合体 创建步骤模型准备模型处理模型文件XML编写 效果 创建步骤 模型准备 CAD 提供的原始模型如下: 该模型存在的问题: 单位问题:CAD出图的是 mm 为单位,但是 mujoco 建模这边用的是以 m 为单位的;原点…

2024年会计、金融与工商管理国际会议(ICAFBA 2024)

2024年会计、金融与工商管理国际会议 2024 International Conference on Accounting, Finance, and Business Administration 【1】会议简介 2024年会计、金融与工商管理国际会议是一场集合了全球会计、金融与工商管理领域专家学者的学术盛会。此次会议旨在深入探讨会计、金融与…

matlab模拟黑洞包含吸积盘和喷流,简单模拟

本文介绍 黑洞的简单实现和模拟 代码 % Black Hole Simulation in 3D% Clear workspace and figures clear; close all; clc;% Create figure and set axis properties figure; axis([-10 10 -10 10 -10 10]); hold on; grid on; view(3);% Parameters for the black hole a…

C# 判断字符串不等于空的示例

在C#中,要判断一个字符串是否不等于空(即它既不是null也不是空字符串""),方法有如下几种,如下。 方法1 使用逻辑运算符和string.IsNullOrEmpty方法 string myString "123"; // 假设要检查的字…

Matlab实现GWO-CNN-LSTM-Mutilhead-Att灰狼算法卷积长短期记忆神经网络融合多头注意力机制预测 SCI顶级优化

数据预处理:准备和清理数据,包括数据的加载、特征提取、归一化等。 GWO (灰狼算法) 的实现:根据灰狼算法的原理和公式,编写 MATLAB 代码来初始化灰狼群体、计算适应度函数、更新位置等。 CNN (卷积神经网络) 的构建:使…

Capture One Pro 23:专业 Raw 图像处理的卓越之选

在当今的数字摄影时代,拥有一款强大的图像处理软件至关重要。而 Capture One Pro 23 for Mac/Win 无疑是其中的佼佼者,为摄影师和图像爱好者带来了前所未有的体验。 Capture One Pro 23 以其出色的 Raw 图像处理能力而闻名。它能够精准地解析和处理各种…

k8s的pod是什么?

**K8s的Pod是Kubernetes的最小部署单元**。Pod可以包含一个或多个容器,这些容器共享存储、网络、以及运行于相同的宿主机上。Pod是Kubernetes集群上各种服务的最小运行单元,它不是直接运行在宿主机上的,而是运行在Kubernetes的Node节点上。Po…

c++的传值参数和传引用参数

了解值传递 首先需要明白值传递,所谓值传递就是将一个实参的值&#xff0c;拷贝给形参进行初始化的传参方式 例如&#xff1a; int square(int x){return x*x; }int main(){int n6;cout<<n<<"的平方是:"<<square(n)<<endl; }在这里的代码中…

微软不再允许Windows 11通过1@1.com绕过登录 但还有其他办法可以继续用

微软不再允许 Windows 11 通过 11.com 和 nothankyou.com 绕过登录&#xff0c;但断网的情况下使用 OOBE\BYPASSNRO 命令仍然是有效的。如果你在安装或重置系统时仍然需要创建本地账户&#xff0c;请直接使用 OOBE 命令。 在 Windows 11 家庭版和专业版中用户必须保持设备联网…