Traitement des images numériques TP 5 : Images couleur

Documents pareils
Chap17 - CORRECTİON DES EXERCİCES

TP SIN Traitement d image

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Traitement numérique de l'image. Raphaël Isdant

TP : Gestion d une image au format PGM

Traitement bas-niveau

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Les images numériques. 1. Le dessin vectoriel

Chapitre 13 Numérisation de l information

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Utilisation du logiciel ImageJ gratuit

TD : Codage des images

Projet Matlab : un logiciel de cryptage

Formats d images. 1 Introduction

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

Le traitement du 5ème concours A.I.P. pour l objet SH2-155 de Franck JOBARD

Fête de la science Initiation au traitement des images

1 Introduction au codage

Sur trois couches, on obtient donc 2563 = de couleurs, soit 24bpp (Bit Per Pixel).

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Structure du format BMP, sa lecture, sa construction et son écriture

A- Observez la vidéo A présentant le fonctionnement de deux objets techniques que nous

Les images et les animations sur le web. Guérineau Chloé BTS2 Année 2001/2012

INFO 2 : Traitement des images

Ni tout noir, ni tout blanc Consignes Thème I - Observer

ScIn11 informatique Session d'appel, durée 1 heure, tous documents autorisés N'oubliez pas de reporter votre numéro d'anonymat :

FORMATS DE FICHIERS. Quels sont les différents types d informations numériques dans un document multimédia?

Les couleurs. Un peintre distrait a oublié les noms des couleurs de sa palette : tu peux l aider à reconstituer l ordre correct (de gauche à droite)?

Comprendre l Univers grâce aux messages de la lumière

Chapitre 18 : Transmettre et stocker de l information

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information

1S9 Balances des blancs

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Les bases de l étalonnage avec Adobe Premiere Pro Formation de Duduf

Géométrie discrète Chapitre V

Tuto pour connecter une source RVB RGB à un moniteur Commodore / Amiga

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Opérations de base sur ImageJ

Création de maquette web

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

UNE TECHNIQUE ÉPROUVÉE : LE ZONE SYSTEM

fiche m mo technique

FEN FICHE EMPLOIS NUISANCES

Gestion de gros fichiers binaires (images) en APL*PLUS III

Jean Dubuffet AUTOPORTRAIT II

Traitement d un AVI avec Iris

Comment faire passer un message

1. L ENTREPRISE 2. CARACTERISTIQUES ET DEROULEMENT DE LA PRESTATION CHARTE QUALITE 2.1. DEMARCHE VOLONTAIRE 2.2. REALISATION DE L AUDIT

Transmission d informations sur le réseau électrique

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Le poids et la taille des fichiers

Guide d utilisation des fichiers bonus accompagnant le guide «L Argent est une science exacte»

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Chapitre 02. La lumière des étoiles. Exercices :

Initiation à linfographie

Codage d information. Codage d information : -Définition-

Représentation des Nombres

7. Exemples de tests pour détecter les différents troubles de la vision.

Créer des étiquettes avec les adresses d'un tableau Calc

Problèmes de dénombrement.

IMAGINEZ UNE NOUVELLE FACON DE PEINDRE!

L'astrophotographie au Cercle

Fiche pédagogique : ma famille et moi

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Exercices de dénombrement

Comment utiliser les générateurs de mots clés?

TP Modulation Démodulation BPSK

Tutoriel BLOGGER. Pour vous donner une idée, voici un exemple de blog :

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

COMMENT CREER VOS BANDES GRAND FORMAT?

Q6 : Comment calcule t-on l intensité sonore à partir du niveau d intensité?

1. Installation de COMPTINE

Choisir entre le détourage plume et le détourage par les couches.

Petit memo rapide pour vous guider dans la gestion des engagements de vos compétitions FFM

Mode operatoire Reseau pedagogique

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Saisie de la déclaration de cotisations FSPOEIE

Sous réserve de modifications techniques et des disponibilités, fabrication française.

ht t p: // w w w.m e di al o gis.c om E - Ma i l : m ed i a l og i m e di a l o g i s. c om Envoi des SMS

Pack Fifty+ Normes Techniques 2013

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

VOS PREMIERS PAS AVEC TRACENPOCHE

Conversion d un entier. Méthode par soustraction

Le projet de révision du Règlement sur l éclairage extérieur de la Ville de Sherbrooke. 11 décembre 2012

MODE OPERATOIRE CIEL GESTION COMMERCIALE VERSION EVOLUTION BTS PME PMI

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

Programmation C. Apprendre à développer des programmes simples dans le langage C

