Télécharger la présentation
1
INF-1019 Programmation en temps réel
Traitement du signal (images) Sujets Librairie openCV Lecture d’images Création de contrôles Filtrage d’images Lectures: Notes de cours
2
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.
3
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).
4
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).
5
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).
6
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)).
7
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.
8
Traitement du signal (images)
Fonctions de gestions d’interfaces
9
Traitement du signal (images)
Fonctions de gestions d’interfaces
10
Traitement du signal (images)
Fonctions de gestions d’interfaces
11
Traitement du signal (images)
Fonctions de gestions d’interfaces
12
Traitement du signal (images)
Fonctions de gestions d’interfaces
13
Traitement du signal (images)
Fonctions d’I/O d’images
14
Traitement du signal (images)
Fonctions d’I/O d’images
15
Traitement du signal (images)
Fonctions d’I/O sur les vidéo
16
Traitement du signal (images)
Fonctions d’I/O sur les vidéo
17
Traitement du signal (images)
Fonctions d’I/O sur les vidéo
18
Traitement du signal (images)
Fonctions d’I/O sur les vidéo
19
Traitement du signal (images)
Fonctions de filtrage (lissage)
20
Traitement du signal (images)
Fonctions de filtrage (seuillage)
21
Traitement du signal (images)
Fonctions de filtrage (seuillage)
22
Traitement du signal (images)
Fonctions de détection de contours
23
Traitement du signal (images)
Fonctions de détection de contours
24
Traitement du signal (images)
Fonctions de détection de contours
25
Traitement du signal (images)
Fonctions de dessin (ellipse)
26
Traitement du signal (images)
Exemple de programme utilisant openCV (findThresholdFaceNIR.c)
27
Traitement du signal (images)
Exemple de programme utilisant openCV
28
Traitement du signal (images)
Exemple de programme utilisant openCV
29
Traitement du signal (images)
Exemple de programme utilisant openCV
30
Traitement du signal (images)
Exemple de programme utilisant openCV
31
Traitement du signal (images)
Exemple de programme utilisant openCV
32
Traitement du signal (images)
Exemple de programme utilisant openCV
33
Traitement du signal (images)
Exemple de programme utilisant openCV
34
Traitement du signal (images)
Exemple de programme utilisant openCV (Exécution)
35
Traitement du signal (images)
Exemple de programme utilisant openCV (Exécution)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.