MATLAB 中的图像侵蚀
Ammar Ali
2021年11月29日
本教程将讨论使用 Matlab 中的 imerode()
函数查找图像的侵蚀。
使用 MATLAB 中的 imerode()
函数查找图像的侵蚀
图像的侵蚀意味着图像的缩小。为了找到图像的侵蚀,我们需要在矩阵上移动结构元素,并用邻居的最小值替换像素的值。如果邻域中的最小值为零,则像素值将设置为零。首先,我们将使用函数 imread()
读取图像并将其存储在一个变量中。之后,我们需要使用函数 im2bw()
将图像值转换为二进制,如果它不是二进制的。我们还必须创建结构元素。之后,我们需要使用 imerode()
函数,它将检查每个像素的邻居并将像素值替换为像素的最小值。例如,让我们在 Matlab 中使用矩阵作为结构元素来查找图像的侵蚀,并使用 subplot()
和 inshow()
函数将它们显示在图形中。请参阅下面的代码。
OriginalImg = imread('text.png');
OriginalImg = im2bw(OriginalImg);
ErodMat = ones(3,3);
ErodedImg = imerode(OriginalImg,ErodMat);
figure
subplot(1,2,1)
imshow(OriginalImg)
title('Orignal Image')
subplot(1,2,2)
imshow(ErodedImg)
title('Eroded Image')
输出:
在上面的代码中,我们使用了一个包含 1 的 3×3 矩阵来侵蚀原始图像。矩阵的大小与图像的侵蚀成正比。增加矩阵的大小会增加对图片的侵蚀。你可以使用所需的结构元素来侵蚀图像。例如,你可以使用另一个图像来侵蚀图像。
Author: Ammar Ali