TABLEAUX ET IMAGES AU FORMAT MATRICIEL

Documents pareils
Formats d images. 1 Introduction

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

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

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

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

TP : Gestion d une image au format PGM

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

TP SIN Traitement d image

Chap17 - CORRECTİON DES EXERCİCES

TD : Codage des images

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

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

Voici quelques-unes des questions auxquelles répond cette présentation.

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

1 Représentation d une image

Synthèse d images Edmond Boyer

Les images numériques. 1. Le dessin vectoriel

Projet Matlab : un logiciel de cryptage

Python - introduction à la programmation et calcul scientifique

Aide - mémoire gnuplot 4.0

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

Cours 7 : Utilisation de modules sous python

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

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

Pop-Art façon Roy Liechtenstein

PHOTOSHOP - L'AFFICHAGE

Atelier n 12 : Assistance à distance

Traitement bas-niveau

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

Choisir le mode d envoi souhaité. Option 1 : Envoyer un SMS à un nombre réduit de numéros (0 10 )

INFO 2 : Traitement des images

TP 1. Prise en main du langage Python

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

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

NOM DE L ELEVE :.. Dossier à rendre complété avant le 16 Mars 2015 (afin de vous éviter le temps des formalités lors de la pré-rentrée).

GUIDE PRATIQUE DE L INDEXEUR : LES PRINCIPES DE L INDEXATION COLLABORATIVE

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

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

Débuter avec Easyweb B

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Utilisation du logiciel Epson Easy Interactive Tools

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

Guide de démarrage rapide. (pour la version 5.0.)

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)

Chapitre 18 : Transmettre et stocker de l information

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

Fête de la science Initiation au traitement des images

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

S.P.S.N. Lac du Der 2008

F o r m a t i o n. M a i s o n d e l a. Catalogue des formations. E s p a c e P u b l i c N u m é r i q u e. domaine numérique

Cours de numérisation sur Epson Perfection

Open-Sankoré. Mise en route. Guide utilisateur Février 2013 NTICE (E. S.)

- A confirmer selon quantité, nombre de couleurs et ou technique de marquage et valeur hebdomadaire de la mémoire flash.

Chapitre 13 Numérisation de l information

Vos outils CNED COPIES EN LIGNE GUIDE DE PRISE EN MAIN DU CORRECTEUR. 8 CODA GA WB 01 13

Géométrie discrète Chapitre V

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Exercice : la frontière des portefeuilles optimaux sans actif certain

Modules Multimédia PAO (Adobe)

L infographie pour la sérigraphie artisanale

Optimisation, traitement d image et éclipse de Soleil

Formats de fichiers pris en charge

FEN FICHE EMPLOIS NUISANCES

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

Outils permettant la diffusion de l information. Un point sur le droit numérique

Entreprises Suisse. Rentrées de paiements CREDIT SUISSE BVRB Expert Documentation technique

Cours Excel : les bases (bases, texte)

Indications pour une progression au CM1 et au CM2

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

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

WHS ProRealTime. édition

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Réf. : Normes : ST.10/C page : NORME ST.10/C PRÉSENTATION DES ÉLÉMENTS DE DONNÉES BIBLIOGRAPHIQUES. Note du Bureau international

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Initiation à linfographie

UTILISER UN SITE COLLABORATIF

Se repérer dans l écran de Foxmail

Utiliser le logiciel Photofiltre Sommaire

Limites finies en un point

MANUELS NUMÉRIQUES PROCÉDURE DE TÉLÉCHARGEMENT

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Catégories de format d'optimisation

Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?

Europresse.com. Pour bibliothèque d enseignement Pour bibliothèque publique. Consulter facilement la presse. Guide version 1.

Création de maquette web

CEGID - Business Suite Gestion commerciale

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

Utilisation du logiciel ImageJ gratuit

L import : Mise à jour rapide de votre catalogue

Découverte de Python

Ordonnance du DFJP sur les documents d identité des ressortissants suisses

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

SQL MAP. Etude d un logiciel SQL Injection

Utilisation du visualiseur Avermedia

L interface Outils, palettes, règles, repères, grille Paramétrer les préférences

Eternelle question, mais attention aux arnaques Question qui est souvent mise en premier plan => ce n est pas une bonne idée

Support de formation Notebook

Transcription:

