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



Documents pareils
TD : Codage des images

Formats d images. 1 Introduction

Cours de numérisation sur Epson Perfection

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

nom : Collège Ste Clotilde

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

Projet Matlab : un logiciel de cryptage

TP SIN Traitement d image

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

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

Les images numériques. 1. Le dessin vectoriel

Initiation à linfographie

Création de maquette web

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

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

Manuel Utilisateur Version 1.6 Décembre 2001

INFO 2 : Traitement des images

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

Optimisation et formats d images standards pour le Web Par Thierry Goulet Web Designer, ministère de la Sécurité publique. Plan de conférence

4/10. ext. MODE MODE. graphique. format ENREGISTREMENT. graphique 6/10 4/10 6/10. Cours E.Faÿs

Maintenir un service de traitement de son ou d image d ordinateur

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

Fonction Memory Viewer

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

Optimiser les images pour l affichage sur votre site

Comment optimiser dans ImageReady?

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

Logiciel ArpentGIS-PC Guide de l utilisateur

Comment échanger des données (fichiers) en format «STANDARD» lisibles par tous, quelque soit le programme et la version utilisés

Formats de fichiers adaptés à l'archivage électronique à moyen et long terme

Synthèse d images Edmond Boyer

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

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

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

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Chap17 - CORRECTİON DES EXERCİCES

Formats de fichiers pris en charge

1.1 L EXPLORATEUR WINDOWS

Utiliser le logiciel Photofiltre Sommaire

Conversion d un entier. Méthode par soustraction

Leçon N 5 PICASA Généralités

COPY. Picture Style Editor Ver. 1.4 MODE D EMPLOI. Logiciel de création de fichiers de style d image. Contenu de ce mode d emploi

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

Le codage informatique

Création d un fichier html depuis PowerPoint dimanche 11 mai 2008

GESTION DU LOGO. 1. Comment gérer votre logo? Format de l image Dimensions de l image Taille de l image 9

TP : Gestion d une image au format PGM

1 Introduction au codage

Comment obtenir des ebooks sur le Reader

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Bernard Lecomte. Débuter avec HTML

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

Comment intégrer des images dans un texte

Logiciel (Système d impression directe)

Fête de la science Initiation au traitement des images

Plusieurs utilisateurs peuvent maintenant imprimer des étiquettes grâce à la connexion Wifi de la QL-710W

Usage des photos pour Internet et pour la presse

MANUEL SUR L INFORMATION ET LA DOCUMENTATION EN MATIÈRE DE PROPRIÉTÉ INDUSTRIELLE. Réf. : Normes ST.35 page : NORME ST.35

Traitement bas-niveau

Avertissement. La Gestion Electronique de Documents

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

EDIGRAPH CLASSIC GUIDE D'INSTALLATION. Installation Page 2 sur 15. SOGEDEX Parc d Activités de Pissaloup, 4, rue Edouard Branly, Trappes

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version

Single User. Guide d Installation

Support de formation Notebook

Catégories de format d'optimisation

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Software BMS Graf pro. Mode d emploi Version 7.x.x.x

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

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

Générer un PDF avec polices incorporées

Matériel & Logiciels (Hardware & Software)

2013 Pearson France Adobe Illustrator CC Adobe Press

Cours Informatique 1. Monsieur SADOUNI Salheddine

Créer le schéma relationnel d une base de données ACCESS

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

iproof-x & LF Guide de l Utilisateur pour Imprimantes à Jet d encre Epson

Utilisation de l'outil «Open Office TEXTE»

Support de formation pour l'installation d'un logiciel gratuit de retouche d'images et gestion de la qualité, taille et format des images :

PHPWEBSITE -Tutoriel image

Opérations de base sur ImageJ

Modules Multimédia PAO (Adobe)

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

PR OC E D U RE S D E B A S E

Fiches d aide à l utilisation

Infolettre #18 : Les graphiques avec Excel 2010

Des outils numériques simples et conviviaux!

MÉDICLICK! STUDIO 3 DOCUMENT CENTER : MAILCLICK! SOMMAIRE

