Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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 ) 
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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