如下图所示

我必须检测图像右下角的组件。结果应该如下所示:

在代码中,阈值和侵蚀如下所示:
clc; close all;
I = imread('Leiterplatte.png');
se = strel('rectangle', [2 4]);
Ie1 = imerode(I,se);
imshow(I);
%figure; histogram(I)
Im = Ie1>40 & Ie1<128;
figure; imshow(Im)
se = strel('rectangle', [8 8]);
Ie = imerode(Im,se);
figure; imshow(Ie)
I(Ie)=255;
figure; imshow(I)我得到了以下结果:

但是检测到的矩形或者太小,或者如果不是,那么斑点仍然在图像中,如下所示:

发布于 2021-01-05 06:09:13
你就快到了。使用一些常量和一个imopen调用来删除斑点就可以完成工作:
I = imread('RuaDN.png');
se = strel('rectangle', [4 8]);
Ie1 = imerode(I,se);
Im = Ie1>70 & Ie1<130;
se = strel('rectangle', [8 16]);
Ie = imopen(Im, se);
O = I;
O(Ie) = 255;

https://stackoverflow.com/questions/65567203
复制相似问题