ELO Office / Pro Les avantages : Archivage et gestion documentaire

Mode d emploi SY-A308/ME-0308

L alternative, c est malin 1. Comment faire plein de choses pour pas cher sur MacIntosh

Localisation des fonctions

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

Formation tableur niveau 1 (Excel 2013)

1 Comment faire un document Open Office /writer de façon intelligente?

L espace de travail de Photoshop

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

FinePixViewer Guide de l utilisateur for Macintosh

Transcription:

Structure du format BMP, sa lecture, sa construction et son écriture Claude Parisel Mars 2003 Table des matières : 1. Le choix du format 2. Commentaires sur les autres formats 3. Format BMP pour noir&blanc, 8 bits 4. Structure des fonctions informatiques 4.1. La lecture d un fichier BMP 4.2. L écriture d un fichier BMP 4.3. La construction d un fichier BMP

1. Le choix du format Il y a deux formats que l on peut qualifier de «natif» selon le système d opération : Le format PICT de Macintosh est le format standard, orienté objet, de toutes les applications sur les Macs. Un BitMap est un des objets possibles d un fichier PICT, les autres étant du texte, des lignes, des régions, des patterns de remplissage, et ainsi de suite. Tous les programmes qui utilisent du graphique sur Macintosh peut utiliser des fichiers PICT, mais ce ne sont pas tous les programmes qui permettent d éditer les divers objets d un fichier PICT. Le format BMP est l équivalent, le format natif du IBMpc utilisé par Microsoft Window3.1 et plus. Mais se limite au bitmap lui-même. Les fichiers BMP sont enregistrés dans un format DIB indépendant des appareils d affichage (device-independent bitmap ). Ceci veut dire que le bitmap spécifie la couleur du pixel dans une forme indépendante de la méthode utilisée par l afficheur pour représenter la couleur. Le logiciel ASRIX que nous utilisons déjà pour redresser des photos de surfaces planes utilise le format BMP en 8 bits (256 gris) et les fonctions que nous avons développées font de même. Il est à noter que les programmes MS-DOS n utilisent pas le format PICT alors que ceux du Macintosh ne peuvent pas utiliser le format BMP. Comme on n avait qu a traiter des images et non d autres types d objets,et comme Asrix l utilise déjà, on a opté pour le format BMP, le plus simple, le plus standard et le plus répandu. 2. Commentaires sur les autres formats GIF Le format de CompuServ graphics utilise la compression LWZ et supporte des images noir et blanc (1bit) à celles 8bits couleur ou gris. C est un des formats très utilisés sur World Wide Web (WWW) pour les documents qui utilisent des fichiers graphiques. TIFF Le format TIFF est celui qui a le plus de variantes : Noir et blanc, palette de gris, couleur 24 bits, palette de couleur (4-bits et 8-bit). Les fichier TIFF supportent la compression utilisant LZW, PackBits, et CCITT. Pour compliquer le sujet, il y a deux systèmes de bytes de supporté : 'II' (Intel) and 'MM' (Motorola) JPEG C est un format créé pour conserver des images couleur sans modification. Il a un très bon taux de compression mais ne décompresse pas exactement comme avant la compression. Il est fait pour conserver des images qui ne sont plus à rééditer. WMF Le format Window Meta File est la version de Microsoft du format PICT de Macintosh et peut contenir des objets comme des lignes, des cercles et ainsi de suite. Les WMF ont une entête spéciale définie par Aldus Corp. Pour permettre aux applications de lire, mettre à l échelle et dessiner les fichiers WMF.

EPSF Les fichiers PostScript encapsulés sont des programmes spéciaux postscript avec une entête particulière décrivant la forme de l image et la manière de la situer dans une page. Elle permet aux diverses applications d inclure, de tourner, de mettre à l échelle et de placer correctement une image dans son document pour impression ou affichage sur des appareils postscript.

