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 A16 Semaine 02 Plan de leçon  Images : définition  Mat : définition  Filtres de lissage  Les fonctions et méthodes.

Présentations similaires


Présentation au sujet: "Traitement d’images 420-D78-SW A16 Semaine 02 Plan de leçon  Images : définition  Mat : définition  Filtres de lissage  Les fonctions et méthodes."— Transcription de la présentation:

1

2 Traitement d’images 420-D78-SW A16 Semaine 02

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

4 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

5 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.

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

7 images : définition  Exemple de valeurs dans un canal

8 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.

9 traitement d’images : définition 000000000 0 0 0 0 0 0 0 0 0 0 000000000 0 0 0 0 0 0 0 0 0 0 Image traitéeImage originale    (x,y) transformation

10 Transformation par convolution (1-22) [rf. SCHOWENGERDT, p. 32] ou filtre normalisé 1 1 1 1 1 1 111 Point Spread Function w3w3 w9w9 w2w2 w8w8 w1w1 w7w7 w6w6 w5w5 w4w4 1/9 X 1/9 DF ou Dimension Filtre : 3     résultat d ivisé par la somme (P-B) des poids [w x ] du filtre (P-B) (P-H) ou son nombre de pixels (P-H)

11 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));

12 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);

13 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.

14 Lissage : comparaison

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

16 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

17 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

18 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

19 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

20 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();

21 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é.

22 Annexes - Les modules Nous explorerons les modules les plus utilisés dans cette section

23 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

24 Les modules  imgproc.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

25 Les modules  objdetect.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

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


Télécharger ppt "Traitement d’images 420-D78-SW A16 Semaine 02 Plan de leçon  Images : définition  Mat : définition  Filtres de lissage  Les fonctions et méthodes."

Présentations similaires


Annonces Google