MATLAB 中的图像侵蚀

Ammar Ali 2021年11月29日
MATLAB 中的图像侵蚀

本教程将讨论使用 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
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