Hi all, I seem to have found an odd behavior in the equalization.
I created a series of test images with PIL for a demonstration: a 300x300 RGB image with three bars of gray with offsets of 20 in all three channels with starting values of 0 to 200 in steps of 50. I expected the equalization routine to move them to 0, 128, 255 as per the definition of Histogram Equailzation but to my suprise the equalization routine decides to instead set them to 0, 85, 170. Is this intended functionality? Is this a bug/feature? :) David ------------------------------------- Source used------------------------- import Image, ImageOps, ImageDraw, ImageFilter def fill(im,start): d = ImageDraw.Draw(im) d.rectangle((0,0,99,299), fill=(start+0,start+0,start+0), outline =(start+0,start+0,start+0)) d.rectangle((100,0,199,299), fill=(start+20,start+20,start+20), outline =(start+20,start+20,start+20)) d.rectangle((200,0,299,299), fill=(start+40,start+40,start+40), outline =(start+40,start+40,start+40)) return im x = Image.new('RGB',(300,300)) original = open('original.csv','w') equalized = open('equalized.csv','w') for image_base in [a for a in range(0,200,50)]: a = fill(x, image_base) a.save('%s_original.png'%image_base,'PPM') b = ImageOps.equalize(a) b.save('%s_equalized.png'%image_base,'PPM') original.write('%s,'%image_base+`a.histogram()`[1:-1]+'\n') equalized.write('%s,'%image_base+`b.histogram()`[1:-1]+'\n') _______________________________________________ Image-SIG maillist - Image-SIG@python.org http://mail.python.org/mailman/listinfo/image-sig