【发布时间】:2017-06-11 03:14:17
【问题描述】:
我正在开展一个项目,使用 matlab 中的图像处理和神经网络来识别车牌中的字符。我已经提取了端点等特征。我的问题是,在对图像进行骨骼化时,字符(image1)内部仍有一些像素,因此我没有得到我想要的平滑的骨骼化图像,这是一个细化的图像。谁能帮我去除字符内的这些黑色像素。
【问题讨论】:
我正在开展一个项目,使用 matlab 中的图像处理和神经网络来识别车牌中的字符。我已经提取了端点等特征。我的问题是,在对图像进行骨骼化时,字符(image1)内部仍有一些像素,因此我没有得到我想要的平滑的骨骼化图像,这是一个细化的图像。谁能帮我去除字符内的这些黑色像素。
【问题讨论】:
一种非常简单的方法是对图像应用积极的中值过滤器:
im = imread('image.png');
im = rgb2gray(im); %convert to grayscale
im_filtered = medfilt2(im, [10 10]); %filter
[10 10] 的过滤器大小适用于该特定图像。
【讨论】:
不需要定义过滤器大小的更通用的解决方案:
BW2= imfill(BW,'holes') % fills holes
其中 BW 是二进制图像(我假设您的图像是)。我对牌照不是很熟悉 - 如果某些字符包含封闭空间,它也会填满这些空间。
【讨论】: