MATLAB 图像扩张

Ammar Ali 2022年5月11日
MATLAB 图像扩张

本教程将讨论使用 Matlab 中的 imdilate() 函数对图像进行膨胀。

使用 MATLAB 中的 imdilate() 函数扩展图像

膨胀通过在图像中存在的对象的边界上添加像素来增加图像中的像素数量。

我们可以使用 Matlab 的内置函数 imdilate() 在 Matlab 中对图像进行扩张。为了扩大图像,我们必须提供输入图像和结构元素。结构元素可以是垂直线、滚动球或任何其他元素。

例如,让我们使用 imread() 函数读取图像并使用 offsetstrel() 函数创建一个球形结构元素,然后使用滚动球扩展图像,然后我们将同时显示原始图像作为使用 subplot() 函数的扩张后的图像。

请参阅下面的代码。

original_Image = imread('cameraman.tif');
structuring_element = offsetstrel('ball',5,5);
dilated_Image = imdilate(original_Image,structuring_element);
subplot(1,2,1)
imshow(original_Image)
title('Original Image')
subplot(1,2,2)
imshow(dilated_Image)
title('Dilated Image')

输出:

使用滚动球进行图像扩张

在输出中,右侧图像是放大后的图像,你可以在图像中存在的对象边缘看到白球。

输入图像可以是灰度、二值或压缩二值图像。结构元素应该是一个 strel 对象、offsetstrel 对象和 streloffsetstrell 对象的数组。

默认情况下,imdilate() 函数将图像视为未打包,但我们可以使用 pakopt 属性将其更改为打包。

默认情况下,imdilate() 函数将返回与输入图像大小相同的图像,但我们可以使用 shape 属性将输出图像的形状更改为完全扩张。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - MATLAB Image