Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de...

35
Traitement du signal (images) Sujets – Librairie openCV » Lecture d’images » Création de contrôles » Filtrage d’images – Lectures: Notes de cours INF-1019 Programmation en temps réel

Transcript of Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de...

Page 1: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images) Sujets

– Librairie openCV» Lecture d’images

» Création de contrôles

» Filtrage d’images

– Lectures: Notes de cours

INF-1019Programmation en temps réel

Page 2: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

OpenCV (Open Source Computer Vision Library) est une bibliothèque gratuite d’analyse d’images et de vision par ordinateur, en langage C/C++, proposée par Intel pour Windows et Linux.

C’est une collection de fonctions en langage C et quelques classes de C++ qui mettent en application quelques algorithmes populaires de traitement d’images et de la vision par ordinateur.

Page 3: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Les opérateurs classiques disponibles dans OpenCV comprennent un très grand nombre d’opérateurs, parmi lesquels :– Création/libération d’images, macros d’accès rapides aux

pixels.– Opérateurs standard (morphologie, filtres dérivatifs, filtres

de contours, suppression de fond, recherche de coins).– Recherche, manipulation, traitement de contours.– Pyramides d’images.– Dessins de primitives géométriques (lignes, rectangles,

ellipses, polygones... et même du texte).– Création et utilisation d’histogrammes.– Changement d’espaces de couleurs (RGB, HSV, L*a*b* et

YCrCb).

Page 4: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Les opérateurs classiques disponibles dans OpenCV comprennent un très grand nombre d’opérateurs, parmi lesquels :– Interface Utilisateur (lecture/écriture d’images de

type JPEG, PPM, BMP, etc.) affichage à l’écran, gestion des signaux sur un clic de fenêtre, fermeture de fenêtre, ...).

– Lecture des séquences vidéo et découpage de celles-ci en plusieurs images (environ 30 par seconde).

Page 5: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Opérateurs complexes :– Contours actifs: Modèle qu’on nomme aussi snakes

(serpents) en raison des déformations subies pendant le processus d’adaptation qui s’apparentent au mouvement d’un serpent.

– Analyse de mouvement : Flot optique et MHI.– Détection de visages.– Calibrage d’une caméra (possible à partir d’un damier).– Suivi d’objets 3D avec plusieurs caméras.– Mise en correspondance de deux images.– Lecture d’images à la volée directement depuis une vidéo

AVI ou une caméra (Windows seulement).

Page 6: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions d’entrée / sortie sur les séquences vidéo– Lecture d’une vidéo: Il est possible de lire une séquence

d’images à partir d’un fichier vidéo ou directement à partir d’une caméra.

– Pour chaque capture, une image est automatiquement allouée (et ensuite libérée) en mémoire.

– Structure de capture d’une vidéo (CvCapture()). Cette structure n’a pas d’interface publique et elle est employée seulement comme paramètre pour des fonctions de capture de vidéo.

– Ainsi, il y a deux types d’initialisation de capture d’une vidéo.

» Initialisation à partir d’un fichier AVI (cvCaptureFromFile(”Fichier.avi”)).

» Initialisation pour la capture en temps réel à partir d’une caméra (cvCaptureFromCAM (index de la caméra utilisée)).

Page 7: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions d’entrée / sortie sur les séquences vidéo– Saisie d’une fenêtre (cvQueryFrame(capture)) Cette fonction permet de

saisir une fenêtre à partir d’une caméra ou un fichier AVI déjà capturés. – La fenêtre saisie est stockée en mémoire. Le but de cette fonction est de

saisir la fenêtre rapidement qui est important pour la synchronisation en cas de lecture de plusieurs caméras simultanément.

– Les fenêtres saisies ne sont pas exposées parce qu’elles peuvent être stockées dans le format compressé (comme défini par la caméra/utilisateur).

– Obtention de la fenêtre (cvSaveImage(”Image.extension”,fenêtre)). Cette fonction permet de sauvegarder la fenêtre saisie dans une image. Ainsi elle retourne un pointeur sur l’image saisie par la fonction précédente.

– L’image retournée ne devrait pas être libérée ou modifiée par l’utilisateur.

Page 8: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de gestions d’interfaces

Page 9: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de gestions d’interfaces

Page 10: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de gestions d’interfaces

Page 11: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de gestions d’interfaces

Page 12: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de gestions d’interfaces

Page 13: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions d’I/O d’images

Page 14: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions d’I/O d’images

Page 15: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions d’I/O sur les vidéo

Page 16: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions d’I/O sur les vidéo

Page 17: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions d’I/O sur les vidéo

Page 18: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions d’I/O sur les vidéo

Page 19: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de filtrage (lissage)

Page 20: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de filtrage (seuillage)

Page 21: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de filtrage (seuillage)

Page 22: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de détection de contours

Page 23: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de détection de contours

Page 24: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de détection de contours

Page 25: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Fonctions de dessin (ellipse)

Page 26: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV (findThresholdFaceNIR.c)

Page 27: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV

Page 28: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV

Page 29: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV

Page 30: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV

Page 31: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV

Page 32: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV

Page 33: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV

Page 34: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV (Exécution)

Page 35: Traitement du signal (images) u Sujets –Librairie openCV »Lecture dimages »Création de contrôles »Filtrage dimages –Lectures: Notes de cours INF-1019 Programmation.

Traitement du signal (images)

Exemple de programme utilisant openCV (Exécution)