我将在这个项目中使用的空间分辨率图像是 1000x563。我在这一步的目标是删除所有不需要的白色像素,但不是车牌,这样我就可以准确地分割车牌。但问题是我无法清楚地删除那些不需要的像素。有人可以帮我改进代码吗?
出自: 那么, 那么, 最后,
当您观察最后一张图像时,仍然有很多不需要的白色像素。请帮忙 !!
ab=imread('image4.jpg');
ab=rgb2gray(ab);
level=graythresh(ab);
ab=im2bw(ab,level);
ab=medfilt2(ab,[3 3]);
ab=edge(ab,'Canny');
figure(); imshow(ab);
Tmp = imfill(ab, 'holes'); %flood filling techniques
Tmp2 = imfill(Tmp-ab, 'holes');
Res = Tmp - imfill(ab & Tmp2, 'holes');
figure(); imshow(Res,[]);
% keeping the white pixels area between 200 to 1000
LB = 200;
UB = 1000;
Res = xor(bwareaopen(Res,LB), bwareaopen(Res,UB));
figure, imshow(Res,[]);
se = strel('disk',2);
Res = imerode(Res,se);
Res=imdilate(Res,se);
Res = bwareaopen(Res, 200);
figure();
imshow(Res,[]);