3. Format BMP pour noir&blanc, 8 bits Le fichier se décompose en 4 parties dans l ordre : L entête du fichier (FileHeader) L entête du Bitmap (BitMapHeader) Une palette de couleur (pour les images d au plus 256 couleurs soit 8 bits par pixels) Les données du BitMap Entête du fichier : BMP_fileType db BM ; Toujours BM BMP_FileSize dd? ; taille du fichier (1078 + 1024 + bitmap) BMP_Reserved dd 0 ; toujours à zéro BMP_BitMapOffset dd? ; offset de l image : toujours 1078 ; place du premier octets du BitMap dans le fichier Entête du BitMap: BMP_HeaderSize dd? ; Taille de l entête en octets. En fait type de système ; Valeurs: [40] : Window 3.1, 95, NT,.. [12] : OS2.1 [240] : OS2.2 BMP_Width dd? ; Largeur de l image en pixels BMP_Height dd? ; Hauteur de l image en pixels BMP_Planes dw 1 ; Nombre de plans utilisés, toujours 1 BMP_BitsPerPixel dw? ; Nombre de bits par pixels ; Valeurs possibles : 1, 4, 8, 16, 24, 32. (toujours 8 en ce qui nous concerne) BMP_Compression dd? ; Méthode de compression ; toujours 0 pour pas de compression 1, 2, 3 pour le type de compression BMP_SizeOfBitMap dd? ; Taille de l image en octects ; toujours zéro s il n y a pas de compression BMP_HorzResolution dd? ; Résolution Horizontale en pixels par mètre. 2834 BMP_VertResolution dd? ; Résolution verticale en pixels par mètre. 2834

BMP_ColorsUsed dd? ; Nombre de couleurs dans la palette. ; Si BitPerPixel <= 8 alors toujours 0 pour palette entière BMP_ColorsImportant dd? ; Nombre de couleurs importantes. BMP_xxxMask dd? ; Ensemble de masques pour les modes de plus de 8 bits par pixels ; informent sur la répartition en rouge, vert, bleu et alpha sur les bits pour chaque pixel. ; Information jamais présente. La palette : Les couleurs sont codées sur 4 octets : Bleu, Vert, Rouge et alpha (sur 8 octets, ordre inversé par rapport au RGB). La palette n est présente que pour les images d au plus 256 couleurs. En gamme de gris, les valeurs sont de 00 00 00 00 à FF FF FF 00 ( ou 256 valeurs, de 0 à 255, pour le RGB). La palette a donc 256 fois 4 octets soit 1024 octets. Le BitMap : L image est codée de la dernière ligne à la première, de gauche à droite. La largeur de l image en octets est toujours un multiple de 4. Si ce n est pas le cas, la fin de la ligne est complétée avec de zéros. Les pixels sont stockés bits à bits : Pour un 256 couleurs ou grisés, un octet décrit un pixel et un octet est représenté par un caractère ayant la valeur ascii du pixel. Le codage : Db : Valeur alphabétique décrite directement en octets ou caractères Dx : Valeur numérique décrite par deux caractères ou octets Dd : Valeur numérique décrite par quatre caractères ou octets. Traitement requis pour interpréter les valeurs de type dx et dd: Soit 4 caractères : -> 6... (les points affichent des caractères non illustrables comme le CHR de 4 ou le CHR de 0 c est à dire NULL) Traduction des caractères selon leur valeur décimale ascii -> 54 04 00 00 Traduction des valeurs décimales en valeurs hexadécimales. -> 36 04 00 00 Renversement des 4 octets. -> 00 00 04 36 Valeur hexadécimale obtenue par concaténation -> 436 Traduction de la valeur hexadécimale en valeur décimale -> 1078

