matplotlibの使い方

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()