如何删除字符图像中的黑色像素

时间:2017-06-11 03:14:17

标签: matlab image-processing

我正在使用一个项目,使用matlab中的图像处理和神经网络来识别车牌号中的字符。我已经提取了诸如端点之类的功能等。我的问题是当对图像进行角色化时,在角色(图像1)内部仍然存在一些像素,因此我没有获得平滑的骨架图像,因为我想要的是稀疏图像。有人可以帮我删除角色中的这些黑色像素。enter image description here

2 个答案:

答案 0 :(得分:3)

一种非常简单的方法是对图像应用积极的中值滤波器:

im = imread('image.png');
im = rgb2gray(im); %convert to grayscale
im_filtered = medfilt2(im, [10 10]); %filter

[10 10]的滤镜尺寸适用于此特定图像。

答案 1 :(得分:1)

更通用的解决方案,无需定义过滤器大小:

BW2= imfill(BW,'holes') % fills holes

BW是二进制图像(我假设你的图像是)。我对牌照不太熟悉 - 如果某些角色包含封闭的空格,它也会填补这些空间。