Projet de session – SCG-67210

Slides:



Advertisements
Présentations similaires
Traitement d’images : concepts fondamentaux
Advertisements

Traitement d’images : concepts fondamentaux
Efficient Simplification of Point-Sampled Surfaces
Soizic Geslin Samy Fouilleux Minh Le Hoai Maxime Chambreuil

Xialong Dai, Siamak Khorram
PROCEDURE TYPE DE DEFINITION DES MODALITES
le nom du logiciel et le nom du fichier s’appelle la barre des titres
Traitements d'images et Vision par ordinateur
LOGOS_w Imagerie La palette des icônes. Le groupe dicônes situé au dessus des images du patient permet dintervenir sur limage affichée et active.
Vidéogramme séance 2 du 13 février 2012 Les Fenêtres Windows Micro Informatique au Cellier Joseph HOHN Séance du 13 février 2012 Sur le thème de Découverte.
Traitements d'images et Vision par ordinateur
La souris.
Analyse d’images Détection de contour Cours 8
Réalisateur : PHAM TRONG TÔN Tuteur : Dr. NGUYEN DINH THUC
Création d’un programme :
IFT3730: Infographie 3D Transformations Géométriques
Le filtrage d’images.
Capsule 1 Introduction à Aphelion
Capsule 1 Introduction à Aphelion
Projet Traitement d'images en C
Design dun système de vision embarqué. Application:
PIF-6003 Sujets spéciaux en informatique I
Mars 2013 Grégory Petit
Chapitre 4 : Morphologie Mathématique
Distance de BORGEFORS Et Applications
Serrure biométrique Reconnaissance dempreintes digitales Raphaël FROMONT – Pascal GRIMAUD – Nicolas MUNOZ Tuteur : M. Patrick ISOARDI.
PAUL VERLAINE MALZEVILLE
TRAITEMENT D’IMAGE SIF-1033.
TRAITEMENT D’IMAGE SIF-1033.
MAP-6014 Concepts avancés en mathématiques et informatique appliquées
Application d’algorithmes d’extraction de la couleur et des textures à partir d’images aériennes dans le contexte de l’extraction de bâtiments pour supporter.
 Classe qui hérite de Qimage  Ajout de méthode d’accès rapide aux pixels et aux composantes  Ajout des composantes Y, U et V  Ajout de méthode pour.
LOGOS_w Imagerie La palette d’images  Apparition à l’ouverture de la fiche patient d’une fenêtre pop up avec les images présentes dans le module imagerie.
Exemples photofiltre.
Menu image et redimensionner / incliner. L’image à été redimensionnée à 50 % en horizontal et vertical avant l’opération d’inclinaison Cliquer pour.
La décomposition en valeurs singulières: un outil fort utile
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Deux sujets traités La segmentation d’images
Morphologie mathématique ensembliste
Module 4: Le filtrage d’images. Objectifs du filtrage.
Graph cuts et applications
Programmation créative – Les vecteurs
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Les réseaux de neurones à réservoir en traitement d’images
Institut de sciences et technologies Département d’informatique
TRAITEMENT D’IMAGE SIF-1033 Segmentation des images par détection de contours et d’arêtes u Détection des contours et arêtes u Dérivée première (gradient)
INF-1019 Programmation en temps réel
1 Déformation Bi-manuelle en Réalité Virtuelle Encadrants : Antonio Capobianco, Jérôme Grosjean Étudiants : Michaël Kolomytzeff, Manuel Veit.
Adaptation des images d'un site web pour la compensation du daltonisme
Algorithmique et programmation en
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Les réseaux de neurones à réservoir en traitement d’images
SIF1033 TRAITEMENT D’IMAGE
Deux grandes catégories Les images BITMAP Les images VECTORIELLES.
GRAPHISME PAR ORDINATEUR
Éléments de présentation
Mathématiques pour Informaticien I
Suivi d’Horizons Sismiques
Visualisation des flots optiques en 3D
Traitement d’images 420-D78-SW A15 Semaine 02.
Partie II : Segmentation
PIF-6003 Sujets spéciaux en informatique I
Traitement du signal (images) u Sujets –Détection des droites –Transformée de Hough (espace paramétré) *avec la pente et l’ordonnée à l’origine *avec.
FLASH MX : séance 1 Sandrine Rabin Nicolas Mollet SI28.
Environnement Flash MX
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
LAMOUR Mathieu Présentation du logiciel SI28 Automne 2004.
Filtrage des images.
Transcription de la présentation:

Projet de session – SCG-67210 Outil de manipulation d’images Projet présenté aux professeurs Thierry Badard & Frédéric Hubert 17 décembre 2008 – Matthieu BACH

