Chap 3 Généralités Sur Les Images Et Histogrammes

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 70

Imagerie et Vision Industrielle

Généralités sur les images et


histogrammes

Master 1
Automatique et Informatique Industrielle
Généralités sur les images et
histogrammes
1. Introduction
La création d’une image numérique est faite par un appareil de mesure
(scanner, appareil photo numérique, webcam, barrette CCD, ...)

Chaine d’acquisition d’une image


Video : Lentille Liquide
Video : Applications Nouveautés des Lentilles Liquides
2. Représentation numérique
Une image numérique est représentée par un tableau ou matrice I de N lignes et M
colonnes. Le pixel est un point de l’image désigné par un couple de coordonnées (i, j) où i
est l'indice de ligne et j l'indice de colonne. N et M sont respectivement la largeur et la
hauteur de l'image I.
Par convention, le
M colonnes
j M pixel origine (0, 0) est
en général en haut à
i gauche.
I (i,j) le niveau de gris avec I(i, j) ∈
{0, Nmax − 1}. Nmax est
le
N nombre de niveaux de
N lignes gris.

Notation utilisée pour une image numérique


On appelle dynamique de l'image le logarithme en base 2 de Nmax, c.-à-d. le nombre de bits utilisés pour coder
l'ensemble des valeurs possibles:
D = log2(Nmax) et Nmax = 2D

 Echantillonnage et quantification

Une image numérique est associée à un pavage de l'espace, en général rectangulaire.


Chaque élément du pavage, appelé pixel, est désigné par ses coordonnées entières.

Pavage rectangulaire de l’espace de l’image


L'échantillonnage est le procédé de discrétisation spatiale d'une image réelle
consistant à associer à chaque pixel une unique valeur I(i,j). On parle de sous-
échantillonnage lorsque l'image est déjà discrétisée et qu'on veut diminue le nombre
de pixels.
La quantification désigne la discrétisation tonale correspondant à la limitation du
nombre de valeurs différentes que peut prendre chaque pixel. Une image numérique
est donc une image échantillonnée et quantifiée
3. Résolution spatiale et tonale
Les deux figures suivantes montrent des exemples d’une même image
acquise à des résolutions différentes.

La résolution spatiale : effet de l’échantillonnage


La résolution tonale : effet de la quantification
3. Codage des images
Pour pouvoir stocker et transmettre cette image comme n'importe quelle autre
donnée informatique, chaque pixel de l’image doit être codé en binaire (suite
de 0 et de 1) en utilisant un nombre de bits B fixe. Le nombre de bits B utilisé
influe directement sur la qualité de l’image. Si le nombre de bits est B, alors on
obtient 2B nuances possibles dans l’image.
Nous avons 3 cas particuliers pour les images fixes :
Codage à 2 niveaux : image binaire
- B = 1 (un seul bit) : dans ce cas, nous avons seulement 2 couleurs (0 : noir et 1
: blanc) et l’image obtenue est ainsi dite une image noir et blanc.

Image binaire
Images Binaires : exemple

• Images à 2 valeurs (0 ou 1)
• Simple à etudier et analyser
• très utile pour les applications industrielles
•Obtenue à partir d’une image à niveaux de gris (ou couleur) g(x, y) par Seuillage

• Fonction charactéristique

b(x, y) = 1 if g(x, y) < T


0 if g(x, y) >= T
Choisir un Seuil

Histogramme Bimodal Seuil


Codage de niveaux de gris : Exemple
- B = 8 (un seul octet) : dans ce cas, nous avons 28 = 256 couleurs
possibles (de 0 jusqu’à 255). La valeur 0 pour le noir, 255 pour le blanc
et les autres intensités (de 1 jusqu’à 254) sont des niveaux de gris.
L’image obtenue est dite image en niveaux de gris.

Image en niveaux de gris


Codage des couleurs : exemple

- B = 24 (3 octets) : dans ce cas, nous utilisons 3 octets pour représenter 3


composantes RVB (Rouge, Vert et Bleu) ou RGB. Alors, l’image obtenue
est une image couleurs.

Les 3 composantes RVB et l’image couleur correspondante

Les formats d’images


Pour représenter une image, on peut la décrire à l'aide de :
- fonctions mathématiques (représentation vectorielle) ou
- par l'ensemble des points qui la composent (représentation
matricielle).
Introduction
au
Traitement Numérique d’Images :
Domaine spatial
Vision Machine ?
• Make computers understand images and videos.
• What are they
doing?

• Why is this
happening?

• What is important?

• What will I see?


Traitement Numérique d’Images

• Traitement par Pixel : change dynamique de l’image


• g(x) = h(f(x))
f g
h

• Transformation géométrique: change domaine de l’ image

g(x) = f(h(x))
f g
h
Traitement dans le domaine spatial

• Transformation d’images
- Point Processing Transformations / ponctuel
• Pixel Mapping / transformation des pixels
• Histogram Processing / traitement d’histogramme
– Area/Mask Processing Transformations / fenêtres
• Image Filtering / filtrage d’image
– Frame Processing Transformations / traitement video
– Geometric Transformations / géométriques
Méthodes : Domaine Spatial

Traitement
par Point

Traitement
par Masque
Point Processing Methods
• The most primitive, yet essential, image processing operations.
• Intensity transformations that convert an old pixel into a
new pixel based on some predefined function.
• Operate on a pixel based solely on that pixel’s value.
• Used primarily for image enhancement.

Transformation
function
Transformation Identité
Image : Negative
• O(r,c) = 255-I(r,c)
Etirement du Contraste ou Compression

• Stretch gray-level ranges where


