0

私のナンバープレート認識アプリケーション(英国のナンバープレート)では、長方形の検出を行い、ナンバープレートの幅/長さの比率、ナンバープレートの最小の幅と長さなどのいくつかの基準を使用しています。ナンバープレート以外の面積を大幅に減らすことができました。私の最後の基準は、各候補領域の連結成分の数を取得して、研究論文でこれを読んだ車両画像の実際のナンバープレート領域を確認できるようにすることです。

私はC#とAforge.Netライブラリを使用しています。しかし、ConnectedComponentsLabelingを使用して、ナンバープレート内の接続されたコンポーネントの数を取得するにはどうすればよいですか?

4

2 に答える 2

1

私はこれをやっています:

FiltersSequence preOcr = new FiltersSequence(
    Grayscale.CommonAlgorithms.BT709, 
    new BradleyLocalThresholding());

Bitmap grayscale = preOcr.Apply(original);
var labels = new ConnectedComponentsLabeling();
labels.Apply(new Invert().Apply(grayscale));

//Console.WriteLine(labels.ObjectCount);    // Here you go
foreach (var candidate in labels.BlobCounter.GetObjectsInformation())
{
    using (Bitmap symbol = new Bitmap(candidate.Rectangle.Width, 
                                      candidate.Rectangle.Height))
    using (Graphics g2 = Graphics.FromImage(symbol))
    {
        g2.DrawImage(grayscale, 0, 0, candidate.Rectangle, GraphicsUnit.Pixel);
        symbol.Save(String.Format(@"temp\{0}-{1}.jpg",i,++n), ImageFormat.Jpeg);
        // do stuff
    }
}
于 2012-10-27T12:11:09.393 に答える
1

ナンバープレートに対応するブロブを見つけたら、このブロブイメージをブロブカウンターの別のインスタンスへの入力として使用します。結果は、このBLOBイメージ内のコンポーネントの数を示します。

于 2015-01-30T16:09:22.670 に答える