Le traitement des images

Le programme d'informatique limite le traitement des images en niveau de gris, ce qui permet de travailler avec une matrice à deux dimensions.

Ceci étant, il est d'étendre les différentes techniques à des images en couleurs en les applications successivement aux matrices R, G et B, voire A (correspondant à la transparence)

Le format de travail est le format png. On utilise numpy pour traiter les matrices, matplotlib.pyplot pour les afficher.

Programmer en Python

Exercice :  Niveau de gris

Obtenir une image en niveau de gris à partir d'une image en couleur.

Principe : Pour avoir des niveau de gris, on ne retient que la matrice d'une des couleurs R G ou B au choix ou on calcule une matrice qui serait la moyenne des matrices R, G et B.

Exercice :  Négatif :

on obtient le négatif d'une photo en remplaçant les noirs par les blancs et réciproquement

Exercice :  Binarisation de l'image :

En traitement d'image, c'est une opération qui produit des pixels noirs ou blanc.

Principe :  Pour cela, on définit un seuil : au-delà, c'est  blanc (1), en deçà, c'est noir (0)

Exercice :  Réduction par un facteur 3

Principe :    on remplace un carré 3x3 par une cellule contenant la moyenne

Exercice :  Pixellisation

Principe :  L'image est divisée en rectangles de la taille spécifiée taille*taille.

Chaque rectangle est ensuite rempli avec la couleur moyenne de la zone.

Exercice :  Symétrie 

inverser une image,  faire une symétrie horizontale, verticale.

Exercice :  Éclaircir

Principe : on augmente chaque pixel de x ou on multiple chaque pixel par x.  Attention à ne pas dépasser 1

Exercice :  Flou

Principe  : on rend l'image flou en remplaçant la valeur de chaque pixel par la moyenne des 9 pixels formant un carré.

Exercice :  Accentuation

Principe  : on rend l'image plus nette en remplaçant un pixel par la moyenne coefficientée des points qui l'entourent en suivant la matrice [[0, -0.5, 0],[-0.5,2,-0.5],[0,-0.5,0]]

Exercice :  Photos maton

Principe  : on sort une plaque de nxn photos réduites de l'original. (prendre n=3).

Exercice :  Extraction

on extrait une partie de la photo

Indications

La structure globale d'une fonction est

  • def Nom_fonction{img,xxx):
  •     ...
  •     return img

On utilise ensuite cette fonction dans le cadre (Nom est une variable contenant le nom de l'image que l'on souhaite traitée).

  • import numpy as np
  • import matplotlib.pyplot as plt
  • Image = plt.imread(nom+'.png')
  • Image = Nom_fontion(Image,xxx)
  • plt.imshow(img,cmap=cm.gray) ; plt.show()

Avec numpy toute opération sur les matrices correspondent à des opérations coefficient par coefficient, donc il est possible pour certaine fonction de ne faire qu'une opération matricielle.

sinon, l'algorithme consiste à créer un tableau img2 de mêmes dimensions (sauf exception) que img formé de 0, puis à le parcourir pour le modifier cellule par cellule.

  • def Nom_fonction{img,xxx):
  •     l,c=img.shape
  •     img2=np.zeros([l,c])
  •     for i in range(l):
  •         for j in range(c):
  •             img2[i,j]=...
  •      ...
  •     return img
     

Ajouter un commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Saisir les caractères affichés dans l'image.