使用 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 矩阵来侵蚀原始图像。矩阵的大小与图像的侵蚀成正比。增加矩阵的大小会增加对图片的侵蚀。你可以使用所需的结构元素来侵蚀图像。例如,你可以使用另一个图像来侵蚀图像。