applylut

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

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

Синтаксис

Описание

пример

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

Примеры

свернуть все

Создайте 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 contains an axes. The axes contains an object of type image.

 figure, imshow(BW2);

Figure contains an axes. The axes contains an object of type image.

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

свернуть все

Входное изображение, заданное как 2-D бинарное изображение. Для числового входа любые ненулевые пиксели рассматриваются как 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. Конкретный используемый алгоритм зависит от того, используете ли вы кварталы 2 на 2 или 3 на 3.

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
Для просмотра документации необходимо авторизоваться на сайте