#! /usr/bin/python
import os, sys
import glob
from PIL import Image
# ICDAR image path
src_img_dir = "./images"
# ICDAR ground truth path
#src_txt_dir = "./gt"
src_ann_dir = "./Annotations"
img_Lists = glob.glob(src_img_dir + '/*.jpg')
img_basenames = [] # e.g. 100.jpg
for item in img_Lists:
img_basenames.append(os.path.basename(item))
img_names = [] # e.g. 100
for item in img_basenames:
temp1, temp2 = os.path.splitext(item)
img_names.append(temp1)
for img in img_names:
img_path = src_img_dir + '/' + img + '.jpg'
img_root_path = os.path.abspath(img_path)
im = Image.open(img_path)
width, height = im.size
# open the crospronding txt file
# gt = open(src_txt_dir + '/' + img + '.txt').read().splitlines()
# write in xml file
# os.mknod(src_txt_dir + '/' + img + '.xml')
xml_file = open((src_ann_dir + '/' + img + '.xml'), 'w')
xml_file.write('<annotation>\n')
xml_file.write('\t<folder>img</folder>\n')
xml_file.write('\t<filename>' + str(img) + '.jpg' + '</filename>\n')
xml_file.write('\t<path>' + img_root_path + '</path>\n')
xml_file.write('\t<source>\n')
xml_file.write('\t\t<database>' + 'Unknown' + '</database>\n')
xml_file.write('\t</source>\n')
xml_file.write('\t<size>\n')
xml_file.write('\t\t<width>' + str(width) + '</width>\n')
xml_file.write('\t\t<height>' + str(height) + '</height>\n')
xml_file.write('\t\t<depth>3</depth>\n')
xml_file.write('\t</size>\n')
xml_file.write('\t<segmented>0</segmented>\n')
# write the region of text on xml file
# for img_each_label in gt:
# spt = img_each_label.split(',')
for i in range(2):
xml_file.write('\t<object>\n')
xml_file.write('\t\t<name>text</name>\n')
xml_file.write('\t\t<pose>Unspecified</pose>\n')
xml_file.write('\t\t<truncated>0</truncated>\n')
xml_file.write('\t\t<difficult>0</difficult>\n')
xml_file.write('\t\t<robndbox>\n')
xml_file.write('\t\t\t<cx>' + str(0) + '</cx>\n')
xml_file.write('\t\t\t<cy>' + str(1) + '</cy>\n')
xml_file.write('\t\t\t<w>' + str(2) + '</w>\n')
xml_file.write('\t\t\t<h>' + str(3) + '</h>\n')
xml_file.write('\t\t\t<angle>' + str(4) + '</angle>\n')
xml_file.write('\t\t</robndbox>\n')
xml_file.write('\t\t<extra/>\n')
xml_file.write('\t</object>\n')
xml_file.write('</annotation>')