Как получить глубину цвета и / или разрешение из строки байтов в Python?

1

^ Как и выше. Возможно ли это?

Я использую библиотеку для получения данных изображения из mp3, и она возвращает данные в виде строки байта, но для отображения изображения мне нужно получить разрешение и глубину цвета.

В идеале я бы предпочел библиотеку, написанную на Python без зависимостей, чтобы сделать мое приложение максимально переносимым.

Если это не так уж сложно, я бы оценил пример с ответом, спасибо.

  • 0
    Какую библиотеку вы используете? Разве это не документирует формат, в котором он возвращает данные изображения?
  • 0
    «возвращает данные в виде байтовой строки»
Показать ещё 1 комментарий
Теги:
image
data-structures
mp3
byte

2 ответа

4
Лучший ответ

Вы можете использовать PIL для работы с изображениями на Python. В вашем случае вы можете:

>>> from StringIO import StringIO
>>> from PIL import Image

>>> im = Image.open(StringIO(image_string))

>>> im.size, im.bits
<<< ((1654, 1279), 8)
0

Либо у изображения есть заголовки (которые вы могли бы читать с помощью чего-то вроде exiftool), либо у изображения нет заголовков, и в этом случае вы можете получить размер и глубину цвета из спецификации, будь то тег контейнера для mp3, или от стандарта для графического изображения.

Большинство растровых изображений в настоящее время имеют 24-битный цвет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню