MATLAB 图像扩张
Ammar Ali
2022年5月11日
本教程将讨论使用 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
对象和 strel
或 offsetstrell
对象的数组。
默认情况下,imdilate()
函数将图像视为未打包,但我们可以使用 pakopt
属性将其更改为打包。
默认情况下,imdilate()
函数将返回与输入图像大小相同的图像,但我们可以使用 shape 属性将输出图像的形状更改为完全扩张。
Author: Ammar Ali