show image in python

Philip Semanchuk philip at semanchuk.com
Thu Mar 11 16:09:08 CET 2010


On Mar 10, 2010, at 5:03 PM, mohamed issolah wrote:

> Hey, This is my program
>
> 1 #!/usr/bin/python
>  2 import PIL
>  3 import numpy
>  4 import Image
>  5 import ImageOps
>  6 import sys
>  7
>  8 def Matimg(path):
>  9         """transforme image en matrice"""
> 10         Img = Image.open(str(path))
> 11         Img1 = ImageOps.grayscale(Img)
> 12         largeur,hauteur = Img1.size
> 13         imdata = Img1.getdata()
> 14         tab = numpy.array(imdata)
> 15         matrix = numpy.reshape(tab,(hauteur,largeur))
> 16         return matrix
> 17
> 18 def Creeimg():
> 19         """transforme matrice en image"""
> 20         img = Image.new ("L",(8,8))
> 21         matrix = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> 22         img.putdata(matrix)
> 23         img.show()
> 24         img.save(fp="./ana.bmp")
> 25
> 26 if  __name__== '__main__':
> 27     if len(sys.argv) < 2 :
> 28         print "Usage: img.py <image>"
> 29         sys.exit(0)
> 30     path = sys.argv[1]
> 31     matrix = Matimg(path)
> 32     print matrix
> 33     Creeimg()
>
> My probeleme : In line 23 "img.show()" Don't work, normally I show  
> the image
> but it's not work, but strangely in line 24 "img.save(fp="./ 
> ana.bmp")" it's
> work
> WHERE IS THE PROBLEME.
>
> I have this error in shell : "(eog:3176): GLib-WARNING **: GError  
> set over
> the top of a previous GError or uninitialized memory.
> This indicates a bug in someone's code. You must ensure an error is  
> NULL
> before it's set.
> The overwriting error message was: Error in getting image file info "
>
>
> os: ubuntu 9.10

Hi issolah,
I don't know what your problem is but I have a few suggestions --
1) You say that img.show() doesn't work. How does it fail? Is that  
where you get the GLib warning?
2) I'm glad you posted your code, but because it has line numbers,  
it's awkward to copy & paste into a local example. Please show your  
code without line numbers.

I'm unfamiliar with PIL, so this is just a wild guess, but based on  
the GLib error it seems like you haven't initialized something  
properly. Sorry I couldn't be more helpful. Maybe someone who knows  
more will answer.

Good luck
Philip








More information about the Python-list mailing list