Этот пример показывает, как расширить изображение с помощью функции imdilate
. Морфологическая операция расширения расширяет или утолщает основные объекты в изображении.
Создайте двухуровневое изображение простой выборки, содержащее один основной объект: квадратная область 1's посреди изображения.
BW = zeros(9,10); BW(4:6,4:7) = 1
BW = 9×10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 0 0 0
0 0 0 1 1 1 1 0 0 0
0 0 0 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
imshow(imresize(BW,40,'nearest'))
Создайте элемент структурирования, чтобы использовать с imdilate
. Чтобы расширить геометрический объект, вы обычно создаете элемент структурирования, который является той же формой как объект.
SE = strel('square',3)
SE = strel is a square shaped structuring element with properties: Neighborhood: [3x3 logical] Dimensionality: 2
Расширьте изображение, передав входное изображение и элемент структурирования к imdilate
. Отметьте, как расширение добавляет ранг 1's всем сторонам основного объекта.
BW2 = imdilate(BW,SE)
BW2 = 9×10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 0 0
0 0 1 1 1 1 1 1 0 0
0 0 1 1 1 1 1 1 0 0
0 0 1 1 1 1 1 1 0 0
0 0 1 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
imshow(imresize(BW2,40,'nearest'))
Для сравнения создайте элемент структурирования, который является различной формой. Расширьте оригинальное изображение с помощью нового элемента структурирования.
SE2 = strel('diamond',1); BW3 = imdilate(BW,SE2); imshow(imresize(BW3,40,'nearest'))