4 Script that converts old-style OpenCV docs to new-style.
5 Only matrices are supported right now, base64-encoded data is not supported.
10 infile = open(sys.argv[1],"r")
11 outfile = open(sys.argv[2], "w")
14 outfile.write("<?xml version=\"1.0\"?>\n<opencv_storage>\n");
16 for l in infile.xreadlines():
18 if re.match( "^<elem.+", l ):
19 elem_id = re.findall( "id *= *\"([^\"]+)\"", l )[0]
20 elem_val = re.findall( "value *= *\"([^\"]+)\"", l )[0]
21 outfile.write( "<%s>%s</%s>\n" % (elem_id, elem_val, elem_id))
22 elif re.match( r"^ *<struct.+", l ):
23 if l.find('"CvMat"') > 0:
24 mat_id = re.findall( "id *= *\"([^\"]+)\"", l )[0]
25 mat_size = re.findall( "size *= *\"([^\"]+)\"", l )[0].split()
26 mat_dt = re.findall( "dt *= *\"([^\"]+)\"", l )[0]
27 outfile.write("<%s type_id=\"opencv-matrix\">\n" % (mat_id,))
28 outfile.write("<rows>%s</rows>\n" % (mat_size[0],))
29 outfile.write("<cols>%s</cols>\n" % (mat_size[1],))
30 outfile.write("<dt>%s</dt>\n" % (mat_dt,))
31 outfile.write("<data>\n")
34 if re.match( r"^ *</struct>", l ):
35 outfile.write("</data></%s>\n" % (mat_id,))
40 outfile.write("</opencv_storage>\n")