exponenta event banner

Операции с таблицей подстановки

Создание таблицы подстановки

Некоторые операции с двоичными изображениями могут быть реализованы наиболее легко с помощью таблиц поиска. Таблица подстановки - это вектор столбца, в котором каждый элемент представляет значение, возвращаемое для одной возможной комбинации пикселей в окрестности. Для создания таблиц подстановки для различных операций используйте makelut функция. makelut создает таблицы подстановки для окрестностей 2 на 2 и 3 на 3. На следующем рисунке показаны эти типы окрестностей. Каждый пиксель окрестности обозначается х, а центральный пиксель - окружностью.

Для окрестности 2 на 2 существует 16 возможных перестановок пикселей в окрестности. Поэтому таблица подстановки для этой операции является 16-элементным вектором. Для окрестности 3 на 3 существует 512 перестановок, поэтому таблица подстановки является 512-элементным вектором.

Примечание

makelut и applylut поддерживают только районы 2 на 2 и 3 на 3. Таблицы поиска размером более 3 на 3 окрестности нецелесообразны. Например, таблица подстановки для района 4 на 4 будет содержать 65 536 записей.

Использование таблицы подстановки

После создания таблицы подстановки ее можно использовать для выполнения требуемой операции с помощью applylut функция.

Приведенный ниже пример иллюстрирует использование операций таблицы подстановки для изменения изображения, содержащего текст. В примере создается анонимная функция, которая возвращает 1, если три или более пикселей в окрестности 3 на 3 равны 1; в противном случае возвращается 0. Затем пример вызывает makelut, передавая эту функцию в качестве первого аргумента и используя второй аргумент для указания таблицы поиска 3 на 3.

f = @(x) sum(x(:)) >= 3;
lut = makelut(f,3);

lut возвращается как 512-элементный вектор с 1 и 0. Каждое значение является выходом функции для одной из 512 возможных перестановок.

Затем выполняется операция с использованием applylut.

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

Изображение до и после применения операции с таблицей подстановки

Для получения информации о том, как applylut сопоставляет комбинации пикселей в изображении с элементами в таблице поиска, см. справочную страницу для applylut.