[Tutor] New to Python - simple question

staticsafe me at staticsafe.ca
Sat Nov 17 18:47:52 CET 2012


On 11/16/2012 12:40, Unaiza Ahsan wrote:
> Hi all,
> 
> I am following Jan Erik Solem's book "Programming Computer Vision with
> Python" and I'm just on the first chapter. The book asked us to create a
> file imtools.py and put down helpful functions there, which we can just
> call later.
> 
> There is a function created for histogram equalization of images (called *
> histeq*), and saved in imtools.py. When I use this function and type this
> in IDLE:
>>>> from PIL import Image
>>>> from numpy import *
>>>> im = array(Image.open('Tulips.jpg').convert('L'))
>>>> im2,cdf = imtools.histeq(im)
> 
> I get this:
> 
> Traceback (most recent call last):
>   File "<pyshell#59>", line 1, in <module>
>     im2,cdf = imtools.histeq(im)
>   File "C:\Python27\imtools.py", line 18, in histeq
>     imhist,bins = histogram(im.flatten(),nbr_bins,normed=True)
> NameError: global name 'histogram' is not defined
> 
> And the relevant portion in imtools.py is:
> def histeq(im,nbr_bins=256):
>     """ Histogram equalization of a grayscale image. """
> 
>     #get image histogram
>     imhist,bins = histogram(im.flatten(),nbr_bins,normed=True)
>     cdf = imhist.cumsum() #Cumulative distribution function
>     cdf = 255* cdf/cdf[-1] #Normalize
> 
>     #Use linear interpolation of cdf to find new pixel values
>     im2 = interp(im.flatten(), bins[:-1],cdf)
> 
>     return im2.reshape(im.shape), cdf
> 
> ------------------------------------
> Can anybody point out where I'm going wrong? I have Python 2.7, NumPY,
> SciPY etc.
> 
> Thanks very much
> 
> Python Newbie!

Where is the histogram() function from? Is it in imtools.py as well?
-- 
staticsafe
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
Please don't top post - http://goo.gl/YrmAb


More information about the Tutor mailing list