计算机视觉——bbox的格式简介

计算机视觉——bbox的格式简介


前提知识: 左上角为坐标原点

一、Itwh

全程:(left,top,weight,height)
在这里插入图片描述

二、xywh

全程:(x,y,weight,height)
x、y既可以指左上角的点也可以指中心点
coco数据集: [x,y,w,h],分别表示的是左上角横坐标、左上角纵坐标、宽度、高度
yolo数据集: [x,y,w,h],分别表示的是中心点横坐标、中心点纵坐标、宽度、高度

你可以使用 `os` 和 `cv2` 库来批量保存图片,使用 `lxml` 库来生成 VOC 格式的 XML 文件。下面是一个简单的示例代码,假设你已经使用 Albumentations 进行了图片增强并得到了增强后的图片和对应的 bbox。 ```python import os import cv2 from lxml import etree # 增强后的图片和对应的 bbox images = [...] # 增强后的图片列表 bboxes = [...] # 对应图片的 bbox 列表 # 保存增强后的图片和对应的 VOC 格式 XML 文件 for i, (image, bbox) in enumerate(zip(images, bboxes)): # 保存图片 image_name = f"augmented_{i}.jpg" cv2.imwrite(image_name, image) # 保存 VOC 格式 XML 文件 xml_name = f"augmented_{i}.xml" root = etree.Element("annotation") # 生成 XML 文件内容,这里只是一个示例 size = etree.Element("size") width = etree.Element("width") width.text = str(image.shape[1]) size.append(width) height = etree.Element("height") height.text = str(image.shape[0]) size.append(height) root.append(size) for box in bbox: obj = etree.Element("object") name = etree.Element("name") name.text = "object_name" obj.append(name) bndbox = etree.Element("bndbox") xmin = etree.Element("xmin") xmin.text = str(box[0]) bndbox.append(xmin) ymin = etree.Element("ymin") ymin.text = str(box[1]) bndbox.append(ymin) xmax = etree.Element("xmax") xmax.text = str(box[2]) bndbox.append(xmax) ymax = etree.Element("ymax") ymax.text = str(box[3]) bndbox.append(ymax) obj.append(bndbox) root.append(obj) tree = etree.ElementTree(root) tree.write(xml_name, pretty_print=True) ``` 在这个示例代码中,我们循环遍历所有增强后的图片和对应的 bbox,使用 `cv2.imwrite` 函数保存图片,并使用 `lxml` 库生成 VOC 格式的 XML 文件。注意,在生成 XML 文件时,需要将 bbox 中的坐标信息按照 VOC 格式的要求写入 XML 文件中。 当然,这只是一个简单的示例代码,你需要根据自己的具体应用场景进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

William.csj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值