|
| |||
|
Aller au premier non-lu |
#1
| ||||
| ||||
Une histoire de Pixels!!
Bonjour à tous, j'ai une petite question qui me chagrine, elle concerne les pixels. De nos jour, le standard en matière de résolution est le 15M pixel soit 4416 x 3312. Lorsque je règle la résolution de mon appareil sur 4416 x 3312, soit 15M pixel, je force donc mon G10 a prendre une photo qui fait 4416px x 3312px en taille, pourtant la photo ne fait que 7Mo!! et la résolution fait bien 4416 x 3312. Pourquoi ma photo ne fait elle pas 15Mo? Merci à tous |
| Pour participer aux discussions et avoir accès à tous les outils proposés sur VirusPhoto, inscrivez-vous en quelques secondes : cliquez ici.
|
#2
| ||||
| ||||
on parle ici de mega pixels et non pas de mega octets Un mega pixel equivaut à un million de pixels Une photo de 4416*3314 pixels contient dont un total de 14634624 soit presque 15 millions de pixel. Mais par contre, ton image aura un poids numérique de 7 Mo ( megaoctets, soit 7 millions d'octects). Un pixel n'equivaut pas à 1 octet ![]() |
#3
| ||||
| ||||
Je ne suis vraiment pas sur de la corrélation entre les MP et les Mo comme tu le penses. Puis en fonction du conteneur que tu choisis (jpg, raw ...) tu auras des fichiers plus ou moins gros. Pareil si tu as une photo avec des aplats de couleurs, ou avec beaucoup de détails (valable pour le jpeg seulement je crois). Le RAW lui sauvegarde chaque point tel quel sur 8, 12 ou 14 bits il me semble. |
#4
| ||||
| ||||
Le raw ne fait pas toujours le même poids à l'octet près (je viens d'ouvrir un dossier où toutes les photos sont pratiquement les mêmes, il n'y a pas deux fois le même poids!), voire au Mo près (sur mon appareil, ça tourne toujours autour de 15mo mais avec des fichiers à 10 et d'autres à 19...). Donc, effectivement, même si on peut facilement dire que plus il y a de mp plus il risque d'y avoir de mo, ça va surtout dépendre de la photo. Pour le jpg, c'est basé sur des algorithmes de redondances spaciales, un objet sur un fond blanc pèse moins lourd qu'e le même objet sur un motif. |
#5
| ||||
| ||||
même sur un fichier .bmp qui est sensé enregistrer et séparer chaque pixels, le nombre de pixels ne correspond pas à la somme des octects du fichiers. La question serait de savoir comment est enregistré un pixel, et quelle place en bit prends-il ![]() |
#6
| ||||
| ||||
si je comprends bien, 1 pixel rouge, vers, noir ou blanc ne ferait pas la même taille!! est ce bien ca? |
#7
| |||
| |||
Citation:
Ah ben si, là, en bmp comme en tiff non compressé, la corrélation est directe - 3 octet par pixel en 8bits La taille des raw varie parce que, en général, ils sont compressés (sans pertes, comme un fichier zip), ce qui fait que, suivant la complexité de l'image, le poids peut sérieusement varier. |
#8
| ||||
| ||||
Citation:
Merci pour la précision ![]() |
#9
| ||||
| ||||
oui je me suis exprimé. je constatai juste que 1pixel n'équivalait pas à 1 octet. Par curiosité j'ai testé, et effectivement un fichier .bmp de 100*100px à un poids de approximativement 30000 pixels. Par contre pour en revenir à son problème, l'image sortant d'un apn est traitée par algorithmes de compression comme le précisait oreille, donc il n'y a plus corrélation entre pixel/octet on en apprends tous les jours ![]() |
#10
| |||
| |||
Citation:
Euh oui mais non ... 3octets par pixels en 8 bits ne veut rien dire Soit tu dis 3 octets pour un pixel => codage en 24 bits (on en est loin) (1octet = 8bits) ou alors 1 pixels codé en 8bits 1 pixels sur 8 bits te donne une possibilité de 256 couleurs par pixels (2 puissance 8) 1 pixels sur 16 bits: 65536 couleurs possibles par pixels Le canon 5D2 code les RAW en 14bits => 16384 couleurs possibles par pixels Si on ne compresse rien du tout et que ton image fait 15MP => 15 000 000 x 14 = 210 000 000 bits => en Mo = 210E6 / 8 / 1024/1024= 25Mo Evidemment quand l'image est enregistrée sur la carte les 0 et les 1 ne sont pas enregistrer sans compression même si on choisit du RAW: Le RAW est juste un format sans perte de donnée au contraire du JPG => ton fichier RAW fait rarement 25 Mo FRED |
#11
| |||
| |||
Citation:
Oui, c'est un raccourci de ma part : un pixel codé en 8bits par canal de couleur utilise donc un octet pour le rouge, un pour le vert, et un pour le bleu, soit trois octets pour un pixel. Le codage "sur 8 bits" (par canal) est bien un codage sur 24 bits par pixel. Citation:
En fait, 30 Mo car l'adressage se fait sur 16 bits, même si seuls 14 sont utilisés. |
#12
| ||||
| ||||
Bonjour, J’espère ne pas être hors sujet. Je me posais aussi la question sur la taille d’une photo par rapport au nombre de pixels. Il s’agissait de photos que j’ai reçues par mail. Une photo avec beaucoup de pixels avait une taille plus petite qu’une autre avec moins de pixels. Comme j’utilise Photoshop je me suis alors souvenu que la taille dépend aussi de la qualité de la compression des JPEG. Une même photo enregistrée en JPEG avec qualité minimum 1 donne une image de 265 ko, avec une qualité maximum 12 donne une image de 3886 ko |
#14
| ||||
| ||||
EDIT: Attention, message trèèèèès long... Oulà, il y a pas mal d'erreur de calcul et de raisonnement dans ce fil. La première erreur, c'est de se dire qu'un pixel = 1 octet, c'est rarement le cas de nos jours car cela limite le nombre de couleur à 256. La seconde erreur, c'est de se dire 1 pixel = 3 octets, même si c'est fréquent de nos jours, c'est ce que nous appelons les images 8 bits/couleur. La troisième erreur, c'est de se dire qu'il n'y a dans un fichier image que les données représentant l'image, il y a toujours quelques octets pour définir l'entête du fichier, et dans le cas des apn modernes, les métadonnées, les vignettes, les aperçus, etc. Pour bien recadrer les choses, nous parlerons d'images 256 couleurs pour une image dont chaque pixel est codé sur 8 bits (soit une valeur codée sur 8 bits renvoyant à une couleur définie dans la palette de couleur, soit les valeurs RVB directement codées sur 8 bits, généralement les 3 premiers bits sont la composante rouge, les 3 suivants sont la composante verte, les 2 derniers sont la composante bleue). Il est courant de parler d'image 8 bits pour parler d'une image dans laquelle chaque composante de couleur est codée sur 8 bits, comme il faut 3 coomposantes au moins par pixel, nous avons en réalité des images 24 bits par couleur. Mais celle-ci peuvent devenir des images 32 bits par couleur, car on peut ajouter 8 bits supplémentaires pour enregistrer une valeur alpha. C'est pourquoi je suppose l'appellation image 8 bits s'est standardisée. De la même manière, on parle d'image 16 bits pour parler d'une image dans laquelle chaque composante de couleurs est codée sur 16 bits, ce qui nous donne des images 48 ou 64 bits par couleur. Pour revenir à la question du calcul des poids des images, un bmp 256 couleurs de 10x10 pixels ne pèsera pas comme on pourrait s'y attendre 10*10*1 soit 100 octets, mais un peu plus, car le fichier contient l'entête du fichier (14 octets), l'entête de l'image (40 octets), optionnellement la palette de couleurs dont la taille varie en fonction de la profondeur de couleur. Par ailleurs, les données sont enregistrées ligne à ligne, mais chaque ligne doit comporter un nombre d'octets multiple de 4, si ce n'est pas le cas, on complète avec des 0. Dans notre cas d'un bmp 256 couleurs, sans palette, de 10x10 pixels, notre fichier (s'il n'est pas compressé, car des bmp peuvent être compressés, ce qui modifie encore notre calcul) pèsera: 14+40+(12*10) = 174 octets. (nous devons mettre 12 octets par ligne, les 2 derniers ne contiendront que des 0). Pour les images plus complexes que sont les jpegs, celles-ci sont toujours compressées, il est dès lors difficile d'estimer à vue de nez le poids du fichier que l'on obtiendra, cela dépend beaucoup du contenu des images: en théorie, une image jpeg ne contenant qu'une seule couleur, même s'il y a 15 millions de pixels, ne devrait pas peser très lourd, certainement beaucoup moins que les 7 Mo du début de ce fil. Enfin, pour les images raw, on ne peut pas non plus escompter que puisque l'image fait 15 millions de pixels, le raw fera 15 Mo (1 pixel = 1 octet, ce qui n'est jamais le cas, les capteurs renvoyant des valeurs sur 12, 14 ou 16 bits), ou 30 Mo (1 pixel = 2 octets , soit une valeur sur 16 bits), ou 60 Mo (1 pixel = 6 octets , soit une valeur sur 16 bits par composante de la couleur). Théoriquement, ce dernier cas devrait être ce qui s'approche le plus de la réalité, puisqu'il faut une composante rouge, une verte et une bleue pour obtenir la couleur exacte d'un pixel, MAIS... Un capteur à matrice de bayer (je ferais exception ici du capteur Fovéon) n'enregistre pour chaque pixel qu'UNE SEULE composante de la couleur, soit rouge, soit vert, soit bleue. Donc, en théorie, le raw ne contient que 16 bits d'informations par pixel (et nous devrions donc avoir un raw de 30 Mo). MAIS... - il y a aussi un problème d'alignement (en général, une ligne doit contenir un nombre d'octets multiple de 4). - Les données dans un fichier raw sont compressées (sans pertes certes, mais compressées tout de même). - Un raw contient beaucoup d'informations sous formes de données exif et de métadonnées diverses (métadonnées constructeur, courbes de réglages, balance des blancs, etc, etc) - Un raw contient une image (presque toujours jpeg) qui est l'aperçu - un raw contient parfois une vignette (jpeg) Pour répondre à la question originale de Damienmcc, si ton image est un raw de 15 MPixel et que le fichier pèse environ 7 Mo, tout ce que tu peux en déduire, c'est que le taux de compression des données (pour cette image précise et pas forcément une autre) est d'environ 1/4, en réalité un peu plus. S'il s'agit d'un fichier jpeg, tu peux en déduire la même chose, à savoir que la compression est environ de l'ordre de 1/7 (l'image brute devrait faire environ 45 Mo: 15mpix * 1 octet * 3 canaux). Tu peux en déduire approximativement la qualité de ton jpeg. Dans les 2 cas, si tu convertis ton image en tiff RGB non compressé, sans inclure les métadonnées, tu devrais obtenir un fichier d'un peu plus de 45 Mo (45 Mo de données d'image + les différents entêtes: 8 octets pour l'entête tiff, 18 octets pour l'Image File Directory, etc). PS: J'ai considéré qu'un Mo représentait 1 million d'octets, ce qui n'est pas le cas, c'est en réalité 1024*1024 = 1048576 octets. Une image brute de 15 Mpixels à 8 bits par canal devrait donc avoir un poids d'environ 42,92 Mo, un raw à 16 bits par canal n'enregistrant qu'un canal par pixel, sans métadonnées, ni aperçu ou vignette, devrait avoir une taille d'environ 28,61 Mo. EDIT: Z'avez pas mal à la tête? Dernière modification par Ille 21/03/2010 à 00h05. |
#15
| |||
| |||
Pour compliquer: 1Mo égale bien 1 000 000 octet.La définition 1 Mo=1024 ko doit dater de plus de 10 ans. |
![]() |
Bloguer ceci | Outils de la discussion | Rechercher dans la discussion | Note: ![]() |
Outils de la discussion | Rechercher dans la discussion |
Noter la discussion | |
|
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc. Powered by vBulletin® Version 3.8.2 - Copyright ©2000 - 2013, Jelsoft Enterprises Ltd. 2006 - 2019 © ® VirusPhoto. Tous droits réservés. |