Морфологическая реконструкция

Морфологическая реконструкция может считаться концептуально повторными расширениями изображения, названного marker image, до контура подгонок маркера изображений под вторым изображением, названным mask image. В морфологической реконструкции peaks в изображении маркера “распространяется” или расширяет.

Эта фигура иллюстрирует эту обработку в 1D. Каждое последовательное расширение ограничивается лечь под маской. Когда дальнейшее расширение прекращает изменять изображение, обрабатывая остановки. Итоговое расширение является восстановленным изображением. (Примечание: фактическая реализация этой операции в тулбоксе сделана намного более эффективно. Дополнительную информацию см. в странице с описанием imreconstruct.) Данные показывают последовательные расширения маркера.

Повторные расширения изображения маркера, ограниченного маской

Морфологическая реконструкция основана на морфологическом расширении, но отметьте следующие уникальные свойства:

  • Обработка основана на двух изображениях, маркере и маске, а не одном изображении и элементе структурирования.

  • Обработка основана на концепции пиксельной возможности соединения, а не элементе структурирования.

  • Обработка повторений до устойчивости; т.е. изображение больше не изменяется.

Понимание маркера и маски

Морфологическая реконструкция обрабатывает одно изображение, названное маркером, на основе характеристик другого изображения, названного маской. Звездные часы или peaks, в изображении маркера задают, где обработка начинается. Обработка продолжается, пока значения изображений не прекращают изменяться.

Чтобы проиллюстрировать морфологическую реконструкцию, рассмотрите это простое изображение. Это содержит две первичных области, блоки пикселей, содержащих значения 14 и 18. Фон, в основном, все установлен в 10 с некоторым пиксельным набором к 11.

Чтобы морфологически восстановить это изображение, выполните эти шаги:

  1. Создайте изображение маркера. Как с элементом структурирования в расширении и эрозии, характеристики изображения маркера определяют обработку, выполняемую в морфологической реконструкции. Peaks в изображении маркера должен идентифицировать местоположение объектов в рисунке маски, который вы хотите подчеркнуть.

    Один способ создать изображение маркера состоит в том, чтобы вычесть константу из рисунка маски, с помощью imsubtract.

    marker = imsubtract(A,2)
    marker =
         8     8     8     8     8     8     8     8     8     8
         8    12    12    12     8     8     9     8     9     8
         8    12    12    12     8     8     8     9     8     8
         8    12    12    12     8     8     9     8     9     8
         8     8     8     8     8     8     8     8     8     8
         8     9     8     8     8    16    16    16     8     8
         8     8     8     9     8    16    16    16     8     8
         8     8     9     8     8    16    16    16     8     8
         8     9     8     9     8     8     8     8     8     8
         8     8     8     8     8     8     9     8     8     8
    
  2. Вызовите функцию imreconstruct, чтобы морфологически восстановить изображение. В выходном изображении отметьте, как все колебания интенсивности кроме пика интенсивности были удалены.

    recon = imreconstruct(marker, mask)

Нахождение Peaks и долин

Полутоновые изображения могут думаться в трех измерениях: x-и оси Y представляют положения пикселя, и ось z представляет интенсивность каждого пикселя. В этой интерпретации значения интенсивности представляют повышения, как в топографической карте. Областями высокой интенсивности и низкой интенсивности в изображении, peaks и долинах в топографических терминах, могут быть важные морфологические функции, потому что они часто отмечают соответствующие объекты изображения.

Например, в изображении нескольких сферических объектов, точки высокой интенсивности могли представлять верхние части объектов. Используя морфологическую обработку, эти максимумы могут использоваться, чтобы идентифицировать объекты в изображении.

Этот раздел затрагивает эти темы:

Терминология

Этот раздел использует следующие термины.

Термин

Определение

глобальные максимумы

Самые высокие региональные максимумы в изображении. Смотрите запись для региональных максимумов в этой таблице для получения дополнительной информации.

глобальные минимумы

Самые низкие региональные минимумы в изображении. Смотрите запись для региональных минимумов в этой таблице для получения дополнительной информации.

региональные максимумы

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

региональные минимумы

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

Понимание максимумов и функций минимумов

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

Эта фигура иллюстрирует концепцию в 1D.

Нахождение областей высокой или низкой интенсивности

Тулбокс включает функции, которые можно использовать, чтобы найти области высокой или низкой интенсивности в изображении:

  • imregionalmax и функции imregionalmin идентифицируют все региональные минимумы или максимумы.

  • imextendedmax и функции imextendedmin идентифицируют региональные минимумы или максимумы, которые больше, чем или меньше, чем заданный порог.