we desire more information
(slope > 1).

• Compress gray-level ranges that


are of little interest
(0 < slope < 1).
Méthodes de traitement ponctuel
• Seuillage: Cas special de compression de contraste
Basic Point Processing
Transformation Logarithmique
• Non-linear transformations
– We may use any function, provided that is gives a one-
to-one or many-to-one (i.e., single-valued) mapping.
• Enhance details in the darker regions of an image
at the expense of detail in brighter regions.

compress s  T r c log1 r )


stretch
Méthodes de traitement ponctuel
• Intensity-level
slicing
– Highlight a specific
range of gray- levels
only
– Acts as double
thresholding
Moyenne d’une Image
Moyenne d’une Image: Exemple
Négative d’une Image: exemple
Opération ponctuel: étirement du contraste et
seuillage
Opération ponctuel: étirement du contraste et
seuillage
Les histogrammes
L’histogramme h(x) d’une image représente la distribution des intensités des pixels.
Un histogramme est une fonction qui donne, pour chaque intensité lumineuse, le
nombre de pixels ayants cette valeur.

L’abscisse d’un histogramme h(x) représente les niveaux d’intensité allant du plus
foncé à gauche au plus clair à droite.

Histogramme d’une image


Représentation par Histogrammes
La dynamique de l’image peut être définie par l’intervalle D = [Nmin, Nmax].

1. Histogramme normalisé
L’histogramme normalisé d’une image hn(x) est le taux de pixels ayant un niveau de gris
égal à x :

ℎ𝑛(𝑥) = ℎ(𝑥)⁄𝑁

avec N le nombre de pixels dans l’image

2. Histogramme cumulé
C’est un vecteur de même dimension que l’histogramme ou chaque élément du vecteur
hc(x) représente le nombre de pixels de l’image possédant un niveau de gris inférieur ou
égale à x. celui-ci peut être estimé à partir de l’histogramme en faisant une somme discrète.

𝑥
ℎ𝑐(𝑥) = ∑ ℎ(𝑖)
𝑖=0
Manipulations d’histogramme
1. Décalage d’histogramme
La luminance (ou brillance) est définie comme la moyenne de tous les pixels de
l’image. Pour augmenter la luminance de l’image, il suffit de décaler l’histogramme
vers la droite.

Décalage de l’histogramme d’une image


2- Extension linéaire de la dynamique
Cette méthode consiste à utiliser au mieux la dynamique de niveaux de gris. Ainsi, si une image
possède des niveaux de gris entre Gmin et Gmax, on va étendre la plage des niveaux de gris pour ramener à
une dynamique comprise entre 0 et 255.

Transformation linéaire de l’histogramme

Cette étendue réduite de niveaux de gris peut survenir suite à un temps de pose incorrecte ou à un
éclairage de la scène trop faible.

La transformation mise en place est :


𝐼(𝑥, 𝑦 − 𝐺 𝑚𝑖𝑛
𝐼 ′ ( 𝑥, 𝑦) =
𝐺𝑚𝑎𝑥 − 𝐺𝑚𝑖𝑛

Extension de la dynamique d’une image


Dans le cas où l’histogramme initial occupe toute la plage de la dynamique,
aucun changement n’est visible après cette transformation
Egalisation d’histogramme
L’égalisation de l’histogramme consiste à équilibrer le mieux possible la distribution des pixels
dans la dynamique. L’idéal est d’obtenir un histogramme plat où l’on affecte le même nombre de
pixels pour chaque niveau de gris (ceci étant impossible à réaliser pour les images numérique à
cause de la nature discrète de l'histogramme et de la quantification des niveaux de gris (qui nous
limite à un nombre fini de niveaux).
L’histogramme cumulé normalisé peut être utilisée comme fonction de transformation du niveau
de gris pour chaque pixel.

Le niveau de gris 𝐼(𝑥, 𝑦) de chaque pixel (𝑥, 𝑦)est transformé en 𝐼′(𝑥, 𝑦) en


appliquant la transformation suivante :

𝐼′(𝑥, 𝑦) = 255 ∗ ℎ𝑐(𝐼(𝑥, 𝑦))


𝑁

N : le nombre de pixels et hc(I(x,y)) est l’histogramme cumulé de I(x,y).


L’égalisation de l’histogramme d’une image peut se faire par l’ensemble des
étapes suivantes :
1.Calcul de l’histogramme h(x) de l’image
2.Calcul de l’histogramme cumulé hc(x)
3.Transformation des niveaux de gris de l’image par la formule
correspondante.

Exemple d’une égalisation de l’histogramme d’une image


Autres transformations
Voici quelques transformations d’histogrammes les plus connus en
traitement d’image avec leurs effets visuels sur l‘image :

a) Négatif (inversion des couleurs)


b) Quantification d’une image

c) Seuillage
Le seuillage est définie comme
suit :

{255 0𝑠𝑖 𝐼(𝑖, 𝑗) > 𝑆𝑒𝑢𝑖𝑙


𝐼 ′ (𝑖, 𝑗) =
𝑠𝑖𝑛𝑜𝑛
Dans le cas où l’image comportant un objet (assez uniforme) sur un
fond (assez uniforme), l’histogramme comporte deux pics. Par
conséquent, le choix du seuil peut se faire par inspection de
l’histogramme.
d) Transformation linéaire par morceaux
𝐼 ′ 𝑥, 𝑦 = 𝐶 𝐼 𝑥, 𝑦 ∗ 255
Exemples de traitement
d’histogrammes d’images
Fin de ce chapitre
Merci pour votre Attention

Vous aimerez peut-être aussi