imageop — Обработка необработанных данных изображения
Устарело начиная с версии 2.6: Модуль imageop был удалён в Python 3.
Модуль imageop содержит некоторые полезные операции с изображениями. Он работает с изображениями, состоящими из 8- или 32-битных пикселей, хранящихся в строках Python. Этот формат аналогичен формату, используемому в gl.lrectwrite() и модуле imgfile.
Модуль определяет следующие переменные и функции:
-
exception imageop.error -
Это исключение возникает при всех ошибках, таких как неизвестное количество битов на пиксель и т. д.
-
imageop.crop(image, psize, width, height, x0, y0, x1, y1) -
Возвращает выбранную часть изображения image, которая должна иметь размер width на height и состоять из пикселей размером psize байтов. x0, y0, x1 и y1 — это параметры, подобные
gl.lrectread(), т. е. граница включена в новое изображение. Новые границы не обязательно должны находиться внутри изображения. Пиксели, выходящие за пределы старого изображения, будут иметь значение, равное нулю. Если x0 больше x1, новое изображение отражается. То же самое относится к координатам y.
-
imageop.scale(image, psize, width, height, newwidth, newheight) -
Возвращает изображение image, масштабированное до размера newwidth на newheight. Интерполяция не выполняется; масштабирование выполняется с помощью простого дублирования или удаления пикселей. Поэтому компьютерно сгенерированные изображения или изображения с дithering не будут хорошо выглядеть после масштабирования.
-
imageop.tovideo(image, psize, width, height) -
Применяет вертикальный низкочастотный фильтр к изображению. Для этого каждый целевой пиксель вычисляется как среднее значение двух вертикально расположенных исходных пикселей. Основное применение этой функции — предотвращение чрезмерной мерцания, если изображение отображается на видеоустройстве, использующем чередование строк, откуда и происходит название.
-
imageop.grey2mono(image, width, height, threshold) -
Преобразует 8-битовое изображение в оттенках серого в 1-битовое изображение с помощью порогового значения для всех пикселей. Полученное изображение сжато и, вероятно, пригодно только в качестве аргумента для
mono2grey().
-
imageop.dither2mono(image, width, height) -
Преобразует 8-битовое изображение в оттенках серого в 1-битовое монохромное изображение с помощью (простого) алгоритма dithering.
-
imageop.mono2grey(image, width, height, p0, p1) -
Преобразует 1-битовое монохромное изображение в 8-битовое изображение в оттенках серого или цветное изображение. Все пиксели, имеющие нулевое значение на входе, получают значение p0 на выходе, а все пиксели с единичным значением на входе — значение p1 на выходе. Для преобразования монохромного чёрно-белого изображения в оттенки серого передайте значения
0и255соответственно.
-
imageop.grey2grey4(image, width, height) -
Преобразует 8-битовое изображение в оттенках серого в 4-битовое изображение в оттенках серого без dithering.
-
imageop.grey2grey2(image, width, height) -
Преобразует 8-битовое изображение в оттенках серого в 2-битовое изображение в оттенках серого без dithering.
-
imageop.dither2grey2(image, width, height) -
Преобразует 8-битовое изображение в оттенках серого в 2-битовое изображение в оттенках серого с dithering. Как и для
dither2mono(), алгоритм dithering в настоящее время очень простой.
-
imageop.grey42grey(image, width, height) -
Преобразует 4-битовое изображение в оттенках серого в 8-битовое изображение в оттенках серого.
-
imageop.grey22grey(image, width, height) -
Преобразует 2-битовое изображение в оттенках серого в 8-битовое изображение в оттенках серого.
-
imageop.backward_compatible -
Если установлено в 0, функции в этом модуле используют несовместимый с предыдущими версиями способ представления пикселей с несколькими байтами на системах little-endian. SGI, для которой этот модуль был первоначально написан, является системой big-endian, поэтому установка этой переменной не повлияет. Однако код изначально не предназначался для работы на других системах, поэтому он делал предположения о порядке байтов, которые не являются универсальными. Установка этой переменной в 0 приведет к изменению порядка байтов на системах little-endian, чтобы он стал таким же, как на системах big-endian.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/imageop.html