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

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

Этот рисунок иллюстрирует эту обработку в 1-D. Каждое последующее расширение ограничено, чтобы лежать под маской. Когда дальнейшее расширение перестает менять изображение, обработка прекращается. Конечным расширением является восстановленное изображение. (Примечание: фактическая реализация этой операции в тулбоксе осуществляется гораздо эффективнее. См. 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.

Понимание функций Maxima и Minima

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

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

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

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

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

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

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

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

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

B = imregionalmax(A)

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

B = imextendedmax(A,2)

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

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

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

Примечание

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

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

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

B = imhmax(A,2)

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

Навязывание минимума

Вы можете подчеркнуть определенные минимумы (темные объекты) в изображении, используя imimposemin функция. The 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

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

Навязывание минимума

Похожие темы