imdilate

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

Описание

пример

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

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

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

Этот синтаксис эквивалентен 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, imshow(BW2), title('Dilated')

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

originalI = imread('cameraman.tif');

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

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

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

dilatedI = imdilate(originalI,se);

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

imshowpair(originalI,dilatedI,'montage')

Создайте два плоских, элемента структурирования, имеющих форму линии, один в 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)

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

свернуть все

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

Типы данных: 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) приняты, чтобы быть – ∞ вне области изображения. Чтобы создать элемент структурирования с ненулевыми значениями высоты, используйте синтаксис 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',...) произведите плоские элементы структурирования.

Алгоритмы

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

Расширение с помощью битной упаковки описано в [3].

Ссылки

[1] Гонсалес, R. C. Р. Э. Вудс, и С. Л. Эддинс, цифровая обработка изображений Используя MATLAB, публикация Gatesmark, 2009.

[2] Haralick, R. M., и Л. Г. Шапиро, Компьютер и Видение Робота, Издание I, Аддисон-Уэсли, 1992, стр 158-205.

[3] ван ден Бумгард, R, и Р. ван Бэлен, "Методы для Быстрых Морфологических Преобразований Изображений Используя Растровые Изображения", Компьютерное зрение, Графика и Обработка изображений: Графические Модели и Обработка изображений, Издание 54, Номер 3, стр 254-258, май 1992.

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

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

Функции

Объекты

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