TPs Traitement dimages
Matlab utilise plusieurs types d'images : 1- Image en niveaux de gris: c'est une matrice d'entiers dont les valeurs représentent des nuances de gris. Les pixels
Initiation au traitement dimages avec MATLAB
I.2. Rappels sous Matlab : Une image Matlab est une matrice bidimensionnelle de valeurs entières ou réelles. Les principales fonctions de traitement
Traitement dimages sur MATLAB
17 Jun 2019 Une image numérique est représentée par un tableau ou une matrice contenant les différentes valeurs de chaque pixel. Pour les images en couleur ...
Introduction au traitement dimages
quelles informations peut on extraire d'une image 2D ? ? reconstruire en 3D `a partir d'images. ? outils de test et de démonstration : matlab + toolbox
Traitement dimages Travaux pratiques
L'acquisition d'une image sous Matlab peut-être réalisée de deux manières : • par la création d'un objet d'entrée vidéo en utilisant la fonction videoinput.
Notions de traitement dimages - Transformation ponctuelle
En traitement d'image on peut considérer 3 types de transformations. Exercice « Prise en main Matlab » du chapitre 1 : essayez image = double(image)).
Filtrage en traitement dimage - avec quelques applications
Filtrage en traitement d'image. Éric Busvelle. Sommaire. Introduction. Probas. Estimateurs. Champs aleatoires. Morphomaths. Filtre de Kalman. Applications.
Traitement dimages
TP3 : Traitement fréquentiel des images sous matlab. TP4 : Détection de contours et segmentation. TP5 : Binarisation d'images et opérations morphologiques
R31 – Initiation au traitement numérique dimages avec Matlab/Octave
Nous illustrerons les concepts vu en cours à l'aide de MATLAB (MATrix LABoratory) un environnement de programmation et de visualisation.
TRAITEMENT DIMAGE BASES. . Découvrir quelques méthodes de
Ce format est très compatible avec le format de représentation des images. 2• CHARGEMENT AFFICHAGE
![Traitement dimages Travaux pratiques Traitement dimages Travaux pratiques](https://pdfprof.com/Listes/16/21991-16TP_TI_03.pdf.pdf.jpg)
Dans cette manipulation, nous allons développer un premier outil de classification de textures couleur.
Les textures analysées sont des surfaces en vinyle. La classification consiste à déterminer à quelle classe
correspondent les surfaces présentées.Les images seront acquises et analysées à l"aide du logiciel Matlab. Matlab est associé à des boites
à outils appelé TOOLBOX permettant d"accéder à des fonctions spécifiques à un domaine d"application
comme le traitement d"images par exemple. Les TP de traitement d"images réalisés avec Matlab nécessitent
1 Acquisition
1.1 Mise au point du système de vision
Le matériel d"acquisition est composé de :
une caméra monochrome IDS uEye de modèle UI-1240ML-C, de résolution 12801024 et équipée
d"un capteur 1=1:800(voirdatasheet ), un objectif Fujinon de focalef=25 mm, deux sources à Leds alimentés en courant alternatif 220 V-50 Hz. La caméra est fixée sur un statif et est reliée au PC par le port USB. Un pilote Windows spécifique permet de communiquer entre le PC et la caméra. L"acquisition d"une image sous Matlab peut-être réalisée de deux manières : également les principales propriétés de l"objet d"entrée vidéo créé.La première méthode nécessite d"utiliser, dans un script, les instructions permettant l"acquisition d"une
image. Elle permet d"ajouter dans ce même script les instructions qui permettent de traiter l"image dès
l"acquisition effectuée. Cette méthode est présentée en annexe (voir page 13La seconde méthode lance une application permettant d"acquérir une image mais oblige à enregistrer
cette image avant de la traiter. C"est cette méthode qui sera utilisée dans ce TP. Le lancement de cette
application ouvre la fenêtre de la figure1 TP de traitement d"images3
Figure 1 - Application d"acquisition d"image sous MatlabPour acquérir une image ou une vidéo (séquence d"images), il faut alors suivre les étapes suivantes :
1. Choisir le format d"image : on u tiliserades images 1280 1024 au format RGB codées sur 38=24 bits.
2. Fix erles paramètres d"acquisition (v oirfigure 2 ) : on veillera en particulier à effectuer tous lesréglages en modemanuel, à minimiser les paramètres de gain et de contraste qui ont pour effet
d"accentuer le bruit et à maximiser le temps d"exposition afin de fermer l"objectif et afin d"atténuer
l"effet de scintillement de la source lumineuse. 3.Régler le nombr ed" imagesà acquérir et le moment de leur déclenchement : une seule image de vra
4.Démarrer la prévisualisation : l"appui sur le bouton ????? ???????permet de visualiser l"image. Le
réglage du système peut alors être effectué et les paramètres ajustés si nécessaire.
5. 6. Enre gistrerl"image : l"appui sur le bouton ?????? ????permet d"enregistrer l"image dans un fichier. On choisira les fichiers au format PNG.TP de traitement d"images4Figure 2 - Paramètres d"acquisition
1)Placer une texture dans le champ de vision de la caméra et, en utilisant l"application Matlab :
Prévisualiser l"image et ajuster les paramètres de réglage. Ajuster la distance de travail de sorte à obtenir un champ de vision de largeur 7 cm.Effectuer le réglage de la mise au point et de l"ouverture de l"objectif de la caméra. On veillera
à régler correctement la caméra et les paramètres d"acquisition afin d"obtenir une image de bonne
qualité avec le minimum d"ombres et de reflets. Indiquer les valeurs de réglage.1.2 Acquisition des images
Afin de développer et tester l"approche de classification supervisée, il est nécessaire de constituer une
base de données d"images où sont présentes différentes textures à identifier. Cette base est divisée en deux
parties : une base d"apprentissage dans laquelle figure les prototypes (observation de classe connue) des différentes textures, une base de test dans laquelle figure différents exemples de textures à reconnaitre.2)Répéter les acquisitions afin d"obtenir une image pour chaque type de texture. Ces images serviront
à constituer la base d"apprentissage. Chaque image représente une texture différente et sera numérotée de 1
3)Répéter à nouveau les acquisitions afin d"obtenir une image différente pour chaque type de texture.
Ces images serviront à constituer la base de test. Chaque image représente une texture différente et sera
Attention, les réglages ne doivent pas être modifiés d"une acquisition à l"autre. Il convient donc d"exa-
miner toute les textures pendant le phase de réglage du poste d"acquisition.1.3 Constitution de la base d"images
Afin de disposer d"un nombre significatif de prototypes et de réduire la taille des images pour diminuer
les temps de traitement, chaque image acquise précédemment va être décomposée en sous-images de taille
128128. Ainsi, une image de taille 12801024 est divisée en 108=80 images de taille 128128
comme l"illustre la figure 3 .(a) - image de taille 12801024(b) - division en 80 images de taille 128128 Figure 3 - Décomposition d"une image en plusieurs sous-images.Pour réaliser cette décomposition sur une la base d"apprentissage par exemple, le script suivant peut être
utilisé :%% Décomposition d" une image % le numéro de l " image est incrémenté à l " aide d" une variable % dont la valeur est ajoutée au nom du fichier à ouvrirclear all;% efface toutes les variables en mémoireclose all;% ferme toutes les fenêtres ouvertesclc;% efface le contenu de la fenêtre de commandefigure;forl =1:9I = imread ([ " train "int2str( l ) " . png " ] ) ;%imshow ( I , " Border " , " tight ") ;k=0;
fori =1:8forj =1:10a = 128 *( i1)+1;b = 128 *i ;c = 128 *( j1)+1;d = 128 *j ;J=I ( a :b , c :d , : ) ; imwrite ( J , [ " train "int2str(100*l+k) " . png " ] ) ;%subplot (8 ,10 , k+1); %imshow ( J ); k=k+1;TP de traitement d"images6
end end end4)Appliquer le script précédent afin de diviser chaque texture acquise en sous-images selon la décompo-
sition présentée précédemment. Les images ainsi créées seront numérotées de 0 à 80 additionné du numéro
de la classe multiplié par 100. Les images d"apprentissage seront précédées du nom?????et enregistrées
au format PNG dans le dossier?????. Les images de test seront précédées du nom????et enregistrées au
format PNG dans le dossier????.2 Attributs de texture
Afin de caractériser les textures de la base d"images, on se propose tout d"abord de calculer les indices
d"Haralick à partir de matrices de co-occurrence chromatiques intra-composante.2.1 Matrices de co-occurrence
avec les paramètres suivants : de la matrice de co-occurrence. pour prendre en compte toutes ces directions. La distanceDentre deux pixels voisins (voir figure4 ).Cette fonction permet également de retourner l"image sous-quantifié.Figure 4 - Directions d"orientation et distance [0 D; -D D; -D 0; -D -D] (D=4)
5)Ecrire un script Matlab permettant d"ouvrir et afficher une image de la base d"images, d"extraire
les composantes R, G, B et calculer la matrice de co-occurrences de chacune des 3 images-composantes.
Faire varier les paramètres et visualiser les matrices de co-occurrence correspondante dans une image mo-
nochrome en ajustant l"affichage ainsi que l"image sous-quantifiée.6)Compléter votre programme de manière à convertir l"image couleur en image monochrome et procé-
der au même traitement que précédemment.TP de traitement d"images72.2 Indices d"Haralick
A partir de la matrice de co-occurrence, les principaux indices d"Haralick peuvent être calculés grâce à
évoluent entre1 et 1.
Cette fonction retourne une structure dont les membres correspondent aux attributs calculés. Afin de
récupérer les valeurs de ces différents attributs dans un vecteur, cette structure peut-être transformée en
Haralick = cell2mat ( s t r u c t 2 c e l l ( Haralick ) ) ; , où???représente la matrice de co-occurrence.7)Compléter votre programme afin de calculer les 4 indices d"Haralick à partir des matrices de co-
occurrence déterminées précédemment.8)Modifier le programme afin de concaténer au sein d"un même vecteur les valeurs des indices d"Hara-
lick issue des matrices de co-occurrences chromatiques intra-composante R, G et B.3 Espaces couleur
Matlab dispose de quelques fonctions de conversion d"espace couleur : ???????: RGB!HSV,9)Transformer et visualiser une image couleur le espaces couleur HSV et YCbCr puis calculer et ob-
server les indices d"Haralick dans chacun de ces espaces.4 Classification supervisée
Maintenant qu"il est possible de calculer un vecteur d"attributs de texture à partir d"une image couleur,
nous allons mettre en place la procédure de classification.On distingue principalement les approches qui exploitent un apprentissage supervisé (classification su-
pervisée) de celles qui utilisent un apprentissage non supervisé (classification non supervisée, classification
automatique ou clustering). Dans une approche supervisée, la caractérisation et la discrimination des dif-
férentes classes est entièrement basée sur desprototypes, qui sont des observations de classes connues. Au
contraire, dans une approche non supervisée, les classes d"appartenance des observations disponibles ne
sont pas connues.Le processus de classification de textures couleur est alors divisé en deux étapes successives :
1. L "apprentissagea pour but de construire des classes de textures couleur à partir de l"ensembledes prototypes (également appelé ensemble ou échantillon d"apprentissage). Pour cela, les tex-
tures couleur présentes dans les images prototypes sont décrites par un ensemble dedescripteursTP de traitement d"images8
ou d"attributs. Chacune de ces textures est ainsi représentée par unvecteur d"attributsdans unes-
pace d"attributs. Unclassifieur1est ensuite élaboré afin de déterminer la classe d"appartenance
d"une texture en fonction de ses caractéristiques. 2.La classificationconsiste à appliquer les règles de décision déterminées lors de l"apprentissage afin
de classer la texture analysée en lui assignant une étiquette. Il existe un grand nombre de méthodes
de classification de données multidimensionnelles qui peuvent alors être appliquées à la texture
couleur comme, par exemple, les réseaux de neurones, les machines à vecteurs de supports2, lesk
plus proches voisins (k-PPV3), les nuées dynamiques (k-moyennes4)... Dans certaines approches,plusieurs classifieurs sont combinés afin d"assigner à une classe, la texture couleur analysée.
La base d"images utilisée ici est ainsi décomposée en une base d"apprentissage constituée de 809=
720 images prototypes et une base test constituée du même nombre d"images requêtes qu"il faut recon-
naitre. Les images d"apprentissage sont enregistrées dans le dossier?????tandis que les images test sont
enregistrées dans le dossier????.4.1 Apprentissage
L"apprentissage consiste à ouvrir chacune des images de la base d"apprentissage, calculer et enregistrerdans une variable le vecteur d"attributs de chaque prototype ainsi que la classe correspondante. Pour cela,nous allons utiliser une boucle répétitive de la manière suivante :%% Classification textures couleur base Outex 13
% le numéro de l " image est incrémenté à l " aide d" un fichierclear all;% efface toutes les variables en mémoireclose all;% ferme toutes les fenêtres ouvertesclc;% efface le contenu de la fenêtre de commandenb_classe = 9;% défini le nombre de classesnb_image = 80;% défini le nombre d" images par classeQ = 32;% défini le niveau de quantificationD = 1;% défini la distance de voisinagechemin = " train \ " ;% défini le nom du dossier de travail%% Apprentissage
tic% prise du temps pour chronomètrageforn=1: nb_classe% boucle de parcours des classesform=1: nb_image% boucle de parours des images% Constitution du nom du fichier image
% Enregistrement du numéro de la classe dans un tableau % Ouverture de l " image % Changement d" espace si nécessaire % Calcul des a t t r i b u t s1. Nous appelons classifieur une méthode de classification associée à un paramétrage donné.
2. SVM : Support Vector Machine
3.k-NN :kNearest Neighbor
4.k-meansTP de traitement d"images9
% Transposition du vecteur d" a t t r i b u t s et affectation à une variableend%fin de la bouleend%fin de la bouletoc% Mesure du temps de traitement10)Compléter le script précédent afin de réaliser l"apprentissage du processus de classification.
4.2 Décision
Nous allons maintenant mettre en place la procédure permettant de classer une image requête de la base
test, l"objectif étant de reconnaitre le type d"objet correspondant à l"image analysée.Le classifieur utilisée pour cela sera le classifieur 1-ppv (algorithme du plus proche voisin). Cet al-
gorithme nécessite de mesurer la distance euclidienne entre le vecteur d"attributs de l"image requête avec
chacun des vecteurs d"attributs des images de la base d"apprentissage. L"image d"apprentissage pour la-
quelle la distance est minimum est alors l"image la plus ressemblante à l"image requête et sa classe indique
la classe de l"image requête.11)Compléter le programme précédent afin d"ouvrir une image de la base test et classer cette image par
un algorithme 1-ppv.5 Essais expérimentaux
5.1 Taux de classification
Le taux de classification correspond au rapport entre la somme des images requêtes bien classées et le
nombre total d"images requêtes. permettant l"apprentissage.5.2 Choix des attributs
taux de classification.5.3 Choix de l"espace couleur
14)Faites varier l"espace couleur et déterminer celui qui permet d"obtenir les meilleurs taux de classifi-
cation.TP de traitement d"images105.4 Amélioration des performances
15)Tester différentes combinaisons de paramètres afin de fournir le taux de classification le plus élevé
possible.Les attributs calculés peuvent avoir des échelles de valeurs très différentes, ce qui peut leur donner un
poids différent lors du processus de comparaison et biaiser les résultats de classification.Afin d"obtenir des données indépendantes de l"unité ou de l"échelle choisie, il est nécessaire de centrer
et réduire les variables utilisées. Pour cela, il est nécessaire de calculer la moyenne (fonction????) et
l"écart-type (fonction???) des valeurs de chaque attribut sur l"ensemble des données d"apprentissage.
Centrer une variable consiste à soustraire sa moyenne à sa valeur et réduire une variable consiste à
diviser sa valeur par son écart-type.16)Centrer et réduire les attributs de texture calculés pendant l"apprentissage et visualiser les points
correspondant dans l"espace de décision choisi à l"aide de la fonction???????.TP de traitement d"images11
TP de traitement d"images12
Annexe
Acquisition d"images sous Matlab
Un objet d"entrée vidéo est un objet de type structure sur laquelle il est possible de régler plusieurs
propriétés : les paramètres liés au périphérique comme : le format de l"i mage, l"espace de codage de l"image (RGB, YCbCr ,ni veauxde gris, ...)... Les paramètres liés à l"acquisition comme : la luminosit é(Brightness), le contraste ( Contrast), le temps d"e xposition(Exposure), la correction g amma(Gamma), la netteté (S harpness)...der et de connaître les caractéristiques détaillées de chaque propriété. Une propriété peut également être
un objet de type structure avec ses propres propriétés. L"accès à cet objet s"adresse de la façon suivante :
nom:propriete. Attention, certaines propriétés ne sont accessibles qu"en lecture seule selon qu"une acqui-
sition est en cours ou non.La fonction???????permet de créer une fenêtre d"aperçu afin de visualiser la scène observée et la
paramètre d"acquisition. Réglages des paramètres intrinsèques et extrinsèquesLe programme suivant utilise les fonctions précédentes afin de configurer l"acquisition d"un image et
effectuer les réglages nécessaire avant d"acquérir l"image :TP de traitement d"images13 %% ACQUISITION D IMAGES SOUS MATLABclear all;% efface toutes les variables en mémoireclose all;% ferme toutes les fenêtres ouvertesclc;% efface le contenu de la fenêtre de commande%% Affichage des informations l o g i c i e l l e s et matérielle
info_id = imaqhwinfo ( " winvideo " ) info_dev = imaqhwinfo ( " winvideo " ,1)formats = info_dev . SupportedFormats% affiche les formats d" images possible%% Création d"un objet d" entrée vidéo
vid = videoinput ( " winvideo " ,1 , "RGB8_1280x1024 " );% associe un objet d" entrée vidéo% au périphérique matériel de la caméra en transmettant le numéro
% d" i d e n t i f i c a t i o n de ce périphérique avec un format d" image 1280 x 1024. % Informations sur les propriétés de " Source " information =get( vid )% Réglage du périphériquepropinfo ( vid , "VideoFormat " )% affiche les informations sur le format vidéopropinfo ( vid , " ReturnedColorSpace " )% affiche les informations sur l " espace couleurset( vid , " ReturnedColorSpace " )% permet de visualiser les réglages possibles% ou : get ( vid , " ReturnedColorSpace ")
set( vid , " ReturnedColorSpace " , " grayscale " )% sélectionne l " espace de représentation% ( ici monochrome )
% get ( vid , " ReturnedColorSpace ") pour affichage % Affichage des informations sur les propriétés propinfo ( vid , " Source " ) %% Accès à la source vidéoSource = getselectedsource ( vid );% <=> Source = vid . Source ;% Informations sur les propriétés de la source vidéo
information =get( Source )% <=> set ( Source )% Affichage des valeurs minimales et maximales de réglage des principales propriétés
info= propinfo ( Source , "Gain " );disp( "Gain " );disp(info. ConstraintValue );info= propinfo ( Source , " Contrast " );disp( " Contrast " );disp(info. ConstraintValue );info= propinfo ( Source , " Exposure " );disp( " Exposure " );disp(info. ConstraintValue );info= propinfo ( Source , "Gamma" );disp( "Gamma" );disp(info. ConstraintValue );info= propinfo ( Source , " Sharpness " );disp( " Sharpness " );disp(info. ConstraintValue );% Affichage et réglage des propriétés de la la source vidéo
inspect ( Source );% ouvre une fenêtre avec les d i f f é r e n t s paramètres à régler% et permet le réglage de ces paramètres de manière interactive
%% Réglage du systèmepreview ( vid );% ouvre la fenêtre de prévisualisation de l " imagepause;% attend que l " u t i l i s a t e u r appui sur une touche depuis l " éditeur de commande% avant de continuer afin d" effecuer les réglages
closepreview ;% ferme la fenêtre de prévisualisationTP de traitement d"images14Acquisition d"une image
utilisée afin de mettre le programme en attente pendant le temps du réglage et avant d"acquérir l"image.Le programme suivant permet de fixer les paramètres de réglages définis précédemment et acquérir uneimage avant de l"enregistrer au format brut :%% ACQUISITION D IMAGES SOUS MATLAB
clear all;% efface toutes les variables en mémoireclose all;% ferme toutes les fenêtres ouvertesclc;% efface le contenu de la fenêtre de commande%% Création d"un objet d" entrée vidéo
vid = videoinput ( " winvideo " ,1 , "RGB24_1280x1024 " );% associe un objet d" entrée vidéo% au périphérique matériel de la caméra en transmettant le numéro
% d" i d e n t i f i c a t i o n de ce périphérique avec un format d" image 1280 x 1024. % Réglage du périphériquequotesdbs_dbs29.pdfusesText_35[PDF] Cours de spécialité mathématiques en Terminale ES - Olivier Lader
[PDF] physique BTS 1 - Don Bosco Marseille
[PDF] iut cachan - gmp 2 - Matthieu Barreau
[PDF] COURS MECANIQUE CLASSIQUE
[PDF] Le MEDAF Modèle d 'évaluation des actifs financiers
[PDF] MERCHANDISING COURS ET APPLICATION
[PDF] MERISE - Lipn
[PDF] Merise - Cours ofppt
[PDF] la messagerie electronique - ACTIV Formations
[PDF] Initiation ? la Météorologie appliquée ? l 'aéronautique Pour le BIA
[PDF] LES ÉTAPES DE L ALGORITHME DU SIMPLEXE
[PDF] Introduction aux méthodes numériques
[PDF] Analyse physico-chimique des sols Agricoles
[PDF] Résumé de méthodes quantitatives II 1 Introduction - Etudiant·e·s