From 234ad1682e0a5e3a3c7c489cabaceceefc7cf809 Mon Sep 17 00:00:00 2001 From: Brendan Klare Date: Wed, 6 Nov 2013 22:55:09 -0500 Subject: [PATCH] Simple script to convert FDDB to xml --- data/FDDB/fddbToSigset.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+), 0 deletions(-) create mode 100644 data/FDDB/fddbToSigset.py diff --git a/data/FDDB/fddbToSigset.py b/data/FDDB/fddbToSigset.py new file mode 100644 index 0000000..a5ac810 --- /dev/null +++ b/data/FDDB/fddbToSigset.py @@ -0,0 +1,54 @@ +# Simple script to convert files from the FDDB format into sigsets +# Author: Brendan Klare + +import os +import sys +from xml.dom.minidom import Document + +if len(sys.argv) < 3: + print 'Usage: fddbtoSigset.py fddbFileIn xmlSigsetFileOut' + sys.exit(-1) + +inFileName = sys.argv[1] +outFileName = sys.argv[2] +assert(os.path.exists(inFileName)) + +ini = open(inFileName) +lines = ini.readlines() +ini.close() + +xmlDoc = Document() +xmlRoot = xmlDoc.createElement('biometric-signature-set') +i = 0 +cnt = 0 +while True: + if not i < len(lines): + break + cnt += 1 + line = lines[i] + xmlImg = xmlDoc.createElement('biometric-signature') + xmlImg.setAttribute('name','img%05d' % cnt) + xmlPres = xmlDoc.createElement('presentation') + xmlPres.setAttribute('file-name',line[:-1]) + xmlPres.setAttribute('Label','pos') + + cnt = int(lines[i+1][:-1]) + for j in range(cnt): + node = xmlDoc.createElement('data:bbox') + s = lines[i+2+j][:-1].split() + radius = float(s[1]) + x = float(s[3]) + y = float(s[4]) + node.setAttribute('x',str(x - radius)) + node.setAttribute('y',str(y - radius)) + node.setAttribute('width',str(radius * 2.0)) + node.setAttribute('height',str(radius * 2.0)) + xmlPres.appendChild(node) + xmlImg.appendChild(xmlPres) + xmlRoot.appendChild(xmlImg) + i += (2 + cnt) + +out = open(outFileName,'w') +print >> out, xmlRoot.toprettyxml() +out.close() + -- libgit2 0.21.4