imdilate

Расширьте изображение

Описание

пример

J = imdilate(I,SE) расширяет шкалу полутонов, двоичный файл или упакованное бинарное изображение I использование элемента структурирования SE.

J = imdilate(I,nhood) расширяет изображение I, где nhood матрица 0s и 1s, который задает окружение элемента структурирования.

Этот синтаксис эквивалентен imdilate (я, strel(nhood)).

J = imdilate(___,packopt) задает ли I упакованное бинарное изображение.

пример

J = imdilate(___,shape) задает размер выходного изображения.

Примеры

свернуть все

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

BW = imread('text.png');

Создайте вертикальный элемент структурирования, имеющий форму линии.

se = strel('line',11,90);

Расширьте изображение с вертикальным элементом структурирования линии и сравните результаты.

BW2 = imdilate(BW,se);
imshow(BW), title('Original')

Figure contains an axes object. The axes object with title Original contains an object of type image.

figure, imshow(BW2), title('Dilated')

Figure contains an axes object. The axes object with title Dilated contains an object of type image.

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

originalI = imread('cameraman.tif');

Создайте неплоский шарообразный элемент структурирования.

se = offsetstrel('ball',5,5);

Расширьте изображение.

dilatedI = imdilate(originalI,se);

Отобразите оригинальное изображение и расширенное изображение.

imshowpair(originalI,dilatedI,'montage')

Figure contains an axes object. The axes object contains an object of type image.

Создайте два плоских, элемента структурирования, имеющих форму линии, один в 0 градусах и другом в 90 градусах.

se1 = strel('line',3,0)
se1 = 
strel is a line shaped structuring element with properties:

      Neighborhood: [1 1 1]
    Dimensionality: 2

se2 = strel('line',3,90)
se2 = 
strel is a line shaped structuring element with properties:

      Neighborhood: [3x1 logical]
    Dimensionality: 2

Расширьте скалярное значение 1 с обоими элементами структурирования в последовательности, с помощью 'full' опция.

composition = imdilate(1,[se1 se2],'full')
composition = 3×3

     1     1     1
     1     1     1
     1     1     1

Создайте логический 3D объем с двумя точками.

BW = false(100,100,100);
BW(25,25,25) = true;
BW(75,75,75) = true;

Расширьте 3D объем с помощью сферического элемента структурирования.

se = strel('sphere',25);
dilatedBW = imdilate(BW,se);

Визуализируйте расширенный объем изображений.

figure
isosurface(dilatedBW, 0.5)

Figure contains an axes object. The axes object contains an object of type patch.

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

свернуть все

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Структурирование элемента в виде скалярного strel объект или offsetstrel объект. SE может также быть массив strel объект или offsetstrel объекты, в этом случае imdilate выполняет несколько расширений входного изображения, с помощью каждого элемента структурирования по очереди.

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

Структурирование окружения элемента в виде матрицы 0s и 1s.

Пример: [0 1 0; 1 1 1; 0 1 0]

Индикатор упакованного бинарного изображения в виде одного из следующих.

Значение

Описание

'notpacked'

I обработан как нормальный массив.

'ispacked'

I обработан как упакованное бинарное изображение, как произведено bwpacki должен быть 2D uint32 массив и SE должен быть плоский 2D элемент структурирования. Значение shape должен быть 'same'.

Типы данных: char | string

Размер выходного изображения в виде одного из следующих.

Значение

Описание

'same'

Выходное изображение одного размера с входным изображением. Если значение packopt 'ispacked', затем shape должен быть 'same'.

'full'

Вычислите полное расширение.

Типы данных: char | string

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

свернуть все

Расширенное изображение, возвращенное как полутоновое изображение, бинарное изображение или упакованное бинарное изображение. Если входное изображение I упаковывается двоичный файл, затем J также упаковывается двоичный файл. J имеет совпадающий тип данных как I.

Больше о

свернуть все

Бинарное расширение

Бинарное расширение A B, обозначенный AB, задано как операция присвоения:

AB={z|(B^)zA},

где B^ отражение элемента структурирования B. Другими словами, это - набор пиксельных местоположений z, где отраженный элемент структурирования перекрывается с приоритетными пикселями в A, когда переведено в z. Обратите внимание на то, что некоторые приложения используют определение расширения, в котором не отражается элемент структурирования.

Для получения дополнительной информации о бинарном расширении, см. [1].

Полутоновое расширение

В общей форме полутонового расширения элемент структурирования имеет высоту. Полутоновое расширение A (x, y) B (x, y) задано как:

(AB)(x,y)=max{A(xx,yy)+B(x,y)|(x,y)DB},

где DB является областью элемента структурирования, B и A (x, y) приняты, чтобы быть – ∞ вне области изображения. Обратите внимание на то, что некоторые приложения задают полутоновое расширение с помощью уравнения с A (x + x ′, y + y ′) вместо A (xx ′, yy ′).

Чтобы создать элемент структурирования с ненулевыми значениями высоты, используйте синтаксис strel(nhood,height), где height дает значения высоты и nhood соответствует области элемента структурирования, DB.

Обычно, полутоновое расширение выполняется с плоским элементом структурирования (B (x, y) = 0). Полутоновое расширение с помощью такого элемента структурирования эквивалентно локально-максимальному оператору:

(AB)(x,y)=max{A(xx,yy)|(x,y)DB}.

Весь strel синтаксисы за исключением strel(nhood,height), strel('arbitrary',nhood,height), и strel('ball',___) произведите плоские элементы структурирования.

Советы

  • Если размерность изображения I больше размерности элемента структурирования, затем imdilate функция применяет то же морфологическое расширение ко всем плоскостям по более высоким измерениям.

    Можно использовать это поведение, чтобы выполнить морфологическое расширение на изображениях RGB. Укажите 2D элемент структурирования для изображений RGB, чтобы работать с каждым цветовым каналом отдельно.

  • Когда вы задаете окружение элемента структурирования, imdilate определяет центральный элемент nhood floor((size(nhood)+1)/2).

  • imdilate автоматически использует в своих интересах разложение объекта элемента структурирования (если оно существует). Кроме того, при выполнении бинарного расширения с объектом элемента структурирования, который имеет разложение, imdilate автоматически упаковка бинарного изображения использования, чтобы ускорить расширение [3].

Ссылки

[1] Гонсалес, Рафаэль К., Ричард Э. Вудс и Стивен Л. Эддинс. Цифровая обработка изображений Используя MATLAB. Третий выпуск. Ноксвилл: Gatesmark Publishing, 2020.

[2] Haralick, Роберт М. и Линда Г. Шапиро. Компьютер и Видение Робота. 1-й редактор США: Addison Wesley Longman Publishing Co., Inc., 1992, стр 158-205.

[3] Boomgaard, Рейн ван ден и Ричард ван Бэлен. “Методы для Быстрых Морфологических Преобразований Изображений Используя Растровые Бинарные изображения”. CVGIP: Графические Модели и Обработка изображений 54, № 3 (1 мая 1992): 252–58. https://doi.org/10.1016/1049-9652 (92) 90055-3.

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

Смотрите также

Функции

Объекты

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