applylut

Операции окружения на двухуровневых изображениях с помощью интерполяционных таблиц

applylut не рекомендуется. Используйте bwlookup вместо этого.

Синтаксис

Описание

пример

A = applylut(BW,lut) выполняет или 3х3 операцию окружения 2 на 2 на двухуровневом изображении BW при помощи интерполяционной таблицы, lut. Интерполяционная таблица состоит из выходных значений для всех возможных или 3х3 окружений 2 на 2.

Примеры

свернуть все

Создайте LUT.

 lutfun = @(x)(sum(x(:))==4);
 lut    = makelut(lutfun,2);

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

 BW1    = imread('text.png');
 BW2    = applylut(BW1,lut);

Покажите оригинальное изображение и разрушенное изображение.

 figure, imshow(BW1);

 figure, imshow(BW2);

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

свернуть все

Введите изображение, заданное как 2D двухуровневое изображение. Для числового входа любые ненулевые пиксели считаются 1 TRUE).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Интерполяционная таблица значений выходного пикселя, заданных как 16-или вектор с 512 элементами, как возвращено makelut.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

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

свернуть все

Выходное изображение, возвращенное как полутоновое или двухуровневое изображение, чье распределение пиксельных значений определяется содержимым интерполяционной таблицы, lut. Выходное изображение J одного размера с входным изображением I.

  • Если все элементы lut 0 или 1, затем A имеет тип данных logical.

  • Если все элементы lut целые числа между 0 и 255, затем A имеет тип данных uint8.

  • Для всех других случаев, A имеет тип данных double.

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

Алгоритмы

свернуть все

applylut выполняет операцию окружения на двухуровневом изображении путем создания матрицы индексов в lut, и затем заменяя индексы на фактические значения в lut. Определенный используемый алгоритм зависит от того, используете ли вы или 3х3 окружения 2 на 2.

Окружения 2 на 2

Для окружений 2 на 2, length(lut) 16. Существует четыре пикселя в каждом окружении и два возможных состояния для каждого пикселя, таким образом, общее количество сочетаний равняется 24 = 16.

Произвести матрицу индексов, applylut применяет операцию свертки к двухуровневому изображению BW с этой матрицей.

8     2
4     1

Получившаяся свертка содержит целочисленные значения в области значений [0, 15]. applylut использует центральную часть свертки, одного размера с BW, и добавляет 1 к каждому значению, чтобы переключить область значений к [1, 16]. Функция затем создает A заменяя значения в ячейках матрицы индекса со значениями в lut то, что индексы указывают на.

3х3 Окружения

Для 3х3 окружений, length(lut) 512. Существует девять пикселей в каждом окружении и два возможных состояния для каждого пикселя, таким образом, общее количество сочетаний равняется 29 = 512.

Произвести матрицу индексов, applylut применяет операцию свертки к двухуровневому изображению BW с этой матрицей.

256    32     4
128    16     2
 64     8     1

Получившаяся свертка содержит целочисленные значения в области значений [0, 511]. applylut использует центральную часть свертки, одного размера с BW, и добавляет 1 к каждому значению, чтобы переключить область значений к [1, 512]. Это затем создает A заменяя значения в ячейках матрицы индекса со значениями в lut то, что индексы указывают на.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2012b

Смотрите также

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

Для просмотра документации необходимо авторизоваться на сайте