Python 深度学习目标检测结果可视化
深度学习目标检测的标签数据是以一系列点的形式存储在文件中,输出结果也是以点的形式表示,难以进行目视判读。本代码可以根据检测结果在原始影像上绘制边界框,实现检测结果的可视化。
在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 深度学习目标检测结果可视化相关推荐
- Python 深度学习目标检测评价指标 :mAP、Precision、Recall、AP、IOU等
目标检测评价指标: 准确率 (Accuracy),混淆矩阵 (Confusion Matrix),精确率(Precision),召回率(Recall),平均正确率(AP),mean Average P ...
- 姿态检测 树莓派_怎样在树莓派上轻松实现深度学习目标检测?
原标题:怎样在树莓派上轻松实现深度学习目标检测? 雷锋网按:本文为 AI 研习社编译的技术博客,原标题 How to easily Detect Objects with Deep Learning ...
- 值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(下)
作者 | 黄浴 来源 | 转载自知乎专栏自动驾驶的挑战和发展 [导读]在近日发布的<值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)>一文中,作者介绍了一部分各大公司和机构基于 ...
- 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码)
深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 目录 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 1. 前言 2. 车辆检测数据集说明 (1)车 ...
- 【深度学习目标检测】一、基于yolov3的水果商品检测分类
[深度学习目标检测]一.基于yolov3的水果商品检测分类 本文的目标是使用yolov3目标检测算法实现水果检测,使用的深度学习框架为paddlepaddle,目标检测算法框架paddledetect ...
- 深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码)
深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码) 目录 深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码) 1. 前言 2. 红绿灯检测数据集说明 (1) ...
- 深度学习目标检测详细解析以及Mask R-CNN示例
深度学习目标检测详细解析以及Mask R-CNN示例 本文详细介绍了R-CNN走到端到端模型的Faster R-CNN的进化流程,以及典型的示例算法Mask R-CNN模型.算法如何变得更快,更强! ...
- 深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?
编译 | 庞佳 责编 | Leo 出品 | AI 科技大本营(公众号ID:rgznai100) AI 科技大本营按:本文编译自 Adrian Rosebrock 发表在 PyImageSearch 上 ...
- 【树莓派】:配置+SSH+VNC,实现深度学习目标检测
1.查看树莓派IP地址: hostname -i 更新软件源和软件 # 更新软件源 sudo apt-get update # 更新软件 sudo apt-get upgrade 2.通信准备 打开串 ...
最新文章
- 树莓派视觉小车 -- 物体跟踪(OpenCV)
- 干货丨手把手带你玩转机器学习和深度学习
- cocos2dx andoroid切换后台后资源重载
- mysql 日期计算_mysql两个日期计算天数怎么算?
- OpenCV中的随机数
- LeetCode-316. 去除重复字母(hard且重要)
- 推介英特尔® 黑带软件开发人员!
- Flink-sql之当前日期
- textView设置粗体以及textView文字中划线
- java gui 测试工具_开发者眼中最好的22款GUI测试工具(上)
- python爬虫--获取百度热榜
- Java实现 LeetCode 274 H指数
- Linux 运维是做什么的?有钱途吗?发展前景怎么样?
- poj2249Binomial Showdown
- Druid java.sql.SQLException: connection holder is null
- nacos的命名空间
- 安装和配置 苹果CMS v10 的记录 搭建教程
- excel用图标表示数据增减
- 使用oracle开发的配置
- 将SkeyeVSS综合安防监控视频流媒体云平台监控画面嵌入微信公众号进行直播