Nov 24, 2024

Wiki

Python

Aide

edit SideBar

Search

Creer Des Objets De La Classe Image


  >>> import Image

Les fonctions suivantes retournent un objet de la classe Image :

Image.open(f)
Lit une image à partir d'un fichier. Le paramètre peut être soit le nom d'un fichier (une chaîne de caractères), soit un objet file (fichier).
  >>> dd=open('lenna256.png') # dd est un objet de type file
  >>> import Image as im
  >>> tt=im.open(dd)
  >>> dd2=im.open('lenna256.png')
Image.new(mode,size,color=None)
Crée une nouvelle image d'un mode et d'une taille donnés. Si la couleur est donnée, tous les pixels seront initialisés à cette couleur (par défaut, la couleur des pixels est le noir).
  >>> import Image as im
  >>> dd = im.new('RGB',(32,43),'cyan')
Image.blend(i1,i2,a)
Crée une image en mélangeant deux images i1 et i2 de même taille. Chaque pixel de la sortie est calculé à partir de la formule suivante : (p1 x (1 - a) + p2 x a)

p1 est le pixel correspondant de l'image i1, et p2 celui de i2.

  >>> import Image as im
  >>> i1 = im.open('image1.png')
  >>> i2 = im.open('image2.jpg')
  >>> print i1.size, i2.size
  (256, 256) (256, 256)
  >>> retour = im.blend(i1, i2, 0.3)
  >>> retour.show()
Image.composite(i1,i2,mask)
Crée une image composite à partir de deux images i1 et i2 de même taille, et d'un masque (mask). Ce dernier doit être une image de mode "1", "L" ou "RGBA", de même taille que i1 et i2.

Chaque pixel de la sortie a pour valeur (p1 x (1 - m) + p2 x m) où p1, p2 et m sont les pixels correspondant dans i1, i2 et mask.

  >>> import Image as im
  >>> i1 = im.open('image1.png')
  >>> i2 = im.open('image2.png')
  >>> print i1.size, i2.size
  (104, 85) (64, 64)
  >>> i1 = i1.resize((64,64))
  >>> print i1.size, i2.size
  (64, 64) (64, 64)
  >>> masque = im.new('1',(64,64)) # Masque tout noir
  >>> masque.paste('white',(20,20,40,40)) # On colle un carré blanc
  >>> masque.show()
  >>> retour = im.composite(i1,i2,masque)
  >>> retour.show()
Image.eval(i,f)
Crée une nouvelle image en appliquant une fonction f à chaque pixel de l'image i. La fonction f doit recevoir un unique argument, et n'en retourner qu'un seul (si l'image est multi-bandes, f sera appliquée à chaque bande).
  >>> def f(x): return x+1
  >>> import Image as im
  >>> image=im.open('chaos.png')
  >>> retour = im.eval(image,f)
  >>> retour.show()
Image.merge(mode,bandList)
Crée une image multi-bande à partir de multiples images simple-bande de même taille. On fixe le mode de la nouvelle image par l'argument associé. L'argument bandList est la suite des images simple-bande à fusionner.
  >>> import Image as im
  >>> im1 = im.open('chaos.png')
  >>> im2 = im.open('lifc.png')
  >>> im3 = im.open('aze.png')

  >>> print im1.size, im2.size, im3.size
  (64, 64) (104, 85) (64, 64)
  >>> im2 = im2.resize((64,64))

  >>> image = im.merge('RGB',[im1, im2, im3])
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python2.5/site-packages/PIL/Image.py", line 1998, in merge
      raise ValueError("mode mismatch")
  ValueError: mode mismatch
  >>> print im1.mode, im2.mode, im3.mode
  P P P
  >>> im1 = im1.convert('L')
  >>> im2 = im2.convert('L')
  >>> im3 = im3.convert('L')

  >>> image = im.merge("RGB",[im1, im2, im3])
  >>> image.show()

Page Actions

Recent Changes

Group & Page

Back Links