2016-10-18 13 views
1

我正在开发一个项目来提取车牌字符。我开发了一种由MSER开发的方法来分割具有复杂背景的车牌字符,并且效果很好。问题是,在某些情况下,如下所示,牌照的框架(牌照持有者)拼接或占据字符的一部分。通过具有几乎相同的颜色,字符和框架成为单个对象。从帧中提取这些字符是不可能的,所以我无法检测字符。被对象遮挡的文本的文本分割

我环顾四周,如果牌照的“水平投影”可以产生一些有用的东西,但它似乎也需要一个良好的偏斜校正算法,才能应用它,这可能不是解决这个问题的最佳方案,需要一系列新算法。因此,我想问问在这里是否存在这样一种好的方式,并且您指出了正确的方式。

在此先感谢。

(PS:我是为了保护隐私模糊车牌的一部分图像的质量是不是satifying但我认为这是不够了解的问题)

enter image description here

enter image description here

+0

通过模糊可以很清楚地看到字符。你可以模糊他们更多或模糊他们更少? – Tapio

+0

完成。感谢您的警告。 – Horizon1710

回答

1

在分割字符之前,您可以尝试用逻辑掩码限制感兴趣的区域。让我们一用一凸包,他们是真正的多才多艺:

利用Matlab 2016B:

Plate = imread(Plate.jpg); 

grayPlate = rgb2gray(Plate); % rgb -> grayscale 

bwPlate = imbinarize(grayPlate); % binarize, Otsu's method. 

bwPlate = imopen(bwPlate, strel('disk', 4)); 
% Morphological opening, removes small white areas. These bloat the convex 
% hull if let through. 

convPlate = bwconvhull(bwPlate); 

for i=1:3 %Apply the logical mask 
    tempPlate = Plate(:,:,i); 
    tempPlate(~convPlate) = 255; 
    Plate(:,:,i) = tempPlate; 
end 

结果:

Comparison of plates before and after

该车优点使我们的生活有点困难。但是,这应该更容易管理,特别是如果您摆弄灰度权重,二值化和过滤。