I. Cas de l équiprobabilité

Les séries. Les pictos sont répartis en plusieurs séries ayant chacune ses propriétés et ses emplois.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Clé USB. Quel type de données peut contenir une clé USB?

MANUEL TBI - INTERWRITE

AC PRO SEN TR «services TCP/IP : WEB»

Transcription:

Traitement des images numériques TP 5 : Images couleur Université Paris 13, Institut Galilée Master Ingénierie et Innovations en Images et Réseaux - 1ère année 2015-2016 Consignes Récupérer le fichier TP5zip sur le site http://wwwlaurentoudrefr/tinhtml Ouvrir MATLAB et créer un répertoire de travail Dézipper le fichier TP5zip dans ce répertoire A la fin de la séance, récupérer les scripts que vous avez écrits et les envoyer par e-mail au chargé de TP ainsi qu à vous même afin de les conserver pour la prochaine séance Rendu Trois fichiers : TP5Partie1m, TP5Partie2m et TP5Partie3m Chaque fichier doit contenir votre nom, votre prénom et la date Compte-rendu à rendre d ici la semaine prochaine, contenant les observations, commentaires et réponses aux questions Le compte rendu doit contenir votre nom et votre prénom Plan de l étude 1 Représentation RGB 2 11 Rappels de cours 2 12 Etude sous MATLAB 3 121 Images synthétiques 3 122 Images naturelles 3 2 Chrominance, luminance et espace couleur 4 21 Rappels de cours 4 22 Etude sous MATLAB 5 Laurent Oudre, Gabriel Dauphin, Azeddine Beghdadi 1

1 Représentation RGB 11 Rappels de cours La représentation la plus courante pour les images couleur est la représentation RGB (R : red, G : green, B : blue) Une image couleur est représentée non pas par une matrice, mais par trois matrices, représentant respectivement l intensité en rouge, vert et bleu Les écrans d ordinateurs reconstituent les différentes couleurs par synthèse additive à partir de ces trois couleurs primaires Si l image est quantifiée sur 8 bits, alors chacun des pixels des trois matrices peut prendre des valeurs comprises entre 0 et 255 Sous MATLAB, une image couleur est représentée par une matrice en 3D, n ayant plus uniquement deux indices m et n, mais trois indices m, n et c (pour couleur) Une image couleur g de dimension M N s écrira donc : g(:,:,1) = g(1,1,1) g(1,n,1) g(1,1,2) g(1,n,2) g(:,:,2) = g(m,1,1) g(m,n,1) g(m,1,2) g(m,n,2) g(1,1,3) g(1,n,3) g(:,:,3) = g(m,1,3) g(m,n,3) La composante g(:,:,1) correspond à la couleur rouge, g(:,:,2) à la couleur verte et g(:,:,3) à la couleur bleue Les commandes MATLAB déjà utilisées pourront être adaptées facilement de la façon suivante : Pour créer une matrice 3D sous MATLAB, on pourra utiliser les commandes suivantes : X = zeros(m,n,3); % Cree une matrice de taille M x N x 3 ne contenant que des 0 % M : nombre de lignes % N : nombre de colonnes % 3 : nombre de composantes couleur X = ones(m,n,3); % Cree une matrice de taille M x N x 3 ne contenant que des 1 Pour afficher une image couleur sous MATLAB, on utilisera la commande suivante Attention, on fera attention de bien renormaliser l image avant de l afficher (comme les images en niveau de gris) figure % Cree une nouvelle figure imshow(x/255) % Affiche l'image X 8-bits (renormalisee) Pour modifier les valeurs d une matrice 3D sous MATLAB, on peut utiliser selon les cas : X(3,10,:)=0; % Le pixel appartenant a la ligne 3 et a la colonne 10 % est mis a 0 sur toutes les composantes couleur X(4,:,2)=0; % Tous les pixels appartenant a la ligne 4 % sont mis a 0 uniquement sur la composante verte X(:,3:8,:)=0; % Tous les pixels appartenant aux colonnes de 3 a 8 % sont mis a 0 sur toutes les composantes couleur X(5:9,6:10,1)=0;% Tous les pixels appartenant a la fois aux lignes de 5 a 9 et % aux colonnes de 6 a 10 sont mis a 0 sur la composante rouge Pour convertir une image couleur en image en niveaux de gris, on peut utiliser la commande rgb2gray : % X : image couleur Y = rgb2gray(x); % Y : image en nuances de gris Laurent Oudre, Gabriel Dauphin, Azeddine Beghdadi 2

