La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Traitement d’images 420-D78-SW A15 Semaine 02.

Présentations similaires


Présentation au sujet: "Traitement d’images 420-D78-SW A15 Semaine 02."— Transcription de la présentation:

1 Traitement d’images 420-D78-SW A15 Semaine 02

2 Plan de leçon Images : définition Mat : définition Filtres de lissage
Les modules Les fonctions et méthodes de base

3 images : définition Une image numérique est une composition de matrices dont chaque cellule possède une valeur numérique qui représente un pixel Elle peut être acquise par un capteur (caméra, scanneur, carte d'acquisition, etc.) générée par un logiciel

4 images : définition Une image peut être composée d'une ou plusieurs matrices Chaque matrice représente un canal de « couleur » Par exemple une image RGB est constituée de trois canaux : rouge, vert et bleu. Chaque pixel d’un canal possède une valeur entre 0 et 255 qui représente le niveau de saturation.

5 image : définition Niveau de gris : 1 canal de 8 bit
RGB : 3 canaux de 8 bits chaque Niveau de gris : 1 canal de 8 bit

6 images : définition Exemple de valeurs dans un canal

7 traitement d’images Dans plusieurs cas, les traitements effectués sur les images sont des opérations sur matrices Dans la plupart des applications, les images sont prétraitées pour mettre en évidence certaines caractéristiques Exemple : les contours, lissage du bruit, etc.

8 traitement d’images : définition
Image traitée Image originale × ¾® (x,y) transformation

9 Transformation par convolution
Point Spread Function ou filtre normalisé 1 1/9 w3 w9 w2 w8 w1 w7 w6 w5 w4 DF ou Dimension Filtre : 3 ü ï ý þ 1/9 X résultat d ivisé par la somme des poids [wx] du filtre (P-B) ou son nombre de pixels (P-H) (1-22) [rf. SCHOWENGERDT, p. 32]

10 Filtres de lissage Le lissage permet de réduire le bruit dans une image. Le lissage est souvent utilisé dans le prétraitement des images. Filtre de moyenne : Applique la moyenne des valeurs des voisins d'un pixel donné au pixel de destination. Syntaxe de base cv::blur (source, destination, dimension2D) cv::blur (imgSrc, imgDst, Size(3, 3));

11 Filtres de lissage Filtre de médiane : Ce filtre applique la médiane du filtre de convolution sur l'image destination. Il est bien de noter que ce filtre est relativement lent, car il doit trier les valeurs à chaque convolution. Syntaxe cv::medianBlur (src, dst, dimension1D); cv::medianBlur (imgDst, imgSrc, 3);

12 Filtres de lissage Filtre Gaussien : Ce filtre utilise la fonction Gaussienne (Courbe normale). Chaque pixel dans le filtre de convolution a un poids qui dépends de sa distance par rapport au point central. Syntaxe GaussianBlur(src, dst, dim2D, ecartTypeX) GaussianBlur(src, dst, Size(5, 5), .75); Ecart_type représente l'effet évasif d'une courbe normale. Plus celui-ci est élevé plus la "cloche" sera évasé, ainsi les pixels proches vont avoir un poids plus important par rapport à la moyenne.

13 Lissage : comparaison

14 Les modules Nous explorerons les modules les plus utilisés dans cette section

15 Les modules OpenCV offre plusieurs modules qui couvrent chacun des domaines ou approches différents pour le traitement d’images Core.hpp Définit les blocs de base pour tout application de traitement d’images Highgui.hpp Définit les blocs d’interface homme-machine

16 Les modules imgproc.hpp calib3d.hpp feature2d.hpp
Fonctions et méthodes de manipulation d’images calib3d.hpp Calibration et reconstruction 3D feature2d.hpp Extraction de caractéristiques. Par exemple, les zones de grand contraste

17 Les modules objdetect.hpp ml.hpp video.hpp
Détection d’objets. Par exemple, le classificateur de Haar ml.hpp Apprentissage machine video.hpp Gestion et analyse des fichiers vidéos. Par exemple : Le suivi d’objet

18 Les modules gpu.hpp Utiliser la puissance du GPU pour faire du traitement d’images

19 OpenCV (C++) : Fonctions et méthodes de base
Dans ces diapos, je vous indique les fonctionnalités de base pour travailler avec la librairie

20 Type Mat Le classe utilisée pour travailler avec les images est « Mat » Il y a plusieurs constructeurs que l’on retrouve dans le module core.hpp Mat(); Mat (int rang, int colonne, int type); Type  Nombre de bit. Ex : CV_8UC1 8 bits 1 canal

21 Lire un fichier Pour lire un fichier, on utilise la fonction Mat imread(string nom, int flag) Nom  Nom du fichier Flag  Méthode CV_LOAD_IMAGE_UNCHANGED CV_LOAD_IMAGE_GRAYSCALE CV_LOAD_IMAGE_COLOR Cette fonction retourne un objet Mat

22 Créer une fenêtre Il faut créer une fenêtre pour pouvoir afficher l’image dans celle-ci On utilise la méthode void namedWindow (string nom, int flag) Nom  Nom de la fenêtre Flag  Type CV_WINDOW_AUTOSIZE : Image en taille originale CV_WINDOW_FREERATIO, *_KEEPRATIO : Indique si l’on peut changer les proportions w x h

23 Afficher une image Pour afficher une image dans une fenêtre, il faut faire appel à la méthode void imshow(string nomFenêtre, Mat img) Lorsque l’on affiche une image simple, il faut mettre le processus en attente autrement, l’image apparaîtra et disparaîtra aussitôt La méthode int waitKey(int delais) Délais en milliseconde Cette fonction retourne la touche qui a été appuyée

24 Gestion de la mémoire Dans cette version d’OpenCV, la gestion de la mémoire se fait automatiquement Cependant, il est possible de libérer de la mémoire en utilisant la méthode « mat.Release() » Exemple Mat A(1000, 1000, CV_64F); A.Release();

25 Exercices Faites une application qui affiche 2 fenêtres dans lesquelles ont retrouvent la même image dont une est chargée en couleur et l’autre en noir et blanc. Faites une application qui affiche 4 fenêtres qui dans chacune ont retrouvera une image originale et dans les autres la même image lissée avec les filtres de lissage vu en cours. Le titre des fenêtres devra représenter le type de lissage utilisé.


Télécharger ppt "Traitement d’images 420-D78-SW A15 Semaine 02."

Présentations similaires


Annonces Google