CHAPITRE 9 TABLEAUX ET IMAGES AU FORMAT MATRICIEL Pour définir une image à l aide de l outil informatique, une méthode consiste à considérer celleci comme une juxtaposition de points de couleurs, appelés pixels (pour «picture elements»). Ainsi, on représente une image sous la forme d un tableau (ou matrice) donnant la couleur de chaque pixel : ce format d image est appelé bitmap signifiant «carte de points». 1 Gestion de tableaux en python 1.1 Tableau donné par la liste de ses lignes Pour définir un tableau en python, on le donne sous la forme de la liste de ses lignes, chaque ligne étant elle-même une liste. Exemple. On souhaite définir le tableau suivant avec python : 2 5 8 1 4 9 0 3 7 6 4 1 0 2 5 3 7 9 6 8 2 8 3 9 1 7 6 0 4 5 On écrira donc tableau=[[2,5,8,1,4,9,0,3,7,6],[4,1,0,2,5,3,7,9,6,8],[2,8,3,9,1,7,6,0,4,5]] Pour une meilleure lisibilité, on pourra présenter celui-ci de la manière suivante : tableau=[[2,5,8,1,4,9,0,3,7,6], [4,1,0,2,5,3,7,9,6,8], [2,8,3,9,1,7,6,0,4,5]] Ce tableau étant une liste, on pourra réaliser les opérations suivantes usuelles sur les listes. Attention : comme toujours, la numérotation commence à 0. Accéder à une ligne : tableau[i] renvoie la ligne numéro i. Accéder à un élément (cases) : tableau[i][j] renvoie l élément situé en ligne i et colonne j. Sous-tableau contenant les lignes allant de i à k : tableau[i:k+1] Nombre de lignes : len(tableau) Nombre de colonnes : len(tableau[0]) (nombre d éléments dans la première ligne) Extraire une colonne : il est moins facile d extraire une colonne. Pour cela (par exemple la colonne 3), on pourra extraire l élément numéro 3 de toutes les lignes puis en former une liste. Méthode la plus courte : colonne3=[ligne[3] for ligne in tableau] Attention : problème de la duplication d une liste On souhaiterait dupliquer une liste L. La méthode intuitive consiste à écrire : L=[1,2,3,4] L1=L Cepandant, dans ce cas, toute modification de L1 modifiera aussi la liste de départ. Cela crée simplement deux variables L et L1 pointant vers la même adresse mémoire. Essayons d autres méthodes. L2=L[:] L3=[i for i in L] Cette fois-ci les listes L3 et L4 sont dissociées de L : on peut les modifier sans incidence sur L Problème supplémentaire dans le cas des tableaux Un tableau est une liste de listes, donc les méthodes 2 et 3 vont encore poser problème car elles dupliquent naivement chaque ligne du tableau. Méthode possible : tableau2=[ligne[:] for ligne in tableau] 1

1.2 Utilisation de la bibliothèque numpy La bibliothèque numpy permet entre autre de manipuler des des tableaux/matrices et de réaliser des calculs sur ceux-ci. Pour charger la bibliothèque : import numpy. Les commandes spécifiques à numpy seront alors de la forme numpy.commande. Remarque : pour raccourcir les noms de commandes, on peut écrire, par exemple, import numpy as np et alors numpy sera abrégé en np. Les commandes seront donc de la forme np.commande. Commandes principales, avec l abbréviation np. Attention : la numérotation commence toujours à 0. Définition d un tableau/matrice : tableau=np.array(ligne1,ligne2,...), chaque ligne étant elle-même une liste. Accéder à un élément (cases) : tableau[i][j] ou tableau[i,j] renvoie l élément situé en ligne i et colonne j. Accéder à une ligne : tableau[i] ou tableau[i,:] renvoie la ligne numéro i. Accéder à une colonne : tableau[:,j] renvoie la colonne numéro j. Sous-tableau : tableau[a:b,c:d] renvoie le sous-tableau contenant les éléments entre les lignes a et b 1 et les colonnes c et d 1. Taille de la matrice : np.shape(m) renvoie (nombre de lignes, nombre de colonnes). Copie d un tableau : np.copy(tableau) Opérations terme à terme : A+B, A*B réalise la somme et le produit terme à terme. Pour le produit matriciel, utiliser np.dot(a,b) ou A.dot(B). Somme des éléments : np.sum(tableau) renvoie la somme de tous les éléments. np.sum(tableau,axis=0) renvoie un tableau avec la somme de chaque colonne. np.sum(tableau,axis=1) renvoie un tableau avec la somme de chaque ligne. Exemple. Le tableau suivant donne les résultats à un devoir de trois élèves. Question 1 2 3 4 5 6 7 8 9 10 Élève 1 2 5 8 1 4 9 0 3 7 6 Élève 2 4 1 0 2 5 3 7 9 6 8 Élève 3 2 8 3 9 1 7 6 0 4 5 Chaque question a été notée sur 10. On souhaite maintenant appliquer un coefficient à celles-ci pour obtenir la note sur 20. Voici la liste des coefficients. Question 1 2 3 4 5 6 7 8 9 10 Coefficient 0,2 0,1 0,25 0,2 0,15 0,3 0,2 0,1 0,2 0,3 Il s agit de calculer la note de chaque élève. import numpy as np notes=np.array([[2,5,8,1,4,9,0,3,7,6], [4,1,0,2,5,3,7,9,6,8], [2,8,3,9,1,7,6,0,4,5]]) coeffs=np.array([[0.2,0.1,0.25,0.2,0.15,0.3,0.2,0.1,0.2,0.3]]) 2

