10
votes

Comment puis-je obtenir la profondeur d'un fichier JPG?

Je veux récupérer la profondeur du bit pour un fichier JPEG à l'aide de Python.

Utilisation de la bibliothèque d'imagerie Python: xxx

Cependant, cela me donne une profondeur de 8 pour une image évidemment 24 bits. Est-ce que je fais quelque chose de mal? Y a-t-il un moyen de le faire avec du code python pur?

Merci d'avance.

Edit: c'est des données.bits pas data.depth.


2 commentaires

Êtes-vous sûr que vous utilisez la bonne fonction? Je n'ai pas pu trouver de la profondeur dans le manuel PIL et peut-être que la valeur de retour de 8 est toujours correcte - cela pourrait être inférieur à "8 bits par pixel".


Oui, c'est 8 BPP. Ce qui n'était pas évident (pour moi) était que c'était pour chaque groupe selon la réponse de Mike.


5 Réponses :


7
votes

Les fichiers JPEG ne sont pas ont la profondeur de bits de la même manière que les fichiers GIF ou PNG. La transformation utilisée pour créer les données JPEG rend un spectre de couleur continu sur la décompression.


0 commentaires



2
votes

J'allais dire que les images JPG sont 24 bits par définition. Ils consistent normalement en trois canaux de couleur 8 bits, une pour chacune des 24 bits rouges, verts et bleues 24 bits par pixel. Cependant, je viens de trouver Cette page qui indique: < / p>

Si vous utilisez une version plus moderne de Photoshop, vous remarquerez qu'il vous permettra également de travailler en 16 bits par canal, ce qui vous donne 48 bits par pixel.

Mais je ne trouve pas de référence pour la façon dont vous vous en parleriez.


0 commentaires

0
votes

Je pense que c'est ce que vous demandez ... Vous pouvez utiliser ce qui suit pour obtenir le nombre de couleurs utilisées dans un JPG ou une autre image RGB ou RGBA

I Utilisez personnellement une variation de ce code pour déterminer S'il est logique de convertir de RVB en mode indexé. xxx


0 commentaires