Projet de maîtrise basé sur l’acquisition et le traitement de photographies Il serait intéressant de développer un module permettant d’effectuer des manipulations de base sur une image Ouverture, affichage Zoom Rotation Déplacement Ajouté à cela quelques algorithmes de traitement d’images pouvant servir dans le projet de maitrise Programmé en C#, car déjà utilisé, permet donc d’aller plus loin dans le développement d’outils Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion Manipulation d’images Ouverture, affichage Zoom avant/arrière Zoom molette, l’agrandissement se fait sous le curseur Zoom-box Zoom général Outil loupe, agrandissement local, sans perdre la vue générale Déplacement d’image Rotation de l’image Sous forme d’un module réutilisable (composant)

Traitements sur l’image Extraction de contours (Canny) Détection de lignes (Hough) Morphologie mathématique Redressement d’image Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Ouverture et affichage Une PictureBox Objet Bitmap de l’image courante On affiche l’image dans la PictureBox, qui s'adapte à l'image et non l'inverse Les coordonnées images sont fonction de la PictureBox Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

MouseEventHandler sur la PictureBox, sur l'évènement MouseDown Zoom + et zoom - MouseEventHandler sur la PictureBox, sur l'évènement MouseDown Un Rectangle de taille variable représente la vue courante Le Rectangle se positionne sur le Bitmap original et c'est seulement la portion dans le Rectangle qui est affichée à l'écran Un zoom avant divise le Rectangle par 2 Un zoom arrière multiplie le Rectangle par 2 Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Zoom à l'aide de la molette MouseEventHandler sur la PictureBox, sur l'évènement MouseWheel Propriété delta du MouseEventArgs nous donne le sens de rotation de la molette Appel des fonctions précédentes Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Objet Graphics crée sur la PictureBox Au MouseDown on stocke le point Zoom-Box Objet Graphics crée sur la PictureBox Au MouseDown on stocke le point Au MouseMove on dessine un rectangle sur l'écran entre le point initial et le curseur Au MouseUp on récupère le deuxième point On transforme les coordonnées-écrans en coordonnée-images On dimensionne le Rectangle de vue courante en fonction du rectangle dessiné Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Zoom général On dimensionne le Rectangle de vue courante pour englober toute l'image, et l'on affiche le contenu du Rectangle Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Le contenu de ce Rectangle est affiché sur la PictureBox de la loupe Une deuxième PictureBox plus petite est visible lors d'un MouseDown sur la PictureBox principale A la manière du Rectangle de vue courante, un Rectangle de loupe est positionné sur l'image, centré sur l'endroit du clic Le contenu de ce Rectangle est affiché sur la PictureBox de la loupe L'intensité de la loupe est configurable dans un menu ou à l'aide la molette Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Déplacement de l'image (pan) Au MouseDown on stocke la position du clic Au MouseMove on calcule le vecteur entre le point initial et le curseur en coordonnées-images On translate le Rectangle de vue courante du vecteur opposé Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Utilisation de la méthode RotateFlip de l'objet Bitmap Contexte Rotation de l'image Selon un angle de 90°, 180°, 270° Le calcul des vraies coordonnées-images est adapté en fonction de l'orientation de l'image par le biais de coefficients Utilisation de la méthode RotateFlip de l'objet Bitmap Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Extraction de contour (Canny) Principe : extraire les fortes variations de luminosité dans l'image (gradients d'intensité) Algorithme en plusieurs étapes Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Passage l'image en niveaux de gris Le niveau de gris d'un pixel composé des trois couleurs Rouge, Vert, Bleu est sa luminance L = Rouge * 0.3 + Vert * 0.59 + Bleu * 0.11 Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Application d'un noyau gaussien 2D Permet de lisser l'image et éliminer le bruit Le noyau de convolution est calculé en fonction de l'écart-type σ Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Application d'un opérateur de gradient Calcule la variation d'intensité de la luminance et l'orientation d'un pixel par rapport à ses voisins Utilisation de l'opérateur de Sobel Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Suppression des non maxima locaux A pour but de réduire les contours à un pixel de large Si les voisins d'un pixel dans la direction perpendiculaire à ce pixel sont d'intensité plus faible, alors le pixel est un maximal local Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Seuillage par hystérésis (2 seuils) Élimine les bord de faible intensité Si l'intensité d'un pixel est au dessus du seuil haut alors il est conservé, sous le seuil bas il est supprimé, entre les deux il est conservé s'il est connecté à un pixel conservé Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Une classe Canny est créée Mise en place Utilisation des pointeurs pour manipuler les images, accès direct à la mémoire, plus rapide pour traiter beaucoup de pixels que la méthode GetPixel Une classe Canny est créée Constructeur Canny(float sigma, byte tlow, byte thigh) Méthode Process(Bitmap bmp) renvoie un Bitmap Le seuillage par hystérésis utilise la récursivité pour chercher les intensité entre les deux seuils. On part d'un pixel validé et on cherche dans toutes les directions un pixel en ballotage Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Opérateurs de morphologie mathématique Se fait sur une image binaire (2 possibilités noir ou blanc) Un seuillage est fait d'abord sur l'image en niveaux de gris Erosion : érode le noir (compresse) Dilatation : dilate le noir Ouverture : érosion puis dilatation Fermeture : dilatation puis érosion Peut servir à éliminer le bruit Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

