Traitement d'image


p5jsimg

Image au format numérique:

Les images numériques sont constituées d'un ensemble de points appelés Pixels (Picture element). Une image est donc représentée par une matrice de pixels.

pixel

La couleur de chaque pixel est défini à partir des 3 composantes de couleurs élémentaires que sont le Rouge, le Vert et le Bleu.

zoomPixel

Chaque composante est codée sur 1 octet ce qui correspond à 256 nuances (de 0 la plus foncée à 255 la plus claire).
Ce qui permet de coder 256 x 256 x 256 = 16 777 216 (16 millions de couleurs).

Ces 3 composantes sont représentées le plus souvent par les sigles RVB (en français) et RGB (en anglais Red/Green/Bleue) et sont codées en héxadécimal.

Suivre ce lien pour mieux comprendre les composantes RGB ...

Un fichier image contient la taille de l'image (largeur et hauteur) ainsi que les valeurs des composantes RGB de chaque pixels.

Lorsque l'on manipule une image avec python chaque pixel est donc représenté par les 3 composantes RGB.

Parcours avec une double boucle (utilisation des coordonnées (x,y) du pixel)

Pour bien comprendre comment parcourir tous les pixels d'une image (double boucle) :forimage2 animation

  
from PIL import Image

# ouverture de l'image
# remarque : img1 est un nom de variable, vous pouvez mettre un autre nom à  la place .
img1=Image.open("perruche.jpg")

# Récupération de la largeur et de la hauteur de l'image  en pixels :
largeur,hauteur=img1.size
# ouverture d'une nouvelle image
# remarque : img2 est un nom de variable , vous pouvez mettre un autre nom à  la place .
imgFinal=Image.new('RGB',(largeur,hauteur))

# pour chaque ligne :
for y in range(hauteur):
    #pour chaque colonne :
    for x in range(largeur):
        # Récupération des composantes RGB du pixel courant (triplet r,g,b).
        r,g,b = img1.getpixel((x, y))
        imgFinal.putpixel((x, y), (r,g,b))

# sauvegarde de img2 :
imgFinal.save("perruche2.jpg" )
# on montre l"image :
imgFinal.show()
 

Travail à réaliser :

imgRGBR
Afficher la composante Rouge d'une image.
imgRGBG
Afficher la composante Verte d'une image.
imgRGBB
Afficher la composantes Bleue d'une image.
imgGreyLevel
Afficher une image couleur en niveau de gris.
imgFusion
Fusionner 2 images de même taille (Voir ci-contre).
imgFusion2
Fusionner 2 images de même taille (Version 2).
imgRGB
Afficher les 3 composantes RGB d'une image.
imgMedallion
Incruster une image en médaillon (cercle).
imgPixelArt
Transformer une image en pixel Art.
Effet damier

Images ressources disponibles au format png 300x300

exotic bird chat boutons paysage
pochoir étoile pochoir cake pochoir cercle pochoir soleil

CC BY NC SA  ( Christophe Béasse - Février 2019 )