Won*_*ong 3 algorithm matlab image-processing flood-fill morphological-analysis
我有一个二进制图像的牌照.
我对图像进行了扩张,使边缘变粗,然后"填充",最后是减薄的侵蚀:
但我希望我的输出是这样的:
有人可以帮帮我吗?并告诉我如何获得所需的输出.
ab=imread('test1.png');
level=graythresh(ab);
ab=im2bw(ab,level);
se=strel('disk',1);
ab=imdilate(ab,se);
ab=imfill(ab,'holes');
ab=bwmorph(ab,'thin',1);
ab=imerode(ab,strel('line',3,90));
figure();imshow(ab,[]); title('floodFilling');
Run Code Online (Sandbox Code Playgroud)
您可以通过其他一些聪明的调用来完成此操作imfill
.假设您的二进制图像在数组中,这是一种方法BW
:
Tmp = imfill(BW, 'holes');
Tmp2 = imfill(Tmp-BW, 'holes');
Res = Tmp - imfill(BW & Tmp2, 'holes');
Run Code Online (Sandbox Code Playgroud)
并且Res
是包含所需输出的二进制图像: