exponenta event banner

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(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 и 1s.

Пример: [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, обозначенное AB, определяется как операция набора:

A⊕B={z| (B ^) z∩A≠∅},

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

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

Расширение в градациях серого

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

(A⊕B) (x, y) = max {A (x x , y y ) + B (x , y ′) | (x ′, y ′) ∈DB},

где DB - область элемента структурирования B, а A (x, y) предполагается - ∞ вне области изображения. Для создания структурного элемента с ненулевыми значениями высоты используйте синтаксисstrel(nhood,height), где height дает значения высоты и nhood соответствует домену элемента структурирования, DB.

Чаще всего расширение в градациях серого выполняют плоским структурирующим элементом (B (x, y) = 0). Расширение в градациях серого с использованием такого элемента структурирования эквивалентно оператору local-maximum:

(A⊕B) (x, y) = max {A (x x , y y ) | (x ′, y ′) ∈DB}.

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

Алгоритмы

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

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

Ссылки

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

[2] Харалик, Р. М., и Л. Г. Шапиро, Computer and Robot Vision, Vol. I, Addison-Wesley, 1992, стр. 158-205.

[3] ван ден Бумгард, R и Р. ван Бален, «Методы быстрых морфологических преобразований изображений с использованием растровых изображений», компьютерное зрение, графика и обработка изображений: графические модели и обработка изображений, том 54, номер 3, стр. 254-258, май 1992.

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

..

См. также

Функции

Объекты

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