用于车牌识别的充水

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)

Rat*_*ert 6

您可以通过其他一些聪明的调用来完成此操作imfill.假设您的二进制图像在数组中,这是一种方法BW:

Tmp = imfill(BW, 'holes');
Tmp2 = imfill(Tmp-BW, 'holes');
Res = Tmp - imfill(BW & Tmp2, 'holes');
Run Code Online (Sandbox Code Playgroud)

并且Res是包含所需输出的二进制图像:

在此输入图像描述