Функции принимают полутоновое изображение как вход и возвращают двухуровневое изображение, как выведено. В выходном двухуровневом изображении региональные минимумы или максимумы установлены в 1; все другие пиксели установлены в 0.

Например, это простое изображение содержит два первичных региональных максимума, блоки пикселей, содержащих значение 13 и 18, и несколько меньших максимумов, набора к 11.

Двухуровневое изображение, возвращенное imregionalmax, точно определяет все эти региональные максимумы.

B = imregionalmax(A)

Вы можете хотеть только идентифицировать области изображения, где изменение в интенсивности является экстремальным значением; то есть, различие между пикселем и соседними пикселями больше, чем (или меньше, чем) определенный порог. Например, чтобы найти только те региональные максимумы в демонстрационном изображении, A, которые являются по крайней мере двумя модулями выше, чем их соседи, использует imextendedmax.

B = imextendedmax(A,2)

Подавление минимумов и максимумов

В изображении каждое маленькое колебание интенсивности представляет региональный минимум или максимум. Вы можете только интересоваться значительными минимумами или максимумами а не этими меньшими минимумами и максимумами, вызванными фоновой структурой.

Чтобы удалить менее значительные минимумы и максимумы, но сохранить значительные минимумы и максимумы, используйте функция imhmin или imhmax. С этими функциями можно задать контрастные критерии или пороговый уровень, h, который подавляет все максимумы, высота которых является меньше, чем h или чьи минимумы больше, чем h.

Примечание

imregionalmin, imregionalmax, imextendedmin и функции imextendedmax возвращают двухуровневое изображение, которое отмечает местоположения региональных минимумов и максимумов в изображении. imhmax и функции imhmin производят измененное изображение.

Например, это простое изображение содержит два первичных региональных максимума, блоки пикселей, содержащих значение 14 и 18, и несколько меньших максимумов, набора к 11.

Чтобы устранить все региональные максимумы кроме двух значительных максимумов, используйте imhmax, задавая пороговое значение 2. Обратите внимание на то, что imhmax только влияет на максимумы; ни одно из других пиксельных значений не изменяется. Два значительных максимума остаются, несмотря на то, что их высоты уменьшаются.

B = imhmax(A,2)

Эта фигура берет вторую строку из демонстрационного изображения, чтобы проиллюстрировать в 1D, как imhmax изменяет профиль изображения.

Наложение минимума

Можно подчеркнуть определенные минимумы (темные объекты) в изображении с помощью функции imimposemin. Функция imimposemin использует морфологическую реконструкцию, чтобы устранить все минимумы из изображения кроме минимумов, которые вы задаете.

Чтобы проиллюстрировать процесс наложения минимума, этот код создает простое изображение, содержащее два первичных региональных минимума и несколько других региональных минимумов.

mask = uint8(10*ones(10,10));
mask(6:8,6:8) = 2;
mask(2:4,2:4) = 7;
mask(3,3) = 5;
mask(2,9) = 9;
mask(3,8) = 9;
mask(9,2) = 9;
mask(8,3) = 9

Создание изображения маркера

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

Этот пример использует imextendedmin, чтобы получить двухуровневое изображение, которое показывает местоположения двух самых глубоких минимумов.

marker = imextendedmin(mask,1)

Применение изображения маркера к маске

Теперь используйте imimposemin, чтобы создать новые минимумы в рисунке маски в точках, заданных изображением маркера. Отметьте, как imimposemin устанавливает значения пикселей, заданных изображением маркера к самому низкому значению, поддержанному, по условию вводят (0 для значений uint8). imimposemin также изменяет значения всех других пикселей в изображении, чтобы устранить другие минимумы.

I = imimposemin(mask,marker)
I =
    11    11    11    11    11    11    11    11    11    11
    11     8     8     8    11    11    11    11    11    11
    11     8     0     8    11    11    11    11    11    11
    11     8     8     8    11    11    11    11    11    11
    11    11    11    11    11    11    11    11    11    11
    11    11    11    11    11     0     0     0    11    11
    11    11    11    11    11     0     0     0    11    11
    11    11    11    11    11     0     0     0    11    11
    11    11    11    11    11    11    11    11    11    11
    11    11    11    11    11    11    11    11    11    11

Эта фигура иллюстрирует в 1D, как imimposemin изменяет профиль строки 2 изображения.

Наложение минимума

Похожие темы