码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 在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)
    
    
  • 相关阅读:
    【RuoYi-Vue-Plus】扩展笔记 06 - 数据源 Druid 修改为 HikariCP
    目标检测中的anchor机制
    MinGW-w64下载文件失败the file has been downloaded incorrectly!
    【历史上的今天】9 月 19 日:世界上第一个表情符号;微软发布 Virtual PC;苹果 UI 扁平化的开始
    通用接口平台开源版正式发布2.0版本
    R数据分析:孟德尔随机化实操
    时光邮局|来写一封未来的信试试吧!一个我的新项目,Java+Vue
    好消息!终于解决了!Coze工作流错误中断问题终于得到解决!
    搜维尔科技:Varjo-最自然和最直观的互动
    PTA 7-42 《图书目录管理系统》(初级修订版)
  • 原文地址:https://blog.csdn.net/qq_41553157/article/details/139471600
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号