Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 7.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
32 Мб
Скачать
☆

Функция bwmorph

Функция bwmorph из пакета ITP выполняет ряд полезных действий, построенных на основе операций дилатации, эрозии, а также с использованием поисковых таблиц. Она имеет следующую синтаксическую форму вызова:

g = bwmorph (f,operation,n),

где f – это входное двоичное изображение, operation – символьная строка, задающая конкретную операцию, а n обозначает, сколько раз необходимо выполнить эту операцию. Входной аргумент n не является обязательным. При его отсутствии операция выполняется только один раз. В табл. 3 перечислены все допустимые операции функции bwmorph.

Таблица 3. Операции, поддерживаемые функцией bwmorph

Операция

Описание

bothat

Совершает операцию «дно шляпы» с использованием структурообразующего элемента 3×3. Для других элементов применять imbothat

bridge

Соединяет пикселы, разделенные промежутком в один пиксел.

clean

Удаляет изолированные пикселы переднего плана

close

Замыкает с использованием элемента 3×3. Для других структурообразующих элементов применять операцию imclose.

diag

Делает заполнение вокруг диагонально связанных пикселов переднего плана.

dilate

Совершает дилатацию с использованием элемента 3×3. Для других структурообразующих элементов применять операцию imdilate.

erode

Выполняет эрозию с использованием элемента 3×3. Для других структурообразующих элементов применять операцию imerode

fill

Заполняет однопикселные «дырки» (фоновые пикселы, окруженные со всех сторон пикселами переднего плана).

hbreak

Удаляет Н-связанные пикселы переднего плана.

open

Делает пиксел р пикселом переднего плана, если не менее 5 пикселов N8(p) являются пикселами переднего плана; в противном случае делает пиксел р фоновым.

majority

Размыкает с использованием элемента 3×3. Для других структурообразующих элементов применять операцию imopen.

remove

Удаляет «внутренние» пикселы (пикселы переднего плана, у которых нет ни одного фонового соседа).

shrink

Сжимает объекты без внутренних дыр в точки. Сжимает объекты с дырами в кольца.

skel

Строит остов изображения.

spur

Удаляет отростки пикселов.

thicken

Утолщает объекты без соединения несвязанных частей.

thin

Утончает объекты без дыр до минимальной средней линии. Утончает объекты с дырами до колец.

tophat

Совершает операцию «верх шляпы» с использованием структурообразующего элемента 3×3. Для других элементов применять imtophat

Операция утончение сокращает двоичные объекты или формы изображения до отдельных линий, которые имеют толщину всего в один пиксел. Например, попилярные линии на отпечатках пальцев, показанные на рис. 22в), являются слишком толстыми. При анализе этих линий может потребоваться их утончение вплоть до толщины в один пиксел. Каждое применение соответствующей операции утончения из bwmorph удаляет один или два пиксела из толщины объектов двоичного изображения. Например, следующие команды демонстрируют результат применения операции утончения один и два раза.

>> f = imread ( ‘ fingerprint_cleaned. tif ’ ) ;

>> g1 = bwmorph ( f , ‘ thin ’ , 1 ) ;

>> g2 = bwmorph ( f , ‘ thin ’ , 2 ) ;

>> imshow ( g1 ) , figure, imshow ( g2 )

На рис. 15а) и б), приведены соответствующие утонченные изображения. Имеется важный вопрос: сколько раз следует применять эту операцию? Для ряда действий, включая утончение, функция bwmorph допускает для n значение Inf (т.е. бесконечность). Вызов bwmorph с этим значением предписывает исполнение операции до тех пор, пока изображение не перестанет изменяться. Иногда это называют повторением операции до стабилизации. Например,

>> ginf = bwmorph ( f , ‘ thin ’ , Inf ) ;

>> imshow ( ginf )

Как видно из рис. 15, в), это действие приводит к существенному улучшению изображения по сравнению с рис. 9.11, в).

Рисунок 15 - а) Отпечатки пальцев из рис. 11, в) утончены один раз. б) Утончение изображения произведено два раза. в) Утончение изображения до стабилизации.

Построение остова представляет собой другой путь сокращения объектов двоичного изображения для получения множества тонких линий, которое несет важную информацию о формах исходных объектов. Функция bwmorph строит остов, когда параметр operation установлен в ‘skel’. Пусть f обозначает изображение объекта, похожего на кость, с рис. 16а). Для получения его остова мы вызываем bwmorph при n = Inf:

>> fs = bwmorph ( f , ‘ skel ’ , Inf ) ;

>> imshow ( f ) , figure , imshow ( fs )

На рис. 16б) приведен полученный остов, который вполне приемлемо отражает основные формы исходного объекта.

Процедуры построения остова и утончения часто строят лишние короткие отростки, которые иногда называются паразитическими компонентами. Процесс подчищения (или удаления) этих компонент называется усечением. Для этих целей можно использовать функцию endpoints (см. § 9.3.3). Метод заключается в последовательном обнаружении концевых точек и их удаление. Следующие простые команды делают завершающую обработку построенного остова fs изображения, которые повторяются 5 раз, для удаления концевых точек:

>> for k = 1: 5

fs = fs & ̃endpoints ( fs ) ;

end

Рис. 16в) показывает результат этих действий.

Рисунок 16 - а) Изображение в виде кости. б) Остов, полученный с помощью функции bwmorph. в) Окончательный остов после выполнения операции усечения функцией endpoints.