2 Images au format bitmap 2.1 Le format PBM Le format PBM (portable bitmap file format) est un format d images bitmap en noir et blanc. On peut très facilement définir une image au format PBM dans un fichier texte. Un tel fichier comprend : le préambule de l image dans lequel figurent : le nombre magique P1 : il indique le format (PBM ici). Il est suivi d un retour à la ligne ; la largeur de l image en pixels (en base 10) suivie d un espace ; la hauteur de l image en pixels (en base 10) suivie d un retour à la ligne. la trame de l image : celle-ci est décrite ligne par ligne, chaque pixel de la trame étant représenté par le caractère 0 (pour blanc) ou 1 (pour noir). Exemple. P1 # Un exemple bitmap de la lettre B 7 9 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 Remarque. Les espaces et les retours à la ligne figurant dans la trame ne sont pas pris en compte dans la construction de l image. On peut aussi faire des commentaires qui sont alors précédés d un # : ceux-ci ne seront pas, non plus, lus dans l image. Aucune ligne ne doit dépasser 70 caractères. 2.2 Le format PGM Le format PGM (portable graymap file format) est utilisé pour des images en niveaux de gris. La définition d une image au format PGM peut également se faire dans un fichier texte, qui contient : le préambule de l image dans lequel figurent : le nombre magique P2 indiquant le formet (ici PGM), suivi d un retour à la ligne ; la largeur de l image en pixels (en base 10) suivie d un espace ; la hauteur de l image en pixels (en base 10) suivie d un retour à la ligne ; la valeur maximale utilisée pour coder le gris (entre 0 et 255). la trame de l image : celle-ci est décrite ligne par ligne, chaque pixel de la trame étant représenté par un caractère compris entre 0 (pixel noir) et la valeur maximale précédemment indiquée (pixel blanc). Chaque niveau de gris est codé par une valeur entre ces deux extrêmes, proportionnellement à son intensité. Remarque. Le codage des différents pixels pouvant se faire à l aide de nombres s écrivant avec plus de deux chiffres, un caractère d espacement devra séparer deux valeurs de pixels. Les autres «particularités» du codage au format PBM restent valables en PGM : possibilité d écrire des commentaires, retour à la ligne non pris en compte, taille maximale d une ligne. 3

