22/02/2021 Les images sous MATLAB - Tutoriel - Jérôme Briot https://briot-jerom

22/02/2021 Les images sous MATLAB - Tutoriel - Jérôme Briot https://briot-jerome.developpez.com/matlab/tutoriels/introduction-gestion-images/ 1/9 Introduction à la gestion des images sous MATLAB Apprendre à mieux programmer en MATLAB Table des matières Avant propos I. Formats de fichiers supportés I-A. Formats supportés nativement par MATLAB I-B. Formats supportés via les Toolbox I-C. Formats supportés via des contributions du File Exchange II. Outils de gestion des images II-A. Les fonctions MATLAB II-B. Les Toolbox II-C. Les images tests II-C-1. Images fournies avec MATLAB II-C-2. Images fournies avec l'Image Processing Toolbox II-C-2-a. Images au format JPEG II-C-2-b. Images au format TIFF II-C-2-c. Images au format PNG III. Représentation des images III-A. Tableau de pixels III-B. Objets graphiques représentant les images III-B-1. L'objet Image III-B-2. L'objet Surface IV. Ressources disponibles V. Les images cachées (Easter Eggs) Remerciements Cet article est une introduction à la gestion des images sous MATLAB. Contenu : dans un premier temps, il récapitule les différents formats de fichiers images supportés. Les outils permettant de gérer les images sont ensuite brièvement présentés. Puis la représentation des images est abordée. Des liens pour s'initier ou se perfectionner au traitement d'images sont ensuite répertoriés. Pour conclure sur une note moins sérieuse, quelques Easter Eggs relatifs aux images sont dévoilés. Public visé : sans être destiné aux novices, cet article vise un public débutant avec l'utilisation des images sous MATLAB. Votre avis et vos suggestions sur cet article m'intéressent ! Alors après votre lecture, n'hésitez pas : 9 commentaires Article lu 126887 fois. L'auteur Jérôme Briot L'article Publié le 29 octobre 2007 - Mis à jour le 29 janvier 2014 Liens sociaux FORUMS TUTORIELS FAQ BLOGS CHAT NEWSLETTER EMPLOI ÉTUDES DROIT CLUB EDI 4D Delphi Eclipse JetBrains LabVIEW NetBeans MATLAB Scilab Visual Studio WinDev Visual Basic 6 Lazarus Qt Creator Accueil MATLAB Forums MATLAB FAQ MATLAB Tutoriels MATLAB Livres MATLAB Sources MATLAB Partager DI/DSI Solutions d'entreprise Cloud IA ALM Microsoft Java Dév. Web EDI Programmation SGBD Office Mobiles Systèmes 22/02/2021 Les images sous MATLAB - Tutoriel - Jérôme Briot https://briot-jerome.developpez.com/matlab/tutoriels/introduction-gestion-images/ 2/9 Avant propos▲ MATLAB est un langage initialement créé pour traiter des problèmes d'analyse numérique. Il est optimisé pour le calcul matriciel et convient donc parfaitement pour la manipulation et le traitement d'images numériques. Ces dernières sont en effet représentées par des tableaux à deux ou trois dimensions (2D ou 3D). Cet article est avant tout une présentation générale de la gestion des images sous MATLAB. Il n'a pas pour vocation à aborder les notions de manipulation ou de traitement d'images. Les liens donnés en fin d'article permettront au lecteur d'approfondir les notions abordées ici. Certaines parties de cet article sont évolutives (par exemple, le tableau de la première partie) et seront mis à jour au fur et à mesure. I. Formats de fichiers supportés▲ Les opérations de lecture/écriture des fichiers contenant des images sous MATLAB sont grandement simplifiées grâce à des fonctions toutes faites qui sont disponibles soit : dans MATLAB nativement (imread, imwrite, print) ; dans les Toolbox dédiées aux images (Image Acquisition, Image Processing, Mapping) ; sur le File Exchange du MATLAB Central. sur le web Si vous constatez une erreur ou si vous souhaitez qu'une fonction soit ajoutée aux tableaux suivants, contactez en priorité l'auteur de cet article ou le responsable de la rubrique MATLAB sur Developpez.com I-A. Formats supportés nativement par MATLAB▲ Format Lecture Ecriture BMP imread imwrite, print CUR imread EMF print EPS print GIF imread imwrite HDF imread imwrite ICO imread ILL print JPEG/JPEG2000 imread imwrite, print PBM imread imwrite, print PCX imread imwrite, print PGM imread imwrite, print PNG imread imwrite, print PNM imread imwrite, print PPM imread imwrite, print RAS imread imwrite, print TIFF imread imwrite, print XWD imread imwrite I-B. Formats supportés via les Toolbox▲ Format Lecture Ecriture Toolbox Analyze 7.5 analyze75read Image Processing DICOM dicomread dicomwrite Image Processing FITS fitsread fitswrite Image Processing GeoTIFF geotiffread geotiffwrite Mapping HDR hdrread hdrwrite Image Processing NITF nitfread Image Processing I-C. Formats supportés via des contributions du File Exchange▲ Si le format de fichiers que vous souhaitez ouvrir ne figure dans aucun des deux tableaux ci-dessus, ou que vous ne possédez pas les Toolbox, effectuez une recherche sur le File Exchange de MathWorks. Pour plus d'informations sur les codes disponibles sur le File Exchange ou sur le web, merci de contacter en priorité leurs auteurs. II. Outils de gestion des images▲ II-A. Les fonctions MATLAB▲ Les fonctions MATLAB utiles pour gérer les images sont les suivantes : image : affiche une image (objet graphique Image) ; imagesc : affiche une image (objet graphique Image) avec interpolation des couleurs ; imread : lit une image d'un fichier (formats standards) ; imwrite : écrit une image dans fichier (formats standards) ; imfinfo : extrait des informations d'un fichier (formats standards) ; print : exporte une image (formats standards). 22/02/2021 Les images sous MATLAB - Tutoriel - Jérôme Briot https://briot-jerome.developpez.com/matlab/tutoriels/introduction-gestion-images/ 3/9 II-B. Les Toolbox▲ Il existe trois Toolbox MATLAB spécifiques liées à l'acquisition, à l'analyse et au traitement des images : Image Acquisition Toolbox : acquisition d'images et de vidéos à partir de matériel industriel ; Image Processing Toolbox : analyse et traitement d'images ; Mapping Toolbox : analyse et visualisation de données géographiques. II-C. Les images tests▲ II-C-1. Images fournies avec MATLAB▲ cape.mat clown.mat detail.mat durer.mat earth.mat flujet.mat gatlin.mat gatlin2.mat mandrill.mat spine.mat Chaque image est enregistrée dans un fichier .mat et chacun de ces fichiers comporte deux variables : X : le tableau contenant les pixels de l'image ; map : la palette de couleurs associées. Le chargement de ces images s'effectue avec la fonction load et l'affichage peut être obtenu comme ceci : Sélectionnez figure load(<nom du fichier mat>); colormap(map); imagesc(X); axis image Il existe aussi une image au format JPEG disponible sur toutes les versions de MATLAB (même les plus anciennes) : ngc6543a.jpg Cette image se lit avec la fonction imread et s'affiche avec la fonction image. II-C-2. Images fournies avec l'Image Processing Toolbox▲ Cette toolbox est livrée avec plusieurs images dans les formats courants (jpeg, tiff, png). Certaines de ces images sont soumises à un copyright : http://www.mathworks.fr/fr/help/images/image-credits.html Les images standards (lena, cameraman…) pour le traitement d'images utilisées dans le livre Digital Image Processing Using MATLAB sont disponibles sur le site http://www.imageprocessingplace.com/root_files_V3/image_databases.htm 22/02/2021 Les images sous MATLAB - Tutoriel - Jérôme Briot https://briot-jerome.developpez.com/matlab/tutoriels/introduction-gestion-images/ 4/9 II-C-2-a. Images au format JPEG▲ football.jpg greens.jpg II-C-2-b. Images au format TIFF▲ AT3_1m4_01.tif, AT3_1m4_02.tif… AT3_1m4_10.tif autumn.tif board.tif cameraman.tif canoe.tif cell.tif circbw.tif circuit.tif eight.tif forest.tif kids.tif logo.tif m83.tif mandi.tif moon.tif mri.tif paper1.tif pout.tif shadow.tif spine.tif tire.tif trees.tif 22/02/2021 Les images sous MATLAB - Tutoriel - Jérôme Briot https://briot-jerome.developpez.com/matlab/tutoriels/introduction-gestion-images/ 5/9 II-C-2-c. Images au format PNG▲ bag.png blobs.png circles.png coins.png concordaerial.png concordorthophoto.png fabric.png gantrycrane.png glass.png hestain.png liftingbody.png onion.png pears.png peppers.png pillsetc.png rice.png saturn.png snowflakes.png tape.png testpat1.png text.png tissue.png westconcordaerial.png westconcordorthophoto.png III. Représentation des images▲ III-A. Tableau de pixels▲ MATLAB peut lire des images codées sur 8, 16, 24 ou 32 bits. Mais le stockage de ces données ne peut être fait qu'avec trois types de variables : le type uint8 (entier non signé de 8 bits) de plage [0 255] ; le type uint16 (entier non signé de 16 bits) de plage [0 65535] ; le type double (réel 64 bits) de plage [0 1] (Plus généralement : [-realmax realmax]). 22/02/2021 Les images sous MATLAB - Tutoriel - Jérôme Briot https://briot-jerome.developpez.com/matlab/tutoriels/introduction-gestion-images/ 6/9 III-B. Objets graphiques représentant les images▲ Parmi les nombreux objets graphiques disponibles sous MATLAB, deux permettent de visualiser des images : l'objet graphique de type Image et l'objet graphique de type Surface. III-B-1. L'objet Image▲ L'objet graphique de type Image est l'objet généralement utilisé pour visualiser les images. Il est généré soit par la fonction image, soit par la fonction imagesc. Cet objet a pour parent un objet conteneur de type Axes et il ne possède pas lui-même d'objet enfant. La seule restriction concernant cet objet est qu'il est impérativement créé dans le plan x0y et qu'il ne peut en aucun cas être manipulé en rotation (par des fonctions comme rotate3d par exemple). Les propriétés principales de cet objet sont : CData : tableau 2D ou 3D contenant les valeurs des pixels de l'image ; CDataMapping : interprétation des valeurs pixels sous forme de couleur (valeur 'direct' ou 'scale') ; XData : position dans le repère x0y du premier et du dernier pixel suivant l'axe x ; YData : position dans le repère x0y du premier et du dernier pixel suivant l'axe y. Vous pouvez consulter la liste complète des propriétés des objets Image. Le code suivant montre la différence entre une image dont le premier pixel est centré en (1,1) et une autre image dont le premier pixel est centré en (5,4) : Sélectionnez function placeimage rgb=rand(3,6,3); figure('numbertitle','off',... 'toolbar','none','menubar','none') subplot(2,1,1) image(rgb) axis image hold on plot(1,1,'ro') subplot(2,1,2) image(rgb,'xdata',5,'ydata',4 ) axis image hold on plot(5,4,'ro') Voici le résultat à l'affichage : III-B-2. L'objet Surface▲ Un objet de type Image étant contraint à être dessiné dans le plan x0y, un objet Surface sera utilisé dans les cas d'affichage d'image dans un plan quelconque. Ce type d'objet uploads/Management/ les-images-sous-matlab-tutoriel-jerome-briot.pdf

  • 18
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jul 22, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.9738MB