"""
目的:将原图片(img)与其xml(xml),合成为打标记的图片(labelled),矩形框标记用红色即可
已有:(1)原图片文件夹(imgs_path),(2)xml文件夹(xmls_path)
思路:step1: 读取(原图片文件夹中的)一张图片step2: 读取(xmls_path)该图片的xml文件,并获取其矩形框的两个对角顶点的位置step3: 依据矩形框顶点坐标,在该图片中画出该矩形框step4: 图片另存为'原文件名'+'_labelled',存在‘lablled’文件夹中
"""
import os
import cv2 as cv
import xml.etree.ElementTree as ETdef xml_jpg2labelled(imgs_path, xmls_path, labelled_path):imgs_list = os.listdir(imgs_path)xmls_list = os.listdir(xmls_path)nums = len(imgs_list)for i in range(nums):img_path = os.path.join(imgs_path, imgs_list[i])xml_path = os.path.join(xmls_path, xmls_list[i])img = cv.imread(img_path)labelled = imgroot = ET.parse(xml_path).getroot()objects = root.findall('object')for obj in objects:bbox = obj.find('bndbox')xmin = int(float(bbox.find('xmin').text.strip()))ymin = int(float(bbox.find('ymin').text.strip()))xmax = int(float(bbox.find('xmax').text.strip()))ymax = int(float(bbox.find('ymax').text.strip()))labelled = cv.rectangle(labelled, (xmin, ymin), (xmax, ymax), (0, 0, 255), 1)cv.imwrite('%s%s_labelled.jpg' % (labelled_path, imgs_list[i]), labelled)# cv.imshow('labelled', labelled)# cv.imshow('origin', origin)# cv.waitKey()if __name__ == '__main__':imgs_path = '自定义'xmls_path = '自定义'labelled_path = '自定义'xml_jpg2labelled(imgs_path, xmls_path, labelled_path)

目标检测--将xml文件中标签(矩形框)在其原图片上显示并另存相关推荐

  1. 目标检测:XML文件矩形框在图片上的简单可视化

    代码如下: 需要改的就是开头的四行 可视化结果只有框,没有类别 用于验证 自己写的,亲测可用 import xml.etree.ElementTree as ET import os import c ...

  2. 统计xml文件中的标签出现框数及出现过的图片数

    在使用SSD-tensorflow训练中需要传入自己的训练集与测试集的一些参数,其中包含各类名出现过的图片数,各类总框数,及总数. 今天写了一个计数的脚本如下,可用于索引XML文件中的目标数: imp ...

  3. 【项目经验】如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置

    如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置: url=jdbc:mysql://127.0.0.1:3306/airipo?useUnicod ...

  4. 提取Insight-MVT_Annotation_Train 数据集标签xml文件中的信息

    Insight-MVT_Annotation_Train  数据集标签xml文件中的信息 从xml文件中解析出所要的信息  type  height  width  top  left  写成Pasc ...

  5. Mybatis XML文件中使用CDATA标签

    0.背景   当下,使用Mybatis的XML文件书写复杂SQL,依然是一种主流的选择.那么,我们在书写SQL语句时,要时刻提醒自己,自己正在书写一个XML文件,XML文件对于一些特殊字符,是会进行解 ...

  6. 【XML文件数据预处理】获取xml文件中所有标签名称及数量||提取某个特定标签的数量||生成包含某个标签的图片索引txt并复制图片到指定文件夹

    目录 1.获取xml文件中所有标签名称及数量 2.提取某个特定标签的数量 3.生成包含某个标签的图片索引txt并复制图片到指定文件夹 1.获取xml文件中所有标签名称及数量 [需求]自己标注的数据集, ...

  7. CV:基于Keras利用训练好的hdf5模型进行目标检测实现输出模型中的脸部表情或性别的gradcam(可视化)

    CV:基于Keras利用训练好的hdf5模型进行目标检测实现输出模型中的脸部表情或性别的gradcam(可视化) 目录 设计思路 核心代码 设计思路 核心代码 #CV:基于keras利用训练好的hdf ...

  8. 目标检测(四)——xml快速上手(可完整实现)

    文章目录 什么是xml xml解析讲解 一.标签介绍 filename标签 size标签 object标签 二.xml解析的API xml单个文件的解析 构建类别索引(category_id) 构建x ...

  9. web.xml文件中的web-app元素

    [转载]web.xml文件中的web-app元素 (2012-05-24 13:35:57) 转载▼ 标签: 转载 分类: java 挺全 的 呵呵呵 转了 原文地址:web.xml文件中的web-a ...

最新文章

  1. 核磁共振影像数据处理-2-DWI实践:计算ADC (MD) map、Li‘s have a solution and plan.
  2. execve函数的介绍与使用
  3. 设计模式——责任链模式
  4. python入门及日常应用_python的日常应用-入门篇02
  5. 太硬核!2亿股万科股票,约53亿元,一次性全部捐给清华,干一件大事!
  6. 索引-linux-技术大钢
  7. HashMap的使用方法及注意事项
  8. prim算法_历时两月,终拿字节跳动offer,算法面试题分享「带答案」
  9. 根据数字生成唯一数字_PLSQL——根据上下数字生成等差数列补充空白行
  10. 做 Python 代码重构,竟发现这些“潜规则”!
  11. 大数乘法(c++)算法
  12. popen 如何获取指令执行情况_php通过popen获取的一个命令的返回值如何分析出来...
  13. 并查集(许多东西的基本哦)
  14. 点云配准(PCL+ICP)
  15. VS语音信号处理(4) C语言WAV格式语音存为PCM格式语音工程实例
  16. 科来过滤jd提示语法解析器错误的解决问题方法
  17. 遗传算法之TSP问题
  18. Blender学习笔记(4)材质配色和打光渲染|blender
  19. vue-ES2015:
  20. python模块:Sockets阻塞和非阻塞测试

热门文章

  1. 共轭梯度法matlab实验报告,用matlab实现共轭梯度法求解实例.doc
  2. 该严惩讹诈好人的恐怖老太吗?
  3. Jenkins 定时任务触发时间表达式 -Poll SCM
  4. 【深度学习浅尝】web自动化测试中识别图片算术验证码
  5. 摆渡人 - 平安 (Anson Ping),歌曲特别好听。
  6. 算法基础(五)| 差分算法及模板详解
  7. 触摸屏原理及程序框架
  8. Nova — 启动 GPU Passthrough 虚拟机(Nova Centric 模式)
  9. windows server 2003搭建FTP服务
  10. Flink 六脉神剑秘诀