Exemple. P2 16 16 15 # niveaux de gris de 00( noir ) à 15( blanc ) 15 15 15 15 15 06 06 06 06 06 15 15 15 15 15 15 15 15 15 15 06 06 06 06 06 06 06 06 06 15 15 15 15 15 15 15 04 04 04 12 12 02 12 15 15 15 15 15 15 15 15 04 12 04 12 12 12 02 12 12 12 15 15 15 15 15 15 04 12 04 04 12 12 12 02 12 12 12 15 15 15 15 15 15 04 12 12 12 12 02 02 02 02 15 15 15 15 15 15 15 15 12 12 12 12 12 12 15 15 15 15 15 15 15 15 15 06 06 00 06 06 00 06 06 15 15 15 15 15 15 15 06 06 06 00 06 06 00 06 06 06 15 15 15 15 15 06 06 06 06 00 00 00 00 06 06 06 06 15 15 15 15 12 12 06 00 15 00 00 15 00 06 12 12 15 15 15 15 12 12 12 00 00 00 00 00 00 12 12 12 15 15 15 15 12 12 00 00 00 00 00 00 00 00 12 12 15 15 15 15 15 15 00 00 00 15 15 00 00 00 15 15 15 15 15 15 15 04 04 04 15 15 15 15 04 04 04 15 15 15 15 15 04 04 04 04 15 15 15 15 04 04 04 04 15 15 2.3 Format PPM Le format PPM (portable pixmap file format) est utilisé pour des images couleur. La définition d une image au format PPM se fait dans un fichier texte, qui contient : le préambule de l image dans lequel figurent : le nombre magique P3 indiquant le formet (ici PPM), suivi d un retour à la ligne ; la largeur de l image en pixels (en base 10) suivie d un espace ; la hauteur de l image en pixels (en base 10) suivie d un retour à la ligne ; la valeur maximale m utilisée pour coder les couleurs (entre 0 et 255). la trame de l image : celle-ci est décrite ligne par ligne, la couleur de chaque pixel est donnée en format RGB (rouge, vert, bleu) par trois nombres. Par exemple, 0 0 0 est un pixel noir, m 0 0 est un pixel rouge, 0 m 0 est un pixel vert, 0 0 m est un pixel bleu et m m m est un pixel blanc. 4

Exemple. P3 16 16 # taille de l image 255 # couleurs nuanc ées de 000 à 255 # ici, chaque ligne du fichier contient les informations de 4 pixels 255 255 255 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 255 255 255 255 255 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 255 255 255 255 255 255 255 255 070 035 000 070 035 000 070 035 000 254 203 125 254 203 125 000 000 000 254 203 125 255 255 255 255 255 255 255 255 255 255 255 255 070 035 000 254 203 125 070 035 000 254 203 125 254 203 125 254 203 125 000 000 000 254 203 125 254 203 125 254 203 125 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 070 035 000 254 203 125 070 035 000 070 035 000 254 203 125 254 203 125 254 203 125 070 035 000 254 203 125 070 035 000 254 203 125 254 203 125 254 203 125 254 203 125 070 035 000 070 035 000 070 035 000 070 035 000 255 255 255 255 255 255 255 255 255 255 255 255 254 203 125 254 203 125 254 203 125 254 203 125 254 203 125 254 203 125 255 255 255 255 000 000 255 000 000 000 000 255 255 000 000 255 000 000 000 000 255 255 000 000 255 000 000 255 255 255 255 255 255 255 255 255 255 000 000 255 000 000 255 000 000 000 000 255 255 000 000 255 000 000 000 000 255 255 000 000 255 000 000 255 000 000 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 000 000 255 000 000 255 000 000 255 000 000 000 000 255 000 000 255 000 000 255 000 000 255 255 000 000 255 000 000 255 000 000 255 000 000 255 255 255 255 255 255 255 255 255 255 255 255 254 203 125 254 203 125 255 000 000 000 000 255 255 194 014 000 000 255 000 000 255 255 194 014 000 000 255 255 000 000 255 255 255 255 255 255 254 203 125 254 203 125 254 203 125 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 254 203 125 255 255 255 255 255 255 254 203 125 254 203 125 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 000 000 255 255 255 255 255 255 255 000 000 255 000 000 255 000 000 255 255 255 255 255 255 255 255 255 255 070 035 000 070 035 000 070 035 000 255 255 255 255 255 255 255 255 255 255 255 255 070 035 000 070 035 000 070 035 000 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 070 035 000 070 035 000 070 035 000 070 035 000 255 255 255 255 255 255 255 255 255 255 255 255 070 035 000 070 035 000 070 035 000 070 035 000 255 255 255 255 255 255 5

3 Exercices d application (début du TP8) 1. Négatif d une image : À l aide de python (a) Ouvrir le fichier cercle.pbm en mode lecture. (b) Créer un nouveau fichier cercle_negatif.pbm dans lequel les pixels noirs seront devenus blancs et inversement. (c) Ouvrir la nouvelle image directement pour vérifier le résultat. 2. Définir un dégradé : À l aide de python (a) Créer un fichier degradé.pgm (b) Compléter le fichier pour qu il affiche un carré de 256 pixels de côté, chaque ligne étant d un niveau de gris variant progressivement (de 0 à 255). (c) Ouvrir l image directement pour vérifier le résultat. 3. Agrandir une image : comment pourrait-on créer l image de Mario (en noir et blanc) en 400x400 pixels (chaque pixel devvenant donc un carré de 25x25)? 6