1. 程式人生 > >Halcon中使用OCR時字元的分割以及字元粘連的處理方法

Halcon中使用OCR時字元的分割以及字元粘連的處理方法

  字元的分割是指在原圖中將字元分割為單個的字元區域。這樣,這些單個的字元才能被當作字元樣本來訓練分類器。因此,樣本字元分割的好壞很大程度上影響mlp分類器的分類效果。
  那麼,怎樣才能判斷自己的字元分割是好的呢?標準是:字元不要有因干擾導致的洞孔。建議的字元分割步驟如下:

1)使用小閾值來分割字元,使字元經可能的飽滿。此時第一個分割出來的字元稱為原始字元區域
 threshold (ImageReduced, RawSegmentation, 83, 255)
(2)使用填充運算元,將整個字元區域填充,此時的字元稱成胖字元
fill_up (RawSegmentation, RegionFillUp
)
(3)使用開運算濾除雜波的干擾 opening_circle (RegionFillUp,RemovedNoise, 2.5) (4)根據形狀特徵選取胖字元區域 select_shape(RemovedNoise : ConnectedPatterns : 'area', and, 300, 3000 : ) (5)胖字元區域與原始字元區域相交得到最後的字元區域 intersection (ConnectedPatterns, RawSegmentation, NumberCandidates) (6)最後,呼叫connection運算元得到每一個字元的聯通區域 connection ( NumberCandidates
: ConnectedNumberCandidates : : )

  注意,如過字元之間存在粘連導致connection難以分割,則需要呼叫開運算運算元來消除粘連。

該特殊矩形開運算運算元的特別之處在於消除粘連區域,同時保留原始字元區域
opening_rectangle1 (Solid, Cut, 1, 7)