csv标签样式
voc(xml)格式
转换代码
# .csv-->.xml
# ! /usr/bin/python
# -*- coding:UTF-8 -*-
import glob
from PIL import Image
import csv
#xml保存的位置
save_xml_dir = "Annotations_1/"
#src_img_dir = "Intestinal Organoid Dataset/train"
#img_Lists = glob.glob(src_img_dir + '/*.jpg')
# read csv
file_path = "Intestinal Organoid Dataset/train_labels.csv"
width = 450
height = 450
with open(file_path) as csvfile:
#读取csv数据
csv_reader = csv.reader(csvfile)
#去掉第一行(第一行是列名)
csv_header = next(csv_reader)
#因为csv数据中有许多行其实是同一个照片,因此需要pre_img
pre_img = ''
for row in csv_reader:
#C:/Users/Timothy/Desktop/keras-retinanet/images/test/Subset_1_450x450_001.jpg
#只要文件名Subset_1_450x450_001
img = row[0].split("/")[-1].split(".")[0]
#遇到的是一张新图片
if img != pre_img:
#非第一张图片,在上一个xml中写下
if pre_img != '':
xml_file1 = open((save_xml_dir + pre_img + '.xml'), 'a')
xml_file1.write('')
xml_file1.close()
#新建xml文件
xml_file = open((save_xml_dir + img + '.xml'), 'w')
xml_file.write('n')
xml_file.write(' VOC2007 n')
xml_file.write(' ' + str(img) + '.jpg' + ' n')
xml_file.write('n')
xml_file.write(' orgaquant n')
xml_file.write(' organoid n')
xml_file.write(' n')
xml_file.write(' n')
xml_file.write(' ' + str(width) + ' n')
xml_file.write(' ' + str(height) + ' n')
xml_file.write(' 3 n')
xml_file.write(' n')
xml_file.write(' n')
xml_file.close()
pre_img = img
else:
#同一张图片,只需要追加写入object
xml_file = open((save_xml_dir + pre_img + '.xml'), 'a')
xml_file.write(' n')
xml_file.close()
pre_img = img
#最后一个xml需要写入
xml_file1 = open((save_xml_dir + pre_img + '.xml'), 'a')
xml_file1.write('')
xml_file1.close()



