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

Морфологическая реконструкция может считаться концептуально повторными расширениями изображения, названного 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)

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

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

Чтобы удалить менее значительные минимумы и максимумы, но сохранить значительные минимумы и максимумы, используйте imhmax или imhmin функция. С этими функциями можно задать контрастные критерии или пороговый уровень, 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 изображения.

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

Похожие темы