import Image

def main():

    colorMap = {
        (229, 148, 30) : "Medium Orange",
        (213, 101, 29) : "Dark Orange",
        (218, 180, 70) : "Light Orange",
        (214, 198, 139) : "Light Yellow",
        (165, 83, 167) : "Purple",
        (247, 88, 178) : "Pink",
        (103, 192, 183) : "Turquoise",
        (245, 82, 117) : "Red",
        (243, 105, 54) : "Bright Orange",
        (73, 176, 199) : "Blue",
        (21, 145, 171) : "Dark Blue",
        (94, 160, 195) : "Medium Blue",
        (239, 18, 151) : "Magenta",
        (126, 198, 149) : "Green",
        (221, 206, 168) : "Grey",
        (230, 193, 79) : "Bright Yellow"
        }

    letterMap = {
        (229, 148, 30) : "M", # Medium Orange
        (213, 101, 29) : "O", # Dark Orange
        (218, 180, 70) : "L", # Light Orange
        (214, 198, 139) : "Y", # Light Yellow
        (165, 83, 167) : "P", # Purple
        (247, 88, 178) : "I", # Pink
        (103, 192, 183) : "T", # Turquoise
        (245, 82, 117) : "R", # Red
        (243, 105, 54) : "A", # Bright Orange
        (73, 176, 199) : "B", # Blue
        (21, 145, 171) : "D", # Dark Blue
        (94, 160, 195) : "E", # Medium Blue
        (239, 18, 151) : "G", # Magenta
        (126, 198, 149) : "N", # Green
        (221, 206, 168) : "X", # Grey
        (230, 193, 79) : "W", # Bright Yellow
                  }
    
    colorList = {}
    imgFile = "c:\Python23\post_it_design.bmp"
    outfile = file("c:\python23\out.tsv", 'w')
    sum = 0
    img = Image.open(imgFile)
    width, height = img.size
    img = img.getdata()
    
    for x in range(0, len(img)):
        if ((x % width) == 0):
            outfile.write("\n")
            print ""
        red = img[x][0]
        green = img[x][1]
        blue = img[x][2]
        outfile.write(letterMap[(red,green,blue)] + "\t")
        print letterMap[(red,green,blue)],
        try: colorList[(red,green,blue)] = colorList[(red,green,blue)] + 1
        except: colorList[(red,green,blue)] = 1

    print "\n\nColor Usage Stats:"
    for x in colorList:
        try: print colorMap[x], colorList[x]
        except: print x, colorList[x]
    for x in colorList:
        sum += colorList[x]
    print "TOTAL:",sum

    outfile.close()
    
main()
    

