1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

18
1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008

Transcript of 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

Page 1: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

1

Projet Traitement d'images en C

Richet Coraline

Han Xiaofei

L3 IUP Informatique

2007-2008

Page 2: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

2

Plan

Présentation du projet

Mise en œuvre des algorithmes de traitement d’images

Bilan

Page 3: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

3

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

Page 4: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

4

Objectifs du projet

Initiation aux techniques de traitements d’image

Manipulation des tableaux bidimensionnels en C

Réalisation de différents algorithmes de traitements d’image

Page 5: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

5

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

Page 6: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

6

Algorithme de Sobel

Somme pondérée:

Normalisation:Dv= Dv / somme des coefficients positifs Calcul du gradient:

Page 7: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

7

Algorithme de Sobel

Deux fonctions Sobel :

– void basicThreeSobelFunction(const Image * in, Image * out)

– void genericSobelFunction(const Image * in, Image * out, int ** maskV, int ** maskH, int maskSize)

Page 8: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

8

Algorithme de Sobel

Résultat du traitement Sobel

Image originale Image après Sobel

Page 9: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

9

Algorithmes Erosion et Dilatation

Erosion :– Supprimer les points de

contour isolés après seuillage des images

Dilatation :– Combler les trous dans

un contour après seuillage des images

Page 10: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

10

Algorithmes Erosion et Dilatation

Résultats du traitement érosion et dilatation :

Image originale

Image après seuillage + érosion Image après seuillage + dilatation

Page 11: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

11

Algorithmes Ouverture et Fermeture

Ouverture :– Effectuer érosion puis dilatation pour supprimer petits

composants

Fermeture :– Effectuer dilatation puis érosion pour combler les trous

Page 12: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

12

Algorithmes Ouverture et Fermeture

Résultats du traitement ouverture et fermeture :

Image originale

Image en ouverture Image en fermeture

Page 13: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

13

Filtrage par moyenne

Lisser l’image en appliquant sur chaque pixel de cette image un masque ne contenant que des valeurs à 1

Image originale Image par filtrage

Page 14: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

14

Algorithme Segmentation par région

Partitionner l’image en zone homogène

Page 15: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

15

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)

Page 16: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

16

Algorithme Segmentation par région

Résultat du traitement segmentation par région

Image originale Image partitionnée avec un pixel d’amorce

(220,100) et un seuil de 60

Page 17: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

17

Difficultés rencontrées

Installation de la librairie x11-dev

Ecriture de la fonction Sobel générique

Implémentation de la fonction SegmentationRegionGrowing  

Page 18: 1 Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008.

18

Bilan

Ce que cela nous a apporté :– Approfondissement de nos connaissances du langage C– Appréhension des problématiques de base au traitement

d’images

Améliorations possibles :– Traitement d’autres algorithmes de segmentation avec des

temps de traitement plus court que la segmentation par région