2016-10-18 4 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

車のプロが少し難しい私たちの生活をしました。しかし、これは、特に、グレースケールの重み、二値化、およびフィルタリングを使いこなす場合には、管理が非常に簡単です。

関連する問題