#! /usr/bin/env python
# -*- coding: utf-8 -*-

import math
from PIL import Image

NUMBEROFIMAGES = 700
NUMBEROFBINS = 256
SCALE = 256*256*256

def getbin(r,g,b):
	color = r*2**16+g*2**8+b
	factor = SCALE/NUMBEROFBINS
	return color/factor

fout = open('histogram.txt','w')
fout.write(str(NUMBEROFIMAGES)+'\n')
fout.write(str(NUMBEROFBINS)+'\n')

print 'starting...'

for m in range(1,NUMBEROFIMAGES+1):
    print 'generating HISTOGRAM for',str(m)+'.jpg'
    fout.write(str(m)+'.jpg\n')        
    
    im = Image.open(str(m)+'.jpg')

    freq = [0 for i in range(NUMBEROFBINS)]
    
    pixels = list(im.getdata())
    width, height = im.size

    for i in pixels:
		r,g,b = i
		ind = getbin(r,g,b)
		freq[ind] = freq[ind]+1
    
    for i in range(NUMBEROFBINS):
        fout.write(str(freq[i]/(width*height*1.0)))
        fout.write('\n')

fout.close()
print 'Done!'