On transforme l'image en niveaux de gris Contexte Objectifs Seuillage On transforme l'image en niveaux de gris Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Manipulation d’images Seuillage Toutes les intensité au dessus du seuil sont blanches, les autres sont noires Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Manipulation d’images Dilatation Dilate le noir (noyau de convolution 3x3, le pixel central prend la valeur minimale des 9 pixels) Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Manipulation d’images Érosion Erode le noir (noyau de convolution 3x3, le pixel central prend la valeur maximale des 9 pixels) Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Idem que Canny (pointeurs) Classe Morphologie Mise en place Idem que Canny (pointeurs) Classe Morphologie Méthode Seuillage(Bitmap bmp) renvoie un Bitmap Méthode Erosion(Bitmap bmp) renvoie un Bitmap Méthode Dilatation(Bitmap bmp) renvoie un Bitmap Méthode Ouverture(Bitmap bmp) renvoie un Bitmap Méthode Fermeture(Bitmap bmp) renvoie un Bitmap Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Détection de lignes (Hough) Changement de système de coordonnées (x, y) vers (R, θ) Infinité de ligne passant par le point Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion Y R Ligne commune R1 R2 θ2 θ1 X θ

Détection de lignes (Hough) Exemple sur une image binaire (contours extraits) On récupère les coordonnées (R, θ) des intersections, on a donc les coordonnées des lignes de l’image (vectoriel) Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion R θ

Utilisation de pointeurs pour manipuler les Bitmap Classe Hough Mise en place Utilisation de pointeurs pour manipuler les Bitmap Classe Hough Méthode renderTransform (Bitmap bmp) renvoie le graphique de la transformée de hough Méthode process (Bitmap bmp, byte seuil) renvoie la transformée inverse (dessin des lignes de plus de "seuil" pixels) Pour le dessin de la transformée, le niveau de gris de chaque pixel sur une sinusoïde est incrémenté de 1, un pixel de valeur 39 signifie que 39 points partagent cette ligne de coordonnées (R, θ) Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Projection centrale d'un plan Redressement d'image Simuler une prise de vue normale à un objet plan à partir d'une vue inclinée Projection centrale d'un plan Minimum 4 points en coordonnées-objets et images Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Utilisation des moindres carrés si l'on clique + de 4 points Mise en place Utilisation d'une classe Matrice trouvée sur un site de développeurs pour calculer les coefficients de la transformation Utilisation des moindres carrés si l'on clique + de 4 points Utilisation de pointeurs pour manipuler les images Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Image brute Image redressée Mise en place Sens de la transformation Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion Image brute Image redressée

Image brute Image redressée Mise en place Sens de la transformation Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion Image brute Image redressée

Image brute Image redressée Mise en place Sens de la transformation Avantage : remplissage des trous directement Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion Image brute Image redressée

Constructeur Redressement (Point[] img, PointF[] obj) Mise en place Classe Redressement Constructeur Redressement (Point[] img, PointF[] obj) Méthode process (Bitmap bmp) renvoie l'image redressée de taille fixée au départ Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Documentation des algorithmes à partir d'internet (Wikipédia) Analyse Documentation des algorithmes à partir d'internet (Wikipédia) Une classe créée pour chaque traitement d'image Réutilisable partout Les manipulations d'images sont par contre intégrées à la Form principale Non réutilisables Les pointeurs réduisent considérablement le temps de traitement des images Utilisation non protégée Comparaison avec des algorithmes existants (Matlab…) Tests par un utilisateur expérimentateur Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Manipulation d’images Échéancier Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion Tâche Septembre Octobre Novembre Décembre Manipulation d'images Ouverture et affichage Zoom + et - Zoom molette Zoom box Zoom général Loupe Déplacement d'images Rotation Traitements Extraction de contours (Canny) Vectorisation des contours (Hough) Morphologie mathématique Redressement d'image

Programme boite à outil Conclusion Programme boite à outil Approche d'algorithmes célèbres et utiles en traitement d'images Familiarisation avec les pointeurs Renforcement du concept d'orienté-objet Perspectives Vraie gestion multi-image Canny : segmenter selon les intensités des contours Hough : meilleur détection des intersections sur le graphe Hough : vraie vectorisation (segments et non lignes) Redressement : à partir de mesures de distances, et non de coordonnées Contexte Objectifs Manipulation d’images Canny Morphologie Hough Redressement Analyse Échéancier Conclusion

Merci de votre attention ! Questions?