python,将labelimg的标注文件转换为paddleocr格式
时间: 2023-07-29 18:10:53 浏览: 274
可以使用以下代码将labelimg的标注文件转换为paddleocr格式:
```python
import os
import xml.etree.ElementTree as ET
def labelimg2paddleocr(labelimg_dir, paddleocr_dir):
if not os.path.exists(paddleocr_dir):
os.makedirs(paddleocr_dir)
for filename in os.listdir(labelimg_dir):
if not filename.endswith('.xml'):
continue
xml_path = os.path.join(labelimg_dir, filename)
tree = ET.parse(xml_path)
root = tree.getroot()
img_filename = root.find('filename').text
txt_path = os.path.join(paddleocr_dir, os.path.splitext(img_filename)[0] + '.txt')
with open(txt_path, 'w', encoding='utf-8') as f:
for obj in root.findall('object'):
label = obj.find('name').text
bbox = obj.find('bndbox')
xmin = int(bbox.find('xmin').text)
ymin = int(bbox.find('ymin').text)
xmax = int(bbox.find('xmax').text)
ymax = int(bbox.find('ymax').text)
f.write(f'{xmin},{ymin},{xmax},{ymax},{label}\n')
if __name__ == '__main__':
labelimg_dir = 'path/to/labelimg/dir'
paddleocr_dir = 'path/to/paddleocr/dir'
labelimg2paddleocr(labelimg_dir, paddleocr_dir)
```
其中,`labelimg_dir`为labelimg标注文件所在的目录,`paddleocr_dir`为转换后的paddleocr格式文件所在的目录。转换后的文件命名规则为:与原始图片文件名相同,但后缀名为`.txt`。每个txt文件中保存了对应图片中的所有目标的位置和标签信息。
阅读全文