http://w.livedoor.jp/met-python/d/matplotlib#content_2_8
それっぽいアプリができそう。
imtools.py
import os from PIL import Image from numpy import * def get_imlist(path): return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg')] def imresize(im,sz): pil_im = Image.fromarray(uint8(im)) return array(pil_im.resize(sz)) def histeq(im,nbr_bins=256): imhist,bins = histogram(im.flatten(),nbr_bins,normed=True) cdf = imhist.cumsum() cdf = 255 * cdf /cdf[-1] im2 = interp(im.flatten(),bins[:-1],cdf) return im2.reshape(im.shape),cdf
flatten.py
from PIL import Image from pylab import * from numpy import * import imtools figure(figsize=(12,9)) filename = raw_input('Input the file name to open >> ') print filename im = array(Image.open(filename).convert('L')) subplot(231) imshow(im) subplot(234) hist(im.flatten(),128) im2,cdf = imtools.histeq(im) subplot(232) plot(cdf) subplot(233) imshow(im2) subplot(236) hist(im2.flatten(),128) show()