--- a +++ b/histogram.py @@ -0,0 +1,43 @@ +#! /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!'