Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Traitement d'une image Bitmap

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Autres questions
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
mathieu



Inscrit le: 17 Déc 2005
Messages: 6
Localisation: Bretagne, Morlaix

MessagePosté le: 22 Déc 2005 17:33    Sujet du message: Traitement d'une image Bitmap Répondre en citant

zaza

Dernière édition par mathieu le 23 Avr 2006 12:47; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ALS
Invité





MessagePosté le: 22 Déc 2005 17:56    Sujet du message: Re: Traitement d'une image Bitmap Répondre en citant

Bonjour, quelques éléments de réponse pour l'entête d'une image BMP codée en 8 bits:

Code:

> valeur:=proc(liste) local i,val:
# (renvoie la valeur décimale d'une grandeur encodée sur plusieurs bits)
>  val:=0:
>  for i from 1 to nops(liste) do
>    val:=val+liste[i]*256^(i-1):
>  od:
>  return val:
>  end:
> valeur([118,90,1,0]);

                                88694

> decode_BMP_8bits:=proc(f)
> local file;
> file:=open(f,READ):
> print(` Signature`=map(StringTools[Char],readbytes(file,2)));
> print(` Taille_fichier`=valeur(readbytes(file,4)));
> print(` Espace_réservé`=readbytes(file,4));
> print(` Offset_image`=valeur(readbytes(file,4)));
> print(` Taille_entête`=valeur(readbytes(file,4)));
> print(` Largeur_image`=valeur(readbytes(file,4)));
> print(` Hauteur_image`=valeur(readbytes(file,4)));
> print(` Nombre_plans`=valeur(readbytes(file,2)));
> print(` Nombre_bits_par_pixel`=valeur(readbytes(file,2)));
> print(` Méthode_compression`=valeur(readbytes(file,4)));
> print(` Taille_finale_image`=valeur(readbytes(file,4)));
> print(` Résolution_horiz (en pixels / mètre) `=valeur(readbytes(file,4)));
> print(` Résolution_vert (en pixels / mètre) `=valeur(readbytes(file,4)));
> print(` Nb_couleurs_palette`=valeur(readbytes(file,4)));
> close(file):
> end proc:
>
> f:="C:\\einstein.bmp":
> decode_BMP_8bits(f):

                        Signature = ["B", "M"]


                        Taille_fichier = 88694


                     Espace_réservé = [0, 0, 0, 0]


                          Offset_image = 1078


                          Taille_entête = 40


                          Largeur_image = 296


                          Hauteur_image = 296


                           Nombre_plans = 1


                       Nombre_bits_par_pixel = 8


                        Méthode_compression = 0


                      Taille_finale_image = 87616


             Résolution_horiz (en pixels / mètre)  = 2834


              Résolution_vert (en pixels / mètre)  = 2834


                       Nb_couleurs_palette = 256


Revenir en haut de page
mathieu



Inscrit le: 17 Déc 2005
Messages: 6
Localisation: Bretagne, Morlaix

MessagePosté le: 22 Déc 2005 19:22    Sujet du message: Répondre en citant

...

Dernière édition par mathieu le 23 Avr 2006 12:45; édité 3 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
mathieu



Inscrit le: 17 Déc 2005
Messages: 6
Localisation: Bretagne, Morlaix

MessagePosté le: 22 Déc 2005 23:01    Sujet du message: Répondre en citant

#!?

Dernière édition par mathieu le 23 Avr 2006 12:46; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ALS
Invité





MessagePosté le: 23 Déc 2005 9:20    Sujet du message: Répondre en citant

Bonjour, effectivement j'ai du mal à voir ce que représente cet offset. Il a en tout cas la même valeur pour les 2 images de tailles différentes einstein.bmp et image.bmp
A+
Revenir en haut de page
mathieu



Inscrit le: 17 Déc 2005
Messages: 6
Localisation: Bretagne, Morlaix

MessagePosté le: 23 Déc 2005 10:34    Sujet du message: Répondre en citant

bzzz

Dernière édition par mathieu le 23 Avr 2006 12:46; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ALS
Invité





MessagePosté le: 23 Déc 2005 12:21    Sujet du message: Répondre en citant

Il y a confusion entre bit et byte. En anglais, byte signifie un octet (nombre entre 0 et FF en hexadécimal, c'est à dire entre 0 et 255 en décimal)
Pour ce qui est de l'entête, les octets du 53ème au 1077ème sont les mêmes pour les 2 images (ce qui correspondrait au codage de la palette?).
L'offset 1078 indique donc le rang de l'octet o๠l'image commence effectivement dans le fichier.
Revenir en haut de page
mathieu



Inscrit le: 17 Déc 2005
Messages: 6
Localisation: Bretagne, Morlaix

MessagePosté le: 23 Déc 2005 12:31    Sujet du message: Répondre en citant

zaa
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Autres questions Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.