Документация Python неофициальный перевод

39.12. jpeg – Чтение и запись файлов JPEGjpeg – Read and write JPEG files

Устарело с версии 2.6: Модуль jpeg удалён в Python 3.

Модуль jpeg предоставляет доступ к компрессору и декомпрессору JPEG, написанным Independent JPEG Group (IJG). JPEG – это стандарт сжатия изображений; он определён в ISO 10918. Подробнее о JPEG или программном обеспечении Independent JPEG Group см. в стандарте JPEG или документации, поставляемой с ПО.

Портативный интерфейс для файлов изображений JPEG доступен в Python Imaging Library (PIL) от Фредрика Лунда. Информацию о PIL можно найти на http://www.pythonware.com/products/pil/.

Модуль jpeg определяет исключение и несколько функций.

exception jpeg.error

Исключение, вызываемое compress() и decompress() в случае ошибок.

jpeg.compress(data, w, h, b)

Обрабатывает data как пиксельную карту ширины w и высоты h, с b байтами на пиксель. Данные представлены в порядке SGI GL, поэтому первый пиксель находится в левом нижнем углу. Это означает, что возвращаемые данные gl.lrectread() можно сразу передать в compress(). В настоящее время допускаются только 1-байтовые и 4-байтовые пиксели: первые обрабатываются как оттенки серого, вторые – как цвет RGB. compress() возвращает строку, содержащую сжатое изображение в формате JFIF.

jpeg.decompress(data)

Data – это строка, содержащая изображение в формате JFIF. Возвращается кортеж (data, width, height, bytesperpixel). Данные также подходят для передачи в gl.lrectwrite().

jpeg.setoption(name, value)

Устанавливает различные параметры. Последующие вызовы compress() и decompress() будут использовать эти параметры. Доступны следующие параметры:

Параметр

Эффект

'forcegray'

Принудительно преобразовывать вывод в оттенки серого, даже если входные данные – RGB.

'quality'

Устанавливает качество сжатого изображения в значение от 0 до 100 (по умолчанию 75). Влияет только на сжатие.

'optimize'

Выполнять оптимизацию таблицы Хаффмана. Занимает больше времени, но приводит к меньшему размеру сжатого изображения. Влияет только на сжатие.

'smooth'

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

См. также

Стандарт сжатия неподвижных изображений JPEG

Канонический справочник по формату изображений JPEG, автор Пеннебейкер и Митчелл.

Информационные технологии – Цифровое сжатие и кодирование непрерывно-тоновых неподвижных изображений – Требования и руководящие принципы

Стандарт ISO для JPEG также опубликован как ITU T.81. Он доступен онлайн в формате PDF.