Определенные операции двухуровневого изображения могут быть реализованы наиболее легко через интерполяционные таблицы. Интерполяционная таблица является вектор-столбцом, в котором каждый элемент представляет значение, чтобы возвратиться для одной возможной комбинации пикселей в окружении. Чтобы создать интерполяционные таблицы для различных операций, используйте makelut
функция. makelut
создает интерполяционные таблицы для и 3х3 окружений 2 на 2. Следующая фигура иллюстрирует эти типы окружений. Каждый пиксель окружения обозначается x, и центральный пиксель является тем с кругом.
Для окружения 2 на 2 существует 16 возможных сочетаний пикселей в окружении. Поэтому интерполяционная таблица для этой операции является вектором с 16 элементами. Для 3х3 окружения существует 512 сочетаний, таким образом, интерполяционная таблица является вектором с 512 элементами.
makelut
и applylut
поддержите только и 3х3 окружения 2 на 2. Интерполяционные таблицы, больше, чем 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's и 0. Каждым значением является выход от функции для одного из 512 возможных сочетаний.
Вы затем выполняете операцию с помощью applylut
.
BW1 = imread('text.png'); BW2 = applylut(BW1,lut); imshow(BW1) figure, imshow(BW2)
Отобразите до и после применения операции интерполяционной таблицы
Для получения информации о как applylut
пиксельные комбинации карт в изображении к записям в интерполяционной таблице, смотрите страницу с описанием для applylut
.