12 Etude sous MATLAB 121 Images synthétiques R G B Couleur 1 255 0 0 Couleur 2 0 255 0 Couleur 3 0 0 255 Couleur 4 255 255 0 Couleur 5 0 255 255 Couleur 6 255 0 255 Couleur 7 255 255 255 Couleur 8 0 0 0 Couleur 9 30 30 30 Couleur 10 200 200 200 Couleur 11 255 165 0 Couleur 12 139 69 19 1 Créer sous MATLAB un script vide nommé TP5Partie1m 2 Créer 12 images couleur 8-bits X1, X2,, X12 de taille 200 300, unies, et dont la couleur est définie par le code RGB donné dans le tableau ci-dessus Les afficher, et noter pour chacune d entre elle à quelle couleur elle correspond 3 A partir de ces observations, et de ce qui a été fait au TP1, créer une image couleur 8-bits Y1 de taille 200 300 représentant un carré jaune sur fond rouge (le carré sera situé vers le milieu de l image) L afficher 4 Créer une image couleur 8-bits Y1 de taille 200 300 représentant une croix orange sur fond bleu (la croix sera située vers le milieu de l image) L afficher 122 Images naturelles 1 Créer sous MATLAB un script vide nommé TP5Partie2m 2 Ouvrir l image autumntif et la stocker dans une matrice X Quelle est sa taille? Sur combien de bits est-elle codée? Afficher l image 3 Afficher d abord la composante rouge de l image, puis la composante verte, et enfin la composante bleue Commenter 4 Comment faire pour afficher la composante rouge non pas en nuances de gris, mais en rouge? Afficher la composante rouge en rouge 5 Quel est le code RGB de la couleur du ciel? Pour le savoir il suffit de regarder la valeur stockée par exemple dans le pixel (m,n) = (1,1) Mettre ce code dans un vecteur (de dimension 3) qu on appellera ciel 6 Nous allons modifier ce ciel, qui est de couleur grise, pour lui donner une belle couleur bleue! Pour cela, nous allons sélectionner tous les pixels de l image ayant des couleurs proches de celles stockées dans le vecteur ciel, et modifier leur couleur (a) Nous allons sélectionner tous les pixels ayant une couleur située à une distance euclidienne avec la couleur ciel inférieure à un seuil T Cela revient à calculer des distances euclidiennes entre des vecteurs de dimension 3 Nous allons créer une image binaire booléenne Y bin (noir et blanc) : les zones blanches correspondent aux pixels sélectionnés, et les zones noires aux zones hors sélection Afficher Y bin pour différentes valeurs de T jusqu à ce que tous les pixels correspondant au ciel soient sélectionnés Pour sélectionner tous les pixels dont la couleur (vecteur de dimension 3) est située à une distance euclidienne inférieure à T, par rapport à une couleur de référence [r,g,b], on peut utiliser la commande : % X : Image couleur sur 8 bits % [r g b] : couleur de reference % T : seuil Y bin = (sqrt(abs(x(:,:,1)- r)ˆ2 +abs(x(:,:,2)-g)ˆ2 + abs(x(:,:,3)-b)ˆ2) < T); Laurent Oudre, Gabriel Dauphin, Azeddine Beghdadi 3

