imreconstruct

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

Синтаксис

J = imreconstruct(marker,mask)
J = imreconstruct(marker,mask,conn)

Описание

пример

J = imreconstruct(marker,mask) выполняет морфологическую реконструкцию изображения marker под изображением mask и возвращает реконструкцию в J. Элементы marker должны быть меньше чем или равны соответствующим элементам mask. Если значения в marker больше, чем соответствующие элементы в mask, то imreconstruct отсекает значения к уровню mask прежде, чем запустить процедуру.

Опционально можно выполнить морфологическую реконструкцию 2D изображений с помощью графического процессора (требует Parallel Computing Toolbox™). Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.

J = imreconstruct(marker,mask,conn) выполняет морфологическую реконструкцию с заданной возможностью соединения, conn.

Примеры

свернуть все

Считайте полутоновое изображение и отобразите его.

I = imread('snowflakes.png');
figure
imshow(I)

Настройте конкурс изображения, чтобы создать результаты отображения и рисунок маски.

mask = adapthisteq(I);
figure
imshow(mask)

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

se = strel('disk',5);
marker = imerode(mask,se);
imshow(marker)

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

obr = imreconstruct(marker,mask);
figure
imshow(obr,[])

Считайте логическое изображение в рабочую область и отобразите ее. Это - рисунок маски.

mask = imread('text.png');
figure
imshow(mask)

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

marker = false(size(mask));
marker(13,94) = true;

Выполните сегментацию рисунка маски с помощью изображения маркера.

im = imreconstruct(marker,mask);
figure
imshow(im)

Считайте рисунок маски и создайте gpuArray.

mask = gpuArray(imread('text.png'));
figure, imshow(mask)

Создайте изображение маркера gpuArray.

marker = gpuArray.false(size(mask));
marker(13,94) = true;

Выполните сегментацию и отобразите результат.

J = imreconstruct(marker,mask);
figure, imshow(J)

Входные параметры

свернуть все

Введите изображение, заданное как числовой или логический массив.

Чтобы выполнить морфологическую реконструкцию с помощью графического процессора, задайте marker как gpuArray, который содержит 2D числовую или логическую матрицу. imreconstruct не поддерживает изображения RGB и 3-D изображения на графическом процессоре.

Пример: se = strel('disk',5); marker = imerode(mask,se);

Пример: marker = gpuArray(imread('text.png'));

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Рисунок маски, заданный как числовой или логический массив, одного размера и тип данных как marker.

Чтобы выполнить морфологическую реконструкцию с помощью графического процессора, задайте mask как gpuArray, который содержит 2D числовую или логическую матрицу. imreconstruct не поддерживает изображения RGB и 3-D рисунки маски на графическом процессоре.

Пример: mask = imread('text.png');

Пример: mask = gpuArray(imread('text.png'));

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Пиксельная возможность соединения, заданная как одно из значений в этой таблице. Возможностью соединения по умолчанию является 8 для 2D изображений и 26 для 3-D изображений.

Значение

Значение

Двумерные возможности соединения

4

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

8

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

3D возможности соединения

6

Пиксели соединяются, если их поверхности затрагивают. Окружение пикселя является смежными пикселями в:

  • Одно из этих направлений: в, левый, правильный, и вниз

18

Пиксели соединяются, если их поверхности или ребра затрагивают. Окружение пикселя является смежными пикселями в:

  • Одно из этих направлений: в, левый, правильный, и вниз

  • Комбинация двух направлений, таких как право вниз или в -

26

Пиксели соединяются, если их поверхности, ребра или углы затрагивают. Окружение пикселя является смежными пикселями в:

  • Одно из этих направлений: в, левый, правильный, и вниз

  • Комбинация двух направлений, таких как право вниз или в -

  • Комбинация трех направлений, такой как "в праве" или "в сниженном"

Для более высоких размерностей imreconstruct использует значение по умолчанию conndef(ndims(marker),'maximal').

Возможность соединения может также быть задана более общим способом к любой размерности путем определения 3-by-3-by-... Матрица-by-3 0 s и 1 s. 1 - оцененные элементы задают местоположения окружения относительно центрального элемента conn. Обратите внимание на то, что conn должен быть симметричным о своем центральном элементе. Смотрите Задающие Пользовательские Возможности соединения для получения дополнительной информации.

Типы данных: double | logical

Выходные аргументы

свернуть все

Восстановленное изображение, возвращенное как числовой или логический массив, в зависимости от входного изображения, которое одного размера как входное изображение.

Если морфологическая реконструкция выполняется с помощью графического процессора, то J возвращен как gpuArray, который содержит числовую или логическую матрицу.

Советы

  • Морфологическая реконструкция является алгоритмическим основанием для нескольких других функций Image Processing Toolbox™, включая imclearborder, imextendedmax, imextendedmin, imfill, imhmax, imhmin и imimposemin.

  • Performance note: Эта функция может использовать в своих интересах аппаратную оптимизацию для типов данных logical, uint8, uint16, single и double, чтобы запуститься быстрее. Аппаратная оптимизация требует, чтобы marker и mask были 2D изображениями и conn, чтобы быть или 4 или 8.

Алгоритмы

imreconstruct использует быстрый гибридный полутоновый алгоритм реконструкции, описанный в [1].

Ссылки

[1] Винсент, L., "Морфологическая Полутоновая Реконструкция в Анализе изображения: Приложения и Эффективные Алгоритмы", Транзакции IEEE на Обработке изображений, Издании 2, № 2, апрель 1993, стр 176-201.

Расширенные возможности

Представлено до R2006a