Cours:Elen4 TNS TP TraitImage : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Chargement et visualisation)
(Chargement et visualisation)
Ligne 44 : Ligne 44 :
 
-> Observer comment sont stockées les valeurs des pixels dans le tableau <code>I</code>.
 
-> Observer comment sont stockées les valeurs des pixels dans le tableau <code>I</code>.
  
b) Puisque les valeur de luminance sont (pour l'image <code>moon</code>) codées sur 8 bits. Il est possible d'inverser la palette (en niv. de gris) par la transformation suivante  
+
=== Modification de niveaux de gris ===
 +
 
 +
a) Puisque les valeur de luminance sont (pour l'image <code>moon</code>) codées sur 8 bits. Il est possible d'inverser la palette (en niv. de gris) par la transformation suivante  
 
<center>
 
<center>
 
''Y(k,l) = 255 - X(k,l)''
 
''Y(k,l) = 255 - X(k,l)''
Ligne 50 : Ligne 52 :
 
* Inverser l'image <code>coins</code> et afficher le résultat.
 
* Inverser l'image <code>coins</code> et afficher le résultat.
  
c) Pour binariser une image, le plus simple est de choisir une valeur seuil :
+
b) Pour binariser une image, le plus simple est de choisir une valeur seuil :
 
{|
 
{|
 
|-
 
|-

Version du 8 mars 2023 à 16:35

Retour à la page du cours

TP4 : Traitement d'images numériques

Le travail de ce TP va consister à

  • observer et interpréter le contenu fréquentiel des images
  • appliquer des filtres linéaires pour : débruiter des images ou faire apparaitre leurs contours
  • détecter des motifs dans des images

Représentation des images numériques

Une image numérique est un signal numérique bidimensionnel. C'est donc une fonction réelle ou complexe de deux variables indépendantes. De manière générale, une image est représentée par :

x(k,l) avec k,l ∈ ℤ

Si les domaines de variation des variables sont finis, alors le signal x(k,l) peut être représenté par une tableau rectangulaire.

Chargement et visualisation

Matlab possède en librairie un ensemble d’images tests qu’il est possible de charger avec la commande suivante :

X = imread('coins.png');

Pour la visualisation, la commande la plus simple est imshow(X). Il existe les commandes suivantes plus spécialisées :

figure ouvre une nouvelle fenêtre graphique
image(X) affiche une image X (palette de fausses couleurs par défaut)
imagesc(X) comme image(X) mais ajuste la dynamique de l’image pour remplir toute cette palette
colormap modifie la palette d’une image affichée. Exemple colormap(gray).

a)Charger et afficher l’image coins.png en testant les diverses commandes d’affichage.

-> Observer comment sont stockées les valeurs des pixels dans le tableau I.

Modification de niveaux de gris

a) Puisque les valeur de luminance sont (pour l'image moon) codées sur 8 bits. Il est possible d'inverser la palette (en niv. de gris) par la transformation suivante

Y(k,l) = 255 - X(k,l)

  • Inverser l'image coins et afficher le résultat.

b) Pour binariser une image, le plus simple est de choisir une valeur seuil :

si X(k,l)>seuil Y(k,l)=1
sinon Y(k,l) = 0
  • Choisir une valeur seuil pour permettre de binariser l'image de façon a faire afficher les pièces en blanc sur fond noir.
  • Essayer de faire de même avec l'image X = imread('rice.png').

Contenu fréquentiel des images

  • Module et Phase

Débruitage

  • filtre linéaire séparable

Détection de contours

  • Sobel

Détection de motifs