2012-07-22 63 views
0

在我的車牌識別應用程序(英國車牌號)中,我做了一個矩形檢測,並且使用了幾個標準,例如數字的寬度/長度比板以及號碼牌的最小寬度和長度。我已經成功地減少了非車牌區域。我的最後一個標準是獲取每個候選區域的連接組件數量,以便我可以驗證研究論文中讀到的車輛圖像的真實車牌區域。如何使用Aforge.Net計算blob中連接組件的數量

我正在使用C#和Aforge.Net庫。但是,如何使用ConnectedComponentsLabeling獲取車牌號碼中連接的組件的數量?

回答

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 
    } 
} 
1

當你找到對應號牌斑點,然後用這個團塊圖像作爲輸入到計數器斑點的另一個實例。結果會告訴你這個blob Image中的組件數量。