深度学习目标检测的标签数据是以一系列点的形式存储在文件中,输出结果也是以点的形式表示,难以进行目视判读。本代码可以根据检测结果在原始影像上绘制边界框,实现检测结果的可视化。

在OBB的目标检测中,DOTA数据的标签以[x1 y1 x2 y2 x3 y3 x4 y4 class difficult]格式记录在txt文件中,如下所示:

标签文件与影像文件的名称一一对应:

将标签数据绘制在影像上的可视化代码如下:

# -*- coding: utf-8 -*-
import os, cv2
import numpy as np
import tifffile# 读取标签文件,返回一系列边界框的坐标点及类别信息
# 文件中一行代表一个边界框,每行由"x1 y1 x2 y2 x3 y3 x4 y4 class difficult"组成
def read_label(label_file):with open(label_file, 'r') as f:box_data = []  # 存储坐标点信息label_data = []  # 存储标类别信息for line in f.readlines():curLine = line.strip().split(" ")x1 = float(curLine[0])y1 = float(curLine[1])x2 = float(curLine[2])y2 = float(curLine[3])x3 = float(curLine[4])y3 = float(curLine[5])x4 = float(curLine[6])y4 = float(curLine[7])box = np.array([[x1, y1], [x2, y2], [x3, y3], [x4, y4]], np.int32)label = curLine[8]box_data.append(box)label_data.append(label)return box_data, label_datalabel_dir = './labelTxt/'  # 存储标签的文件夹
image_dir = './images/'  # 存储影像的文件夹
out_dir = './showlabel/'  # 保存输出文件的文件夹
label_files = os.listdir(label_dir)n = 0
for label_file in label_files:  # 遍历标签文件if '.txt' in label_file:label_path = label_dir + label_file  # 标签文件路径image_path = image_dir + label_file.replace('.txt', '.tif')  # 影像文件路径(影像与标签文件名对应,替换后缀即可)im = cv2.imread(image_path)box_data, label_data = read_label(label_path)  # 读取标签文件中的坐标点信息for i in range(len(box_data)):x1 = box_data[i][0][0]  # 第一个坐标点,为了固定类别标签的位置y1 = box_data[i][0][1]bbox = np.array(box_data[i], np.int32)bbox = bbox.reshape((-1, 1, 2))cv2.polylines(im, [bbox], True, (4, 7, 250), 1)  # 绘制边界框font = cv2.FONT_HERSHEY_SIMPLEX# cv2.putText(im, label_data[i], (x1, y1 - 7), font, 0.5, (6, 230, 230), 1)    #可以在边界框上标注类别label_show_file = out_dir + label_file.replace('.txt', '.tif')cv2.imwrite(label_show_file, im)  # 保存可视化后的影像

Python 深度学习目标检测结果可视化相关推荐

  1. Python 深度学习目标检测评价指标 :mAP、Precision、Recall、AP、IOU等

    目标检测评价指标: 准确率 (Accuracy),混淆矩阵 (Confusion Matrix),精确率(Precision),召回率(Recall),平均正确率(AP),mean Average P ...

  2. 姿态检测 树莓派_怎样在树莓派上轻松实现深度学习目标检测?

    原标题:怎样在树莓派上轻松实现深度学习目标检测? 雷锋网按:本文为 AI 研习社编译的技术博客,原标题 How to easily Detect Objects with Deep Learning ...

  3. 值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(下)

    作者 | 黄浴 来源 | 转载自知乎专栏自动驾驶的挑战和发展 [导读]在近日发布的<值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)>一文中,作者介绍了一部分各大公司和机构基于 ...

  4. 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码)

    深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 目录 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 1. 前言 2. 车辆检测数据集说明 (1)车 ...

  5. 【深度学习目标检测】一、基于yolov3的水果商品检测分类

    [深度学习目标检测]一.基于yolov3的水果商品检测分类 本文的目标是使用yolov3目标检测算法实现水果检测,使用的深度学习框架为paddlepaddle,目标检测算法框架paddledetect ...

  6. 深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码)

    深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码) 目录 深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码) 1. 前言 2. 红绿灯检测数据集说明 (1) ...

  7. 深度学习目标检测详细解析以及Mask R-CNN示例

    深度学习目标检测详细解析以及Mask R-CNN示例 本文详细介绍了R-CNN走到端到端模型的Faster R-CNN的进化流程,以及典型的示例算法Mask R-CNN模型.算法如何变得更快,更强! ...

  8. 深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?

    编译 | 庞佳 责编 | Leo 出品 | AI 科技大本营(公众号ID:rgznai100) AI 科技大本营按:本文编译自 Adrian Rosebrock 发表在 PyImageSearch 上 ...

  9. 【树莓派】:配置+SSH+VNC,实现深度学习目标检测

    1.查看树莓派IP地址: hostname -i 更新软件源和软件 # 更新软件源 sudo apt-get update # 更新软件 sudo apt-get upgrade 2.通信准备 打开串 ...

最新文章

  1. 树莓派视觉小车 -- 物体跟踪(OpenCV)
  2. 干货丨手把手带你玩转机器学习和深度学习
  3. cocos2dx andoroid切换后台后资源重载
  4. mysql 日期计算_mysql两个日期计算天数怎么算?
  5. OpenCV中的随机数
  6. LeetCode-316. 去除重复字母(hard且重要)
  7. 推介英特尔® 黑带软件开发人员!
  8. Flink-sql之当前日期
  9. textView设置粗体以及textView文字中划线
  10. java gui 测试工具_开发者眼中最好的22款GUI测试工具(上)
  11. python爬虫--获取百度热榜
  12. Java实现 LeetCode 274 H指数
  13. Linux 运维是做什么的?有钱途吗?发展前景怎么样?
  14. poj2249Binomial Showdown
  15. Druid java.sql.SQLException: connection holder is null
  16. nacos的命名空间
  17. 安装和配置 苹果CMS v10 的记录 搭建教程
  18. excel用图标表示数据增减
  19. 使用oracle开发的配置
  20. 将SkeyeVSS综合安防监控视频流媒体云平台监控画面嵌入微信公众号进行直播

热门文章

  1. MySQL根据某一个字段合并重复列
  2. nomad 服务编排_Nomad微服务的容器模式
  3. 基于模型的无人机开发
  4. JDBC编程的六个步骤以及使用示例(详细)
  5. [CDQ分治与整体二分]个人对CDQ分治与整体二分的理解
  6. [总结]CDQ分治整体二分
  7. 如何快速找出一个数组中最大数和第二大数
  8. win7通过远程桌面连接win10失败解决方法
  9. mysql关联删除(删除不存在另一张表的记录)
  10. VerA 0.15 by PE_kill