4. Structure des fonctions informatiques Un fichier BMP de 1000 x 1000 génère déjà 1000,000 d octets de données. La transformation recherchée demande d avoir en mémoire l information propre à une image et de construire à partir de là une autre image de même nature. C est pourquoi on a choisi de construire des fichiers intermédiaires qui seront utilisés dans la dernière opération : Lecture d un fichier BMP et écriture de la matrice de pixels sous la forme d une liste de lignes de pixels. XXX.BMP -> XXX.TXT Création d une base d information pour la construction d une nouvelles images comprenant ce qu il faut pour faire les transformations entre l image à construire et l image existante. Modèle Autocad -> XXX.DAT Création d une ortho image à partir de la photo. XXX.TXT + XXX.DAT -> ORTHO-XXX.TXT Écriture d un fichier BMP ORTHO-XXX.TXT -> ORTHO-XXX.BMP 4.1. La lecture d un fichier BMP Programme R-BMP.scm (ou BMP.lsp) Ce programme lit un fichier BMP noir et blanc, 8 bits, mode Window 3.1 et plus, et écrit sa matrice de pixels dans un fichier de nom identique avec l extension TXT. Exemple : Fichier lu: Test.bmp Fichier écrit : Test.txt Variables calculées : ent pour entête, pal pour palette de couleur, dat pour matrice de pixels. Le programme écrit les données de la variable dat dans le fichier texte et affiche les données de la variable ent. Exemple d affichage: (BM 346678 0 1078 40 480 720 1 8 0 21600 0 0 0 0) Exemple d écriture : ((153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 141 38 47 50 51 53 53 54 54 55 55 56 57 57 58 58 59 59 60 60 61 62 62 63 63 63 64 64 65 66 66 67 67 67 67 67 67 68 68 68 68 69.153 153 153) (153 153 153 207 207 207 207 207 207)) La fonction utilise les sous-programmes scheme suivants : LECT-PART R-CAR (read caractère) R-PIX (read pixel) 4.2. L écriture d un fichier BMP Programme W-BMP.scm Cette fonction lit un fichier de type *.TXT, comprenant une matrice de pixels dont le format est généré par la fonction R- BMP ou une fonction de transformation et l écrit sous le format BMP. Il génère l entête, la table de couleur et codifie la matrice de pixels. La fonction utilise le sous-programme scheme suivant : W-NB (write number)

4.3. La construction d un fichier BMP pour les cônes Programme [MAKE-BMP.scm] Cette opération se fait en trois étapes et commence avec le programme lisp [GET-BMP.lsp], qui permet de saisir l ensemble des informations nécessaires à la construction du développement d un cône, à savoir : L information sur la photo du cône, sur le modèle 3D photographié et sur le développement de sa surface ainsi que ce qui est nécessaire au passage de l un à l autre et à la fabrication de l ortho image. Cette fonction LISP écrit un fichier XXX.dat. Le programme [MAKE-BMP.scm] récupère les données générées par la fonction [GET-BMP.lsp] en lisant le fichier XXX.dat ainsi que la matrice de pixels de la photo originale en lisant le fichier XXX.txt. Il ouvre un fichier ORTHO-XXX.txt dans lequel il écrit les valeurs des pixels de l image calculée. En dernier on utilisera la fonction [W-BMP.scm] pour transformer ce fichier ORTHO-XXX.txt en ORTHO- XXX.bmp, fichier lisible par les logiciels d affichage d image raster. elle calcule PT2D, la position géométrique (x,y) du milieu du pixel [pix-pt2d] Elle calcule PT3D, la position de PT2D sur le modèle normalisé du cône [pt2d-pt3d]. Elle calcule PT2D, la position géométrique de la perspective de PT3D sur la photo de la colonne [pt3dpt2d]. Elle calcule PIX, l indice du pixel correspondant à PT2D sur la photo [pt2d-pix]. Elle lit alors la valeur du pixel de la photo et l assigne au pixel de l image à calculer. On obtient donc un fichier ORTHO-XXX.txt de la matrice des pixels de l image à calculer, dont il ne reste qu à mettre en format BMP avec [W-BMP.scm]. 5.4. Intégration de l image L image générée est alors intégrée à l environnement de travail sur Autocad, localisée et mise à l échelle dans la fenêtre sur le développement de la surface du cône. Tout est prêt alors à faire le relevé à plat en vraie grandeur. Pour faire la transformation, la fonction [MAKE-BMP.scm] procède en plusieurs étapes : Elle balaye tous les pixels de l image à calculer de la dernière ligne à la première du pixel de gauche à celui de droite pour chaque ligne. Pour chaque pixel :