imdilate

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

Описание

пример

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

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