(b) Stocker les composantes rouge, verte et bleue de X respectivement dans des matrices R, G et B (c) Mettre les pixels définis par Y bin dans l image R à la valeur r = 173 Faire la même chose pour G et B avec respectivement les valeurs g = 216 et b = 230 7 Reconstruire une image Y formée des composantes RGB stockées dans R, G et B Afficher Y : le ciel est maintenant bleu! 2 Chrominance, luminance et espace couleur 21 Rappels de cours Il arrive que la représentation RGB ne soit pas la plus pertinente pour représenter une image couleur C est notamment le cas du filtrage, où le filtrage individuel de chaque composante couleur ne donne pas nécessairement un bon rendu visuel sur l image finale On définit donc d autres espaces couleur qui reviennent à projeter les composantes RGB sur trois autres composantes(ne correspondant plus nécessairement à des couleurs primaires) Il existe différents espaces couleur dans lesquels cette transformation peut se faire selon les applications (image, vidéo, vidéo HD, etc), mais dans tous les espaces, il y deux composantes que l on appelle chrominance, qui comportent une information sur la teinte et la saturation (proportion de blanc), et une composante que l on appelle luminance, qui peut être vue comme une conversion en nuances de gris de l image couleur, et qui rend compte des zones sombres ou claires On s intéresse ici à l espace de représentation YCbCr full-range, qui est utilisé pour la représentation JPEG des images couleurs Au lieu de représenter une image 8-bits avec une composante rouge, une composante verte et une composante bleue, les trois composantes utilisées sont les suivantes : La composante Y, correspond à la luminance, il s agit d une conversion de l image couleur en une image en nuances de gris On peut donc traiter cette composante exactement comme on le faisait avec les images en nuances de gris (filtrage, représentation de Fourier, etc) Si l on avait dans l image originelle trois composantes R, G et B, on a : Y 03R+06G+01B La composante Cb correspond à la chrominance bleue qui est calculée comme étant la composante bleue moins Y (multiplié par une constante) : où λ b 06 est une constante Cb = λ b (B Y) La composante Cr correspond à la chrominance rouge qui est calculée comme étantla composante rouge moins Y (multiplié par une constante) : où λ r 07 est une constante Cr = λ r (R Y) Comme on veut que Cb et Cr aient des valeurs entre 0 et 255 (pour pouvoir les coder de la même façon que la composante Y), on rajoute en général un terme constant égal à 128 pour s assurer que ce soit le cas On obtient finalement le triplet (Y,Cb,Cr) à partir du triplet (R,G,B) par le système d équations suivant : Y 0 0299 0587 0114 R Cb = 128 + 0169 0331 0500 G Cr 128 0500 0419 0081 B Ce système garantit que si l image couleur dans la représentation RGB prend des valeurs entre 0 et 255, alors sa représentation dans la représentation YCbCr prend également des valeurs entre 0 et 255 Notons qu il est parfaitement possible d inverser ce système d équation pour retrouver R, G et B, à partir de Y, Cb et Cr Il existe d autres représentations YCbCr pour la télévision standard (SDTV) et pour la télévision HD (HDTV) Ce système de transmission et de codage de la couleur été nécessaire pour plusieurs raisons : Assurer une restitution de la couleur plus fiable Le signal Y, bien que noir et blanc, contient en effet toutes les infos pour les trois couleurs, et Cb et Cr étant des différences par rapport à Y, une valeur de soustraction erronée entre Y et Cr ou Cb (en cas de problème de transmission) permet de rectifier plus aisément le tir Dissocier l information en noir et blanc Y de l information en couleurs Cb et Cr afin de diminuer la définition de la couleur seule, tout en restant en deçà de la perception visuelle humaine En effet, l oeil humain est plus sensible à la luminance qu à la chrominance Il est par conséquent possible de dégrader la chrominance d une image tout en gardant une bonne qualité Laurent Oudre, Gabriel Dauphin, Azeddine Beghdadi 4

22 Etude sous MATLAB 1 Créer sous MATLAB un script vide nommé TP5Partie3m 2 Ouvrir l image mandrilltif, la stocker dans une matrice X rgb et la renormaliser Afficher l image 3 Convertir l image (en RGB) en YCbCr grâce à la fonction my rgb2ycbcrm fournie et stocker le résultat dans une matrice X ycbcr Afficher sur la même figure la composante Y, la composante Cb et Cr Commenter La fonction my rgb2ycbcrm prend en entrée une image couleur renormalisée et renvoie une image dans l espace YCbCr renormalisée (tous les coefficients sont compris entre 0 et 1) X ycbcr = my rgb2ycbcr(x rgb); 4 Stocker la composante Y dans une matrice Y, la composante Cb dans une matrice Cb, et la composante Cr dans une matrice Cr Nous allons tenter l expérience suivante : nous allons dégrader de façon volontaire les composantes de chrominance, et garder telle quelle la composante de luminance, et voir quelles sont les conséquences sur l image reconstituée (a) Pour cela, commencer par remettre les valeurs de Cb et Cr entre 0 et 255 (b) Puis, quantifier les matrices Cb et Cr sur 2 bits Etant donné une image quantifiée sur b1 bits, on peut utiliser la commande suivante pour la re-quantifier sur b2 bits X = floor(x / 2ˆ(b1-b2)); % Quantification de b1 bits vers b2 bits % floor permet de calculer la partie entiere d'un nombre (c) Enfin, remettre les valeurs de Cb et Cr entre 0 et 1 (d) Construire ensuite une matrice 3D Z ycbcr ayant Y comme composante Y et Cb et Cr comme composantes Cb et Cr (e) Reconstruire grâce à la fonction my ycbcr2rgbm fournie une image RGB Z rgb Afficher sur la même figure X rgb et Z rgb Commenter (f) Essayer de quantifier Cb et Cr sur 4 bits et observer le résultat Commenter Laurent Oudre, Gabriel Dauphin, Azeddine Beghdadi 5