dither

Преобразуйте изображение, увеличив очевидное цветное разрешение путем размывания

Синтаксис

X = dither(RGB,map)
X = dither(RGB,map,Qm,Qe)
BW = dither(I)

Описание

X = dither(RGB,map) создает индексируемое приближение изображений изображения RGB путем размывания цветов в палитре map.

X = dither(RGB,map,Qm,Qe) также задает номер Qm битов квантования, чтобы использовать вдоль каждой цветной оси для обратной карты цветов и номера Qe битов квантования, чтобы использовать для ошибочных вычислений цветового пространства.

пример

BW = dither(I) преобразовывает полутоновое изображение, которое I к двоичному файлу (черный и белый) отображает BW путем размывания.

Примеры

свернуть все

Считайте полутоновое изображение из файла corn.tif в рабочую область MATLAB®. Полутоновая версия изображения является третьим изображением в файле.

corn_gray = imread('corn.tif',3);

Отобразите полутоновое изображение с помощью imshow.

imshow(corn_gray)

Преобразуйте изображение в двоичный файл при помощи функции dither.

corn_bw = dither(corn_gray);

Отобразите двухуровневое изображение. Несмотря на то, что пиксели в двухуровневом изображении только имеют значение 0 или 1, изображение, кажется, имеет оттенки серого из-за размывания.

imshow(corn_bw)

Входные параметры

свернуть все

Изображение RGB, заданное как m-by-n-by-3 массив неотрицательных чисел. Если вы задаете изображение типа данных double, то значения должны быть в области значений [0, 1].

Типы данных: single | double | uint8 | uint16

Введите палитру, заданную как c-by-3 матрица со значениями в области значений [0, 1]. Каждой строкой map является трехэлементный триплет RGB, который задает красные, зеленые, и синие компоненты одного цвета палитры. Палитра имеет максимум 65 536 цветов.

Типы данных: double

Биты квантования вдоль каждой цветной оси для обратной карты цветов, заданной как положительное целое число. Если Qe является меньше, чем Qm, то размывание не может быть выполнено, и функция dither возвращает неразмытое индексированное изображение в X.

Типы данных: double

Биты квантования для ошибочных вычислений цветового пространства, заданных как положительное целое число. Если Qe является меньше, чем Qm, то размывание не может быть выполнено, и функция dither возвращает неразмытое индексированное изображение в X.

Типы данных: double

Полутоновое изображение, заданное как m-by-n матрица неотрицательных чисел. Если вы задаете изображение типа данных double, то значения должны быть в области значений [0, 1].

Типы данных: single | double | int16 | uint8 | uint16

Выходные аргументы

свернуть все

Индексируемое изображение, возвращенное как m-by-n матрица неотрицательных целых чисел. Если длина map меньше чем или равна 256, то выходное изображение имеет класс uint8. В противном случае выходное изображение имеет класс uint16. Значение 0 в выходном массиве, X соответствует первому, раскрашивает палитру.

Примечание

Значения в изображении X является индексами в палитру map и не должен использоваться в математической обработке, такой как фильтрация операций.

Типы данных: uint8 | uint16

Двухуровневое изображение, возвращенное как m-by-n логическая матрица.

Типы данных: логический

Алгоритмы

dither увеличивает очевидное цветное разрешение изображения путем применения алгоритма случайного псевдосмешения Флойд-Стайнберга [1].

Ссылки

[1] Флойд, R. W. и Л. Стайнберг, "Адаптивный Алгоритм для Пространственной Шкалы полутонов", Международный Обзор Симпозиума Технических документов, Общества Отображений информации, 1975, p. 36.

[2] Лим, Джэ С., Двумерная Обработка сигналов и Обработка изображений, Englewood Cliffs, NJ, Prentice Hall, 1990, стр 469–476.

Представлено до R2006a