imdilate

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

Описание

пример

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

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

Этот синтаксис эквивалентен имдилату (I, 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. The axes with title Original contains an object of type image.

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

Figure contains an axes. The axes 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. The axes 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. The axes 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 и 1с.

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

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

Значение

Описание

'notpacked'

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

'ispacked'

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

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

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

Значение

Описание

'same'

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

'full'

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

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

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

свернуть все

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

Подробнее о

свернуть все

Двоичное Расширение

Двойное расширение A B, обозначенным <reservedrangesplaceholder1> ⨁ <reservedrangesplaceholder0> , определено как операция набора:

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] Gonsalez, R. C., R. E. Woods, and S. L. Eddins, Digital Image Processing Using MATLAB, Gatesmark Publishing, 2009.

[2] Haralick, R. M., and L. G. Shapiro, Computer and Robot Vision, Vol. I, Addison-Wesley, 1992, pp. 158-205.

[3] van den Boomgard, R, and R. van Balen, «Methods for Fast Morphological Image Transform Using Bitmapped Images», Computer Vision, Graphics and Image Processing: Graphical Models and, Vol. 54, NUmer 3, pp.

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

..

См. также

Функции

Объекты

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