1. 程式人生 > >Halcon學習筆記——條形碼的定位與識別

Halcon學習筆記——條形碼的定位與識別

tex 學習筆記 nbsp com ima -s 灰度 套路 筆記

一維碼的原理與結構

技術分享

條碼基本原理是利用條紋和間隔或寬窄條紋(間隔)構成二進制的”0“和”1“,反映的是某種信息。

一維條碼數據結構,分四個區域。組成分別為靜區、起始/終止符、校驗符、數據符。

一維條碼的意識形態結構,分三條。

  1. 構成一維碼的基本單元是模塊,模塊是指條碼中最窄的條或空;
  2. 構成條碼的條或空稱為一個單元,一個單元包含多個或單個模塊;
  3. 一個單元包含的模塊數量由編碼方式決定,即形成了不同的碼制。

一維碼的定位與識別

技術分享

基本halcon工具算子,create_bar_code_model()生成模型;set_bar_code_param()設置參數;get_bar_code_object()獲取中間參數;find_bar_code()條碼解碼定位與識別。

在條碼識別過程中,碼制包括EAN碼、39碼和128碼、93碼、25碼以及codabar碼,碼制決定了條碼單元的組成形式。其中,還需要註意條碼的三個重要參數,分別為條碼密度(通常用模塊尺寸表示);條或空的寬窄比;對比度(PCS)。

在使用halocn工具算子時,還應註意常用的三個手法,打光;預處理以及設置參數。打光,主要是從光源部分著手;預處理,調整灰度值常用sacle_image()做點運算或直方圖調整;設置參數,主要包括了模塊尺寸,對比度以及閾值設置(邊緣),掃描線的操控。理解一維碼識別的原理與結構,按照halcon的常規執行套路並靈活運用三大手法,基本可以解決一維碼的所有識別問題。

Halcon學習筆記——條形碼的定位與識別