1 Projet Traitement d`images en C
Download
Report
Transcript 1 Projet Traitement d`images en C
Projet
Traitement d'images en C
Richet Coraline
Han Xiaofei
L3 IUP Informatique
2007-2008
1
Plan
2
Présentation du projet
Mise en œuvre des algorithmes de
traitement d’images
Bilan
Présentation du projet
Une image en niveau de gris est un tableau
bidimensionnel où chaque élément contient une valeur
entre 0 et 255
000
008
016
024
032
040
048
056
064
072
080
088
096
104
112
120
128
255
248
240
232
224
216
208
200
192
184
176
168
160
152
144
136
Représentation des différentes nuances de gris
3
Objectifs du projet
Initiation aux techniques de traitements d’image
Manipulation des tableaux bidimensionnels en C
4
Réalisation de différents algorithmes de traitements
d’image
Algorithme de Sobel
Appliquer un masque sur l’image pour afficher les
endroits de l’image où les différences entre les
pixels voisins sont importantes
Schéma d’application de masque
5
Algorithme de Sobel
Somme pondérée:
Normalisation:
Dv= Dv / somme des coefficients positifs
6
Calcul du gradient:
Algorithme de Sobel
7
Deux fonctions Sobel :
–
void basicThreeSobelFunction(const Image * in, Image * out)
–
void genericSobelFunction(const Image * in, Image * out, int
** maskV, int ** maskH, int maskSize)
Algorithme de Sobel
Résultat du traitement Sobel
Image originale
8
Image après Sobel
Algorithmes Erosion et Dilatation
Erosion :
–
Dilatation :
–
9
Supprimer les points de
contour isolés après
seuillage des images
Combler les trous dans
un contour après
seuillage des images
Algorithmes Erosion et Dilatation
Résultats du traitement érosion et dilatation :
Image originale
10
Image après seuillage + érosion
Image après seuillage + dilatation
Algorithmes Ouverture et Fermeture
Ouverture :
–
Fermeture :
–
11
Effectuer érosion puis dilatation pour supprimer petits
composants
Effectuer dilatation puis érosion pour combler les trous
Algorithmes Ouverture et Fermeture
Résultats du traitement ouverture et fermeture :
Image originale
12
Image en ouverture
Image en fermeture
Filtrage par moyenne
13
Lisser l’image en appliquant sur chaque pixel de cette
image un masque ne contenant que des valeurs à 1
Image originale
Image par filtrage
Algorithme Segmentation par région
14
Partitionner l’image en zone homogène
Algorithme Segmentation par région
Deux fonctions :
-void segmentationRegionGrowing(const Image *in,Image *out,
int xPixelSeed, int yPixelSeed, int seuil)
- void segmentationRegionGrowingRandomSeed(const Image
*in,Image *out, int seuil)
15
Algorithme Segmentation par région
Résultat du traitement segmentation par région
Image originale
16
Image partitionnée avec
un pixel d’amorce
(220,100) et un seuil de
60
Difficultés rencontrées
17
Installation de la librairie x11-dev
Ecriture de la fonction Sobel générique
Implémentation de la fonction
SegmentationRegionGrowing
Bilan
Ce que cela nous a apporté :
–
–
Améliorations possibles :
–
18
Approfondissement de nos connaissances du langage C
Appréhension des problématiques de base au traitement
d’images
Traitement d’autres algorithmes de segmentation avec des
temps de traitement plus court que la segmentation par
région