def awinder(): # slice up Amy Winder's images output_dir_base = "{0}_winder/".format(num_rows_in_strip) # output_dir_base = "300_winder/" for imgfilename in sys.argv[1:]: basename = get_basename(imgfilename) input_path = os.path.dirname(imgfilename) # get rid of the trailing "/png" component (it's annoying) input_path = input_path.replace("/png", "/") output_dir = output_dir_base + input_path + basename print output_dir if os.path.exists(output_dir): print "{0} exists so assume files are OK".format(output_dir) continue else: os.makedirs(output_dir) make_sliding_strips_from_image(imgfilename, output_dir) xmlfilename = imgfilename.replace(".png", ".xml") xmlfilename = xmlfilename.replace("png", "gTruth") print xmlfilename try: zone_list = gtruthxml.parse_xml(xmlfilename) except IOError, e: if e.errno == 2: # some of the files are living in a ./xml subdir xmlfilename = imgfilename.replace(".png", ".xml") xmlfilename = xmlfilename.replace("png", "gTruth/xml") zone_list = gtruthxml.parse_xml(xmlfilename) else: raise print zone_list # get the image as a numpy array data = mkslices.load_image(imgfilename) # slice up the ground truth into individual XML files make_all_gtruth_xml(zone_list, data, output_dir, basename)
def awinder( ) : # slice up Amy Winder's images output_dir_base = "{0}_winder/".format(num_rows_in_strip) # output_dir_base = "300_winder/" for imgfilename in sys.argv[1:] : basename = get_basename(imgfilename) input_path = os.path.dirname(imgfilename) # get rid of the trailing "/png" component (it's annoying) input_path = input_path.replace( "/png", "/" ) output_dir = output_dir_base + input_path + basename print output_dir if os.path.exists(output_dir) : print "{0} exists so assume files are OK".format(output_dir) continue else: os.makedirs(output_dir) make_sliding_strips_from_image( imgfilename, output_dir ) xmlfilename = imgfilename.replace(".png",".xml") xmlfilename = xmlfilename.replace("png","gTruth") print xmlfilename try : zone_list = gtruthxml.parse_xml( xmlfilename ) except IOError,e: if e.errno==2 : # some of the files are living in a ./xml subdir xmlfilename = imgfilename.replace(".png",".xml") xmlfilename = xmlfilename.replace("png","gTruth/xml") zone_list = gtruthxml.parse_xml( xmlfilename ) else : raise print zone_list # get the image as a numpy array data = mkslices.load_image( imgfilename ) # slice up the ground truth into individual XML files make_all_gtruth_xml( zone_list, data, output_dir, basename )
def draw_zones( xmlfilename, imgfilename, outfilename=None ) : img = load_image( imgfilename ) draw = ImageDraw.Draw(img) zone_list = gtruthxml.parse_xml( xmlfilename ) for zone in zone_list : if zone.value=="Non-text" : color = "red" else : color = "green" x1 = zone.rect[0].x y1 = zone.rect[0].y x2 = zone.rect[2].x y2 = zone.rect[2].y draw.rectangle( ((x1,y1),(x2,y2)), outline=color) if outfilename is None : outfilename = get_basename( imgfilename )+"_zones.png" img.save(outfilename) return outfilename
def draw_zones(xmlfilename, imgfilename, outfilename=None): img = load_image(imgfilename) draw = ImageDraw.Draw(img) zone_list = gtruthxml.parse_xml(xmlfilename) for zone in zone_list: if zone.value == "Non-text": color = "red" else: color = "green" x1 = zone.rect[0].x y1 = zone.rect[0].y x2 = zone.rect[2].x y2 = zone.rect[2].y draw.rectangle(((x1, y1), (x2, y2)), outline=color) if outfilename is None: outfilename = get_basename(imgfilename) + "_zones.png" img.save(outfilename) return outfilename