Lektionen
Zu Diane

Traitement d'images : Filtrage et Transformations

40 Karten

Ce document explore les techniques de traitement d'images, y compris la représentation des images, les transformations de niveaux de gris comme l'égalisation d'histogramme, les opérations géométriques, le filtrage par masque pour le débruitage et la détection de contours, ainsi que l'interpolation. Il aborde également les concepts de bruit, de rapport signal/bruit et différentes méthodes de détection de contours.

40 Karten

Wiederholen
Verteiltes Wiederholen zeigt dir jede Karte zum optimalen Zeitpunkt zum Auswendiglernen, mit schrittweise größer werdenden Wiederholungsabständen.
Frage
Qu'est-ce qu'une image numérique ?
Antwort
Une représentation discrète d'une scène sous forme d'un tableau de pixels, où chaque pixel a une valeur d'intensité ou de couleur.
Frage
Comment une image couleur RGB est-elle représentée ?
Antwort
Comme trois images distinctes en niveaux de gris, une pour chaque canal de couleur : Rouge, Vert et Bleu.
Frage
Que représente un pixel ?
Antwort
Le plus petit élément d'une image numérique, contenant une information de couleur ou d'intensité sur une échelle de gris.
Frage
Combien de niveaux une image codée sur 8 bits peut-elle avoir ?
Antwort
Elle peut avoir 2⁸, soit 256 niveaux de gris, allant typiquement de 0 (noir) à 255 (blanc).
Frage
Qu'est-ce qu'une palette de couleurs (LUT) ?
Antwort
Une table de correspondance qui associe une couleur spécifique à chaque valeur de niveau de gris d'un pixel pour la visualisation.
Frage
Qu'est-ce que l'histogramme d'une image ?
Antwort
Un graphique montrant la distribution des pixels en fonction de leur intensité, c'est-à-dire le nombre de pixels pour chaque niveau de gris.
Frage
Que peut-on interpréter à partir de l'histogramme ?
Antwort
Des caractéristiques comme le contraste, l'exposition (sombre/claire), et la gamme dynamique de l'image.
Frage
Comment calcule-t-on la moyenne d'une image depuis son histogramme ?
Antwort
En faisant la somme des niveaux de gris pondérée par leur fréquence, divisée par le nombre total de pixels.
Frage
L'histogramme préserve-t-il la géométrie de l'image ?
Antwort
Non, des images avec des arrangements spatiaux de pixels très différents peuvent avoir exactement le même histogramme.
Frage
Qu'indique un histogramme bimodal ?
Antwort
Il suggère une image à haut contraste avec deux groupes de niveaux de gris distincts, souvent un fond et un objet.
Frage
Quel est le but de l'égalisation d'histogramme ?
Antwort
Transformer les niveaux de gris pour obtenir un histogramme le plus plat possible, maximisant ainsi le contraste global et l'information.
Frage
Quelle fonction est utilisée pour l'égalisation d'histogramme ?
Antwort
La fonction de répartition (CDF) des niveaux de gris, approchée en pratique par l'histogramme cumulé normalisé.
Frage
Qu'est-ce que le recadrage d'histogramme ?
Antwort
Une transformation qui étend la plage des niveaux de gris de l'image pour couvrir toute la gamme dynamique disponible (ex: [0, 255]).
Frage
Comment la soustraction d'images peut-elle être utile ?
Antwort
Elle permet de détecter les changements entre deux images, par exemple pour la détection de mouvement ou la suppression du fond.
Frage
Quelles sont les trois transformations géométriques de base ?
Antwort
La rotation (changement d'orientation), le changement d'échelle (zoom) et la translation (déplacement).
Frage
Pourquoi les transformations géométriques nécessitent-elles une interpolation ?
Antwort
Car les nouvelles coordonnées des pixels ne tombent généralement pas sur la grille discrète, il faut donc estimer leur valeur.
Frage
Qu'est-ce que le filtrage par masque ?
Antwort
Une opération où chaque pixel est remplacé par une combinaison linéaire de ses voisins, pondérée par les coefficients d'un masque (noyau).
Frage
Quelle est la différence entre corrélation et convolution ?
Antwort
La convolution effectue un retournement du masque (rotation de 180°) avant d'appliquer l'opération de corrélation. fh=fhf * h = f \star h^{-}.
Frage
Quel est le masque d'un filtre moyenneur simple 3x3 ?
Antwort
Une matrice 3x3 dont tous les coefficients sont 1/9. Il lisse l'image en remplaçant chaque pixel par la moyenne de son voisinage.
Frage
Quel est l'effet principal d'un filtre de lissage ?
Antwort
Il réduit le bruit dans une image, mais au détriment de la netteté et des détails, provoquant un effet de flou.
Frage
Qu'est-ce qu'un filtre séparable ?
Antwort
Un masque 2D qui peut être décomposé en une convolution de deux filtres 1D (un par ligne, un par colonne), ce qui est plus efficace.
Frage
Comment fonctionne le filtre médian ?
Antwort
Il remplace la valeur d'un pixel par la médiane des valeurs de son voisinage, triées par ordre croissant. Ce n'est pas un filtre linéaire.
Frage
Quel avantage a le filtre médian sur le filtre moyenneur ?
Antwort
Il préserve mieux les contours et les détails de l'image, et est très efficace contre le bruit impulsionnel (sel et poivre).
Frage
Comment est défini un contour dans une image ?
Antwort
Comme une brusque variation d'intensité des niveaux de gris entre des pixels voisins.
Frage
À quoi correspondent les masques dérivateurs ?
Antwort
Ils approchent la dérivée première de l'image pour détecter les variations d'intensité, qui correspondent aux contours.
Frage
Citez deux opérateurs de détection de contours basés sur le gradient.
Antwort
Les opérateurs de Sobel et de Prewitt. Ils utilisent des masques pour approcher le gradient horizontal et vertical.
Frage
Comment calcule-t-on le module du gradient ?
Antwort
Via la racine carrée de la somme des carrés des gradients en x et y : f=(fhx)2+(fhy)2| \nabla f | = \sqrt{(f \star h_x)^2 + (f \star h_y)^2}.
Frage
Quel est le problème du calcul de gradient sur une image bruitée ?
Antwort
Le bruit, étant une haute fréquence, est amplifié par les filtres dérivateurs, ce qui peut créer de faux contours.
Frage
Qu'est-ce que l'opérateur Laplacien ?
Antwort
Un opérateur différentiel du second ordre (2f\nabla^2 f) qui est sensible aux variations d'intensité et isotrope.
Frage
Comment peut-on détecter des contours avec le Laplacien ?
Antwort
Les contours correspondent aux passages par zéro dans l'image filtrée par le Laplacien.
Frage
Quel est le masque 3x3 standard pour l'opérateur Laplacien ?
Antwort
Un masque avec un 4 au centre, des -1 sur les côtés (haut, bas, gauche, droite), et 0 dans les coins.
Frage
Quel est le but de l'interpolation en traitement d'images ?
Antwort
Estimer les valeurs de pixels à des positions non discrètes, utile pour le zoom, la rotation ou la correction de déformations.
Frage
Comment fonctionne l'interpolation au plus proche voisin ?
Antwort
Elle assigne à la nouvelle position la valeur du pixel le plus proche dans l'image originale, créant un effet de blocs.
Frage
Qu'est-ce que l'interpolation bilinéaire ?
Antwort
Elle estime la valeur d'un point en calculant une moyenne pondérée des quatre pixels voisins les plus proches, donnant un résultat plus lisse.
Frage
Comment réaliser une interpolation bilinéaire via un filtrage ?
Antwort
En insérant des lignes et colonnes de zéros, puis en appliquant un masque de convolution qui fait une moyenne pondérée, comme un filtre triangulaire.
Frage
Qu'est-ce que le rapport Signal sur Bruit (SNR) ?
Antwort
Une mesure, souvent en décibels (dB), qui compare la puissance du signal utile à celle du bruit de fond.
Frage
Quel est l'élément neutre de la convolution ?
Antwort
Un masque avec un 1 au centre et des 0 partout ailleurs. Appliqué à une image, il la laisse inchangée.
Frage
Comment la composition de filtres est-elle réalisée ?
Antwort
En convoluant les masques des filtres entre eux. Le produit de convolution est associatif, permettant de combiner des opérations.
Frage
Peut-on appliquer des opérations arithmétiques entre deux images ?
Antwort
Oui, des opérations comme l'addition ou la soustraction peuvent être appliquées pixel par pixel entre des images de même taille.
Frage
Quel est le risque lors d'opérations sur des images à codage entier ?
Antwort
Le risque de débordement (overflow/underflow), où le résultat sort de la plage de valeurs permise (ex: > 255 pour 8 bits).

Introduction au Traitement d'Images Numériques

Le traitement d'images numériques englobe un ensemble de techniques visant à manipuler et analyser des images numériques pour diverses applications, telles que l'amélioration visuelle, l'extraction d'informations ou la compression. Ce domaine est crucial dans de nombreux secteurs, notamment en médecine et en physique.

Les opérations courantes incluent :

  • Modifications des niveaux de gris

  • Opérations arithmétiques

  • Transformations géométriques

  • Filtrage par masque pour le débruitage, la détection de contours ou l'interpolation

Représentation et Visualisation d'une Image Numérique

Une image numérique est une représentation discrète d'une scène, composée d'une grille de pixels. Chaque pixel a une valeur numérique qui représente son intensité ou sa couleur.

Types d'Images Numériques

  • Image discrète 8x8 (exemple): Un tableau de 64 pixels (8 lignes par 8 colonnes).

  • Codage sur 3 bits: Permet niveaux de gris, généralement de 0 à 7.

Échelles de Gris et Palettes (LUT - Look-Up Table)

L'échelle de gris ou la palette (LUT) définit comment les valeurs numériques des pixels sont affichées.

  • Niveaux de gris: Généralement de 0 (noir) à 255 (blanc) pour une image 8 bits.

  • Les palettes peuvent transformer ces niveaux en différentes couleurs pour accentuer des détails et faciliter la visualisation des variations minimes de valeurs. Par exemple, une palette "arc-en-ciel" peut assigner des couleurs distinctes à chaque niveau, rendant les changements de luminosité plus perceptibles comme des variations de couleur.

Formats d'Images

Les images numériques sont stockées dans divers formats, tels que raw, TIFF, PNG, et JPEG, chacun ayant ses propres caractéristiques en termes de compression et de qualité.

Profondeur de Couleur (Bit Depth)

La profondeur de couleur détermine le nombre de niveaux d'intensité ou de couleurs qu'un pixel peut afficher.

  • Image binaire: 2 niveaux (0/1), codée sur 1 bit.

  • Image à niveaux de gris:

    • 256 niveaux: 8 bits (unsigned char)

    • 65535 niveaux: 16 bits (short integer)

    • environ 4 milliards de niveaux: 32 bits (integer)

    • Niveaux flottants: 32 bits (float), pour des valeurs allant de [-3.4E+38 à 3.4E+38] avec environ 7 chiffres significatifs, utile pour les données scientifiques.

  • Images couleurs (RGB): Composées de trois images en

niveaux de gris (Rouge, Vert, Bleu), chacune codée sur 8 bits, 16 bits ou 32 bits. La combinaison de ces trois canaux permet de reproduire des millions de couleurs.

R

V

B

Couleur

255

0

0

0

255

0

0

0

255

255

255

0

255

0

255

0

255

255

255

255

255

192

192

192

128

128

128

64

64

64

0

0

0

Visualisation d'une Image comme Fonction

Une image peut être conceptualisée comme une fonction sont les coordonnées spatiales et est la valeur d'intensité du pixel à cette position. Cette perspective est utile pour comprendre les variations locales et l'application d'opérations mathématiques.

Histogramme d'une Image

L'historgramme d'une image est un graphique qui représente la distribution des pixels en fonction de leur intensité.

Définition et Interprétation

  • Distribution des pixels: est le nombre de pixels ayant le niveau d'intensité .

  • Interprétation probabiliste: La probabilité d'occurrence d'un niveau est , où est le nombre total de pixels. La somme de toutes les probabilités est égale à 1.

Limites de l'Histogramme

L'histogramme ne traduit pas la géométrie de l'image. Des images visuellement très différentes peuvent avoir des histogrammes identiques.

Interprétation Avancée de l'Histogramme

L'histogramme permet d'analyser des caractéristiques importantes de l'image :

  • Contraste: L'étendue des niveaux de gris. Une image à faible contraste a des niveaux de gris concentrés dans une petite plage (sombre ou claire), tandis qu'une image à haut contraste présente une large distribution des niveaux, couvrant toute la plage dynamique.

  • Exposition: La luminosité globale de l'image (images sombres vs. claires).

  • Gamme dynamique: La plage complète des niveaux de gris disponibles.

  • Un histogramme bimodal suggère la présence de deux groupes d'objets distincts en termes de luminosité.

Calcul de la Moyenne et de la Variance

  • À partir de l'image:

    • Moyenne:

    • Variance:

  • À partir de l'histogramme:

    • Moyenne:

    • Variance:

Rapport Signal sur Bruit (SNR)

Le SNR (Signal-to-Noise Ratio) est une mesure de la qualité d'une image, généralement exprimé en décibels (dB). Il exprime la force du signal par rapport au bruit. Soit l'écart type du bruit, la moyenne de l'image, et l'écart type de l'image sur une région.

  • Image bornée: Pour une image dans la plage , .

  • Signal sur bruit dépendant: .

  • Signal sur bruit indépendant: .

Il est souvent complexe d'estimer précisément le SNR en pratique.

Modifications des Niveaux de Gris

Les modifications des niveaux de gris impliquent l'application d'une transformation à chaque niveau de gris original pour obtenir un nouveau niveau .

z=T(z)"datatype="inlinemath"></span>z' = T(z)" data-type="inline-math"></span>

Cela permet de modifier l'apparence de l'image sans altérer sa structure spatiale.

Seuillage

Le seuillage est une transformation qui convertit une image à niveaux de gris en une image binaire en assignant un seuil. Les pixels dont l'intensité est supérieure au seuil prennent une valeur (ex: blanc), et les autres une autre valeur (ex: noir).

Amélioration du Contraste par Recadrage

Le recadrage (ou étirement d'histogramme) consiste à étaler la distribution des niveaux de gris d'une image sur toute la plage dynamique disponible. Si une image a des niveaux de gris concentrés dans une petite plage, le recadrage les étire pour améliorer le contraste global. Un histogramme de départ étroit peut être transformé en un histogramme plus large et plus réparti.

Égalisation d'Histogramme

L'objectif de l'égalisation d'histogramme est d'obtenir un histogramme le plus plat possible, ce qui signifie que tous les niveaux de gris sont également représentés.

  • La répartition uniforme des niveaux de gris maximise l'information au sens de Shannon.

  • L'information apportée par la réalisation d'un niveau de probabilité est .

  • La quantité moyenne d'information par niveau est .

  • Cette quantité est maximale () si et seulement si tous les niveaux de gris ont la même probabilité: .

Méthode de la Fonction de Répartition (CDF)

Pour obtenir un histogramme plat, on cherche une transformation monotone croissante s</p><pstyle="textalign:left;">=T(z)<spandatalatex="ouˋ"datatype="inlinemath"></span>pS(s)<spandatalatex="(densiteˊdeprobabiliteˊdesnouveauxniveaux)estconstante,souventnormaliseˊeaˋ1si"datatype="inlinemath"></span>s[0,1]<spandatalatex=".Lasolutionestdonneˊeparlafonctiondereˊpartition(CDF)deladensiteˊdeprobabiliteˊoriginale"datatype="inlinemath"></span>pz(z)s</p><p style="text-align: left;">= T(z)<span data-latex=" où " data-type="inline-math"></span>p_S(s)<span data-latex=" (densité de probabilité des nouveaux niveaux) est constante, souvent normalisée à 1 si " data-type="inline-math"></span>s \in [0,1]<span data-latex=". La solution est donnée par la fonction de répartition (CDF) de la densité de probabilité originale " data-type="inline-math"></span>p_z(z) :

s=T(z)=0zpz(t)dt"datatype="inlinemath"></span>s = T(z) = \int_0^z p_z(t)dt" data-type="inline-math"></span>

Pour les niveaux discrets, la fonction de répartition est approchée par l'histogramme cumulé normalisé (). La transformation est alors: , où représente le nombre de bits par pixel.

En pratique, l'histogramme ne devient pas parfaitement plat, mais il est significativement plus uniforme, améliorant le contraste de l'image.

Opérations Arithmétiques entre Images

Les opérations arithmétiques permettent de combiner deux images pixel par pixel.

Soient deux images et de même taille :

  • Addition:

  • Soustraction:

  • Multiplication:

  • Division:

Attention aux débordements si le codage des pixels est sur des entiers (ex: dépassement de 255 pour 8 bits).

Un exemple courant est la soustraction d'images, utilisée pour détecter les changements entre deux images ou supprimer le bruit de fond.

Transformations Géométriques

Les transformations géométriques permettent de modifier la position des pixels dans une image sans changer leurs intensités (valeurs).

Objectifs

  • Correction de déformations dues au système d'acquisition.

  • Recalage (alignement) d'images.

Principe

Une transformation géométrique associe des coordonnées originales à de nouvelles coordonnées . Les intensités sont préservées, c'est-à-dire que .

Types de Transformations

  • Rotation: . En notation matricielle, avec .

  • Changement d'échelle: .

  • Translation: .

Ces opérations peuvent générer des positions non entières. Des interpolations sont nécessaires pour trouver les valeurs des pixels sur la nouvelle grille discrète.

Des déformations plus complexes, telles que les déformations de perspective, peuvent également être appliquées.

Filtrage par Masque (Convolution ou Corrélation)

Le filtrage par masque est une opération fondamentale pour diverses tâches de traitement d'images.

Principe

Un masque h (ou noyau de convolution) est une matrice de coefficients. Chaque pixel de l'image filtrée est calculé en remplaçant la valeur du pixel central par une somme pondérée des valeurs des pixels dans son voisinage, en utilisant les coefficients du masque.

Exemple de masque 3x3:

</p><pstyle="textalign:left;">Si<spandatalatex="fmn"datatype="inlinemath"></span>estle</p><pstyle="textalign:left;">pixelcentral,lanouvellevaleur<spandatalatex="fmn"datatype="inlinemath"></span>est:</p><pstyle="textalign:left;"></p><pstyle="textalign:left;"><spandatalatex="</p><p style="text-align: left;">Si <span data-latex="f_{mn}" data-type="inline-math"></span> est le</p><p style="text-align: left;">pixel central, la nouvelle valeur <span data-latex="f'_{mn}" data-type="inline-math"></span> est :</p><p style="text-align: left;"></p><p style="text-align: left;"><span data-latex=" f'_{\mathrm{mn}} = a f_{\mathrm{m-1 n-1}} + b f_{\mathrm{m-1 n}} + c f_{\mathrm{m-1 n+1}} + d f_{\mathrm{m n-1}} + e f_{\mathrm{mn}} + f f_{\mathrm{m n+1}} + g f_{\mathrm{m+1 n-1}} + h f_{\mathrm{m+1 n}} + i f_{\mathrm{m+1 n+1}} " data-type="inline-math"></p><h3style="textalign:left;">Formalisation</h3><ulclass="tight"datatight="true"><li><pstyle="textalign:left;">Correspondaˋla<strong>correˊlationcroiseˊediscreˋte</strong>,noteˊe<spandatalatex="fh"datatype="inlinemath"></span>.</p></li><li><pstyle="textalign:left;">Expression:<spandatalatex="(fh)(m,n)=i=0M11j=0M21f(m+i,n+j)h(i,j)"datatype="inlinemath"></span>.</p></li><li><pstyle="textalign:left;">Relationaˋla<strong>convolutiondiscreˋte</strong>:<spandatalatex="fh=fh"datatype="inlinemath"></span>,ouˋ<spandatalatex="h"datatype="inlinemath"></span>estlemasque<spandatalatex="h"datatype="inlinemath"></span>retourneˊ(roteˊde180degreˊs).</p></li><li><pstyle="textalign:left;"><spandatalatex="</p><h3 style="text-align: left;">Formalisation</h3><ul class="tight" data-tight="true"><li><p style="text-align: left;">Correspond à la <strong>corrélation croisée discrète</strong>, notée <span data-latex="f \star h" data-type="inline-math"></span>.</p></li><li><p style="text-align: left;">Expression: <span data-latex="(f \star h)(m, n) = \sum_{i=0}^{M_1-1} \sum_{j=0}^{M_2-1} f(m + i, n + j) h(i, j)" data-type="inline-math"></span>.</p></li><li><p style="text-align: left;">Relation à la <strong>convolution discrète</strong>: <span data-latex="f \star h = f * h^{-}" data-type="inline-math"></span>, où <span data-latex="h^{-}" data-type="inline-math"></span> est le masque <span data-latex="h" data-type="inline-math"></span> retourné (roté de 180 degrés).</p></li><li><p style="text-align: left;"><span data-latex=" \mathbf{h} = \left( \begin{array}{ccc} \mathbf{a} & \mathbf{b} & \mathbf{c} \\ \mathbf{d} & \mathbf{e} & \mathbf{f} \\ \mathbf{g} & \mathbf{h} & \mathbf{i} \end{array} \right) \quad \mathbf{h}^- = \left( \begin{array}{ccc} \mathbf{i} & \mathbf{h} & \mathbf{g} \\ \mathbf{f} & \mathbf{e} & \mathbf{d} \\ \mathbf{c} & \mathbf{b} & \mathbf{a} \end{array} \right) " data-type="inline-math"></p></li></ul><h3style="textalign:left;">ProprieˊteˊsdelaConvolution</h3><ulclass="tight"datatight="true"><li><pstyle="textalign:left;"><strong>Lineˊariteˊ</strong>:<spandatalatex="f(a1h1+a2h2)=a1(fh1)+a2(fh2)"datatype="inlinemath"></span>.</p></li><li><pstyle="textalign:left;"><strong>Eˊleˊmentneutre</strong>:Unmasque<spandatalatex="h0"datatype="inlinemath"></span>avecuncoefficientcentralde1etdeszeˊrosailleursestleˊleˊmentneutre(<spandatalatex="fh0=f"datatype="inlinemath"></span>).<spandatalatex="</p></li></ul><h3 style="text-align: left;">Propriétés de la Convolution</h3><ul class="tight" data-tight="true"><li><p style="text-align: left;"><strong>Linéarité</strong>: <span data-latex="f \star (a_1 h_1 + a_2 h_2) = a_1 (f \star h_1) + a_2 (f \star h_2)" data-type="inline-math"></span>.</p></li><li><p style="text-align: left;"><strong>Élément neutre</strong>: Un masque <span data-latex="h_0" data-type="inline-math"></span> avec un coefficient central de 1 et des zéros ailleurs est l'élément neutre (<span data-latex="f \star h_0 = f" data-type="inline-math"></span>). <span data-latex=" h_0 = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{pmatrix} " data-type="inline-math">$

  • "Associativité": . La convolution est associative, ce qui est très utile pour composer des filtres.

  • Corrélation de Masques

    La corrélation de masques permet de combiner l'effet de plusieurs masques. Par exemple, si et sont des masques 3x3, leur corrélation résulte en un masque 5x5.

    Exemple en 1D: .

    Filtres Séparables

    Un filtre 2D peut parfois être décomposé en deux filtres 1D (un en ligne et un en colonne ). Si , le filtrage peut être effectué plus efficacement en appliquant d'abord le filtre ligne, puis le filtre colonne (ou inversement). Cela réduit le nombre d'opérations de à multiplications et additions.

    Applications du Filtrage par Masque

    A. Débruitage (Pré-traitement)

    Le débruitage vise à réduire le bruit dans une image tout en préservant les informations importantes.

    Filtrage Linéaire (Moyennage)

    Remplace chaque point par une moyenne pondérée de ses voisins. Les coefficients du masque déterminent la nature de la moyenne.

    • Moyennage simple: .

    • Plus de poids sur le point central: .

    • Masque Gaussien (isotrope): h=(1/16)[1amp;2amp;12amp;4amp;21</p></li></ul><pstyle="textalign:left;"></p><pstyle="textalign:left;">amp;2amp;1]h = (1/16) \begin{bmatrix} 1 &amp; 2 &amp; 1 \\ 2 &amp; 4 &amp; 2 \\ 1</p></li></ul><p style="text-align: left;"></p><p style="text-align: left;">&amp; 2 &amp; 1 \end{bmatrix}.

      Ces filtres réduisent le bruit mais entraînent souvent une perte de détails et un lissage des contours. L'effet de lissage est plus prononcé avec des masques de plus grande taille (ex: 5x5 vs 3x3).

      Filtre Médian

      Remplace le point central par la médiane des valeurs de ses voisins dans la fenêtre du masque.

      • Exemple: Pour une fenêtre : ... 100 80 90 200 110 120 95 ...
        Les valeurs sont classées: . La médiane (valeur centrale) est 110. Le pixel d'origine 200 serait remplacé par 110.

      • Le filtre médian conserve mieux les bords que les filtres de moyenne.

      • Il est optimal pour le bruit impulsionnel (bruit "sel et poivre").

      • Il est historiquement plus coûteux en calcul, mais cela est moins problématique avec les technologies actuelles.

      • La taille de la fenêtre varie typiquement de 3x3 à 15x15.

      B. Détection de Contours

      La détection de contours vise à identifier les régions de changement brusque de niveaux de gris dans une image, ce qui correspond aux "bords" des objets.

      Masques Dérivateurs (Gradients)

      Les dérivées premières et secondes sont utilisées pour détecter les changements d'intensité. Les masques dérivateurs agissent comme des estimateurs de gradient.

      • Gradients (différences simples): pour x, pour y.

      • Gradients (différences centrales): pour x, pour y.

      • Masques de Roberts (dérivées obliques): </p></li><li><pstyle="textalign:left;"><strong>OpeˊrateurdeSobel</strong>:Combineladiffeˊrencecentraleavecunlissagepourreˊduirelasensibiliteˊaubruit.<spandatalatex="</p></li><li><p style="text-align: left;"><strong>Opérateur de Sobel</strong>: Combine la différence centrale avec un lissage pour réduire la sensibilité au bruit. <span data-latex=" \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end{bmatrix} \text{ (gradient horizontal) }, \quad \begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \end{bmatrix} \text{ (gradient vertical) } " data-type="inline-math">[-1 \ 0 \ 1]\begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix}.</p></li><li><pstyle="textalign:left;"><strong>MasquesdePrewitt</strong>:SimilairesaˋSobel,maislescoefficientssontuniformesaulieude^trepondeˊreˊs,offrantplusdedirections.<spandatalatex=".</p></li><li><p style="text-align: left;"><strong>Masques de Prewitt</strong>: Similaires à Sobel, mais les coefficients sont uniformes au lieu d'être pondérés, offrant plus de directions. <span data-latex=" \begin{bmatrix} -1 & 0 & 1 \\ -1 & 0 & 1 \\ -1 & 0 & 1 \end{bmatrix} \text{ (East / -West) }, \quad \begin{bmatrix} -1 & -1 & -1 \\ 0 & 0 & 0 \\ 1 & 1 & 1 \end{bmatrix} \text{ (South / -North) } " data-type="inline-math">$ Des masques pour les directions diagonales (SE/-NW, SW/-NE) existent également.

      Détection des contours par le module de gradient

      Les contours sont détectés en calculant le module du gradient:

      </p><pstyle="textalign:left;">Ouˋ<spandatalatex="hx"datatype="inlinemath"></span>et<spandatalatex="hy"datatype="inlinemath"></span>sontlesmasquesdegradienthorizontaletvertical.Lesvaleurseˊleveˊesdumoduledegradientindiquentlapreˊsencedunbord.Cependant,uneimagebruiteˊepeutproduirebeaucoupdefaux</p><pstyle="textalign:left;">positifsdueaˋdefortesvariationslocales.</p><pstyle="textalign:left;"></p><pstyle="textalign:left;">OpeˊrateurLaplacien(2eˋmeordre)</p><pstyle="textalign:left;">LeLaplacienestunopeˊrateurdiffeˊrentieldusecondordrequimesurela"courbure"dunefonction.Ildeˊtectelestransitionsrapidesetpeute^treutiliseˊpourextrairelescontoursetrenforcerlesdeˊtails.</p><ulclass="tight"datatight="true"><li><pstyle="textalign:left;"><strong>Deˊfinition</strong>:<spandatalatex="Δf(x,y)=2f(x,y)=2x2f(x,y)+2y2f(x,y)"datatype="inlinemath"></span>.</p></li><li><pstyle="textalign:left;"><strong>Impleˊmentationdiscreˋte</strong>:Approcheˊparfiltrageparmasque.Avec<spandatalatex="hx=[1 1]"datatype="inlinemath"></span>,ona<spandatalatex="hx2=[1 2 1]"datatype="inlinemath"></span>et<spandatalatex="hy2=[121]"datatype="inlinemath"></span>.</p></li><li><pstyle="textalign:left;">LeLaplacienpeute^treapprocheˊpardesmasquestelsque:<spandatalatex="</p><p style="text-align: left;">Où <span data-latex="h_x" data-type="inline-math"></span> et <span data-latex="h_y" data-type="inline-math"></span> sont les masques de gradient horizontal et vertical. Les valeurs élevées du module de gradient indiquent la présence d'un bord. Cependant, une image bruitée peut produire beaucoup de faux</p><p style="text-align: left;"> positifs due à de fortes variations locales.</p><p style="text-align: left;"></p><p style="text-align: left;">Opérateur Laplacien (2ème ordre)</p><p style="text-align: left;">Le Laplacien est un opérateur différentiel du second ordre qui mesure la "courbure" d'une fonction. Il détecte les transitions rapides et peut être utilisé pour extraire les contours et renforcer les détails.</p><ul class="tight" data-tight="true"><li><p style="text-align: left;"><strong>Définition</strong>: <span data-latex="\Delta f(x,y) = \nabla^2 f(x,y) = \frac{\partial^2}{\partial x^2} f(x,y) + \frac{\partial^2}{\partial y^2} f(x,y)" data-type="inline-math"></span>.</p></li><li><p style="text-align: left;"><strong>Implémentation discrète</strong>: Approché par filtrage par masque. Avec <span data-latex="h_x = [-1\ 1]" data-type="inline-math"></span>, on a <span data-latex="h_x^2 = [-1\ 2\ -1]" data-type="inline-math"></span> et <span data-latex="h_y^2 = \begin{bmatrix} -1 \\ 2 \\ -1 \end{bmatrix}" data-type="inline-math"></span>.</p></li><li><p style="text-align: left;">Le Laplacien peut être approché par des masques tels que: <span data-latex=" \begin{bmatrix} 0 & -1 & 0 \\ -1 & 4 & -1 \\ 0 & -1 & 0 \end{bmatrix} \quad \text{ou} \quad \begin{bmatrix} -1 & -1 & -1 \\ -1 & 8 & -1 \\ -1 & -1 & -1 \end{bmatrix} " data-type="inline-math">$

    • Les contours sont extraits aux maxima des gradients ou aux passages par zéro des Laplaciens.

    C. Interpolation

    L'interpolation est utilisée pour estimer les valeurs des pixels dans les zones où les données sont manquantes ou pour changer la résolution d'une image (agrandir ou réduire).

    Principe Général

    Passer d'une image à (zoom par 2) implique :

    1. Insertion de lignes et colonnes de zéros pour créer des "trous".

    2. Filtrage avec un masque pour combler ces trous en estimant les nouvelles valeurs.

    Méthodes d'Interpolation

    • Interpolation au plus proche voisin:

      • Chaque nouveau pixel prend la valeur du pixel le plus proche dans l'image originale.

      • Masque d'exemple pour un zoom 2x (pas un masque de convolution typique, mais une règle d'affectation): .

      • Cette méthode est rapide mais peut introduire un effet "bloc" (aliasing).

      Exemple avec la matrice (pour un seul canal couleur) transformée en après dilatation et duplication.

    • Interpolation bilinéaire:

      • La valeur d'un nouveau pixel est obtenue par une moyenne pondérée des quatre pixels originaux les plus proches.

      • Peut être réalisée par un masque de convolution: .

      • Fournit un lissage meilleur que le plus proche voisin, mais peut estomper légèrement les détails.

      • Peut être implémentée de manière séparable pour l'efficacité.

      Exemple pour un point entre quatre pixels en utilisant des coefficients et .

    L'interpolation bilinéaire est couramment utilisée pour les zooms où les artefacts "blocs" du plus proche voisin sont inacceptables, offrant un compromis entre qualité et complexité computationnelle.

    Conclusion

    Le traitement des images numériques est un vaste domaine avec de nombreuses applications. La compréhension des différentes représentations d'images (binaire, niveaux de gris, couleur), l'analyse d'histogrammes pour évaluer le contraste et la luminosité, ainsi que la maîtrise des opérations pixel-par-pixel et des filtrages par masque sont essentielles. Ces techniques permettent non seulement d'améliorer la qualité visuelle des images mais aussi d'en extraire des informations pertinentes pour des analyses plus poussées.

    Quiz starten

    Teste dein Wissen mit interaktiven Fragen