180 likes | 325 Views
Projet Traitement d'images en C. Richet Coraline Han Xiaofei L3 IUP Informatique. 2007-2008. Plan. Présentation du projet Mise en œuvre des algorithmes de traitement d’images Bilan. Présentation du projet.
E N D
Projet Traitement d'images en C Richet Coraline Han Xiaofei L3 IUP Informatique 2007-2008
Plan • 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 Représentation des différentes nuances de gris
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
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
Algorithme de Sobel • Somme pondérée: • Normalisation: Dv= Dv / somme des coefficients positifs • Calcul du gradient:
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)
Algorithme de Sobel • Résultat du traitement Sobel Image originale Image après Sobel
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
Algorithmes Erosion et Dilatation • Résultats du traitement érosion et dilatation : Image originale Image après seuillage + érosion Image après seuillage + dilatation
Algorithmes Ouverture et Fermeture • Ouverture : • Effectuer érosion puis dilatation pour supprimer petits composants • Fermeture : • Effectuer dilatation puis érosion pour combler les trous
Algorithmes Ouverture et Fermeture • Résultats du traitement ouverture et fermeture : Image originale Image en ouverture Image en fermeture
Filtrage par moyenne • Lisser l’image en appliquant sur chaque pixel de cette image un masque ne contenant que des valeurs à 1 Image par filtrage Image originale
Algorithme Segmentation par région • 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)
Algorithme Segmentation par région • Résultat du traitement segmentation par région Image partitionnée avec un pixel d’amorce (220,100) et un seuil de 60 Image originale
Difficultés rencontrées • 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é : • 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