徐達圣 李桂熙 覃翔宇
摘 要:本文通過對條碼圖像進行預處理、邊緣檢測、閉運算實現(xiàn)條碼定位,同時提出一種新的條碼傾斜角度計算方法,以校正歪斜條碼,通過改進的自適應分段線性灰度變換方法、基于迭代閾值的二值化方法進行條碼圖像預處理,提高了解碼率。
關鍵詞:條形碼;圖像處理;解碼率
DOI:10.16640/j.cnki.37-1222/t.2019.09.135
0 引 言
基于圖像的條碼識別屬于模式識別的研究范疇,主要應用于智能終端、物體分類等領域,國內外學者已經取得諸多重要研究成果并進行了實際應用。但這些研究仍存在不足,對于對比度不高或者存在歪斜的條碼,識別率和準確度還待提高。
1 條碼識別
條碼識別經過條碼定位、條碼校正、預處理、條碼解碼四步完成。
1.1 條碼定位
條碼定位過程包括圖像灰度化、混合濾波器降噪、邊緣檢測、形態(tài)學閉運算。
1.1.1 混合濾波器降噪
采用幾何均值濾波器和中值均值濾器組成的混合濾波器[1]對圖像進行降噪,保持去噪能力的同時能保留更多圖像邊緣細節(jié)。
1.1.2 邊緣檢測
Roberts算子先計算像素梯度幅值,而后對其進行閾值處理[2]。如果大于設定閾值,該點判定為邊緣點,否則為非邊緣點,所有邊緣點構成圖像邊緣。
(1)
1.1.3 形態(tài)學閉運算
圖像處理中,常用集合描述圖像,被處理的圖像稱為目標圖像,結構元素是具有一定形狀的集合,尺寸小于目標圖像,通常將結構元素的原點選在其中心位置上。
目標圖像關于結構元素的閉運算,定義[3]為:
(2)
經過對邊緣檢測圖的形態(tài)學閉運算處理,得到多個連通域,篩選最大聯(lián)通域作為條碼區(qū)域,完成條碼定位,如圖1。
1.2 條碼校正
條碼校正包括傾斜角計算和旋轉映射。
1.2.1 傾斜角計算
本文基于條碼特性和形態(tài)學閉運算特征提出一種新的傾斜角計算方法。條碼具有水平間斷豎直連續(xù)的特性,而閉運算能保持原連續(xù)邊界。通過將最大聯(lián)通域圖像的邊緣檢測圖像與閉運算前的邊緣檢測圖像比對,重合點保留,其余舍棄,濾除散點得到條碼左右兩條短邊側線,利用短側線的斜率即可計算出條碼傾斜角度。
1.2.2 旋轉映射
旋轉映射需進行特定處理:利用取反圖像進行旋轉映射,再將所得圖像取反得校正圖像。所做處理避免了直接旋轉映射而產生的矩形四角填充問題。
1.3 預處理
圖像的預處理過程包括自適應灰度拉伸、基于迭代閾值的二值化。
1.3.1 自適應灰度拉伸
自適應灰度拉伸處理將10%最大灰度值中的最小值記為,將10%最小灰度值中的最大值記為,進而將圖像的灰度分為、、三個區(qū)間。而后,將處于灰度區(qū)間的像素灰度壓縮為0,將處于灰度區(qū)間的像素灰度壓縮為255,而對處于灰度區(qū)間的像素灰度做下述運算:
(3)
其中,、 分別為輸入、輸出圖像的灰度值,是圖像理論灰度最大值。
1.3.2 基于迭代閾值的二值化
閾值法二值化首先將圖像中最小、最大灰度值記為和 ,初始閾值為 ,為迭代次數(shù)。而后根據(jù)閾值將圖像中像素分為目標像素點和非目標像素點兩類,記目標像素及非目標像素點個數(shù)及其灰度平均值分別為、、 、。并利用、二者平均值求取新閾值。當或時,結束迭代,利用新閾值進行二值化處理,否則,重新劃分目標與非目標像素點,繼續(xù)迭代。
1.4 條碼解碼
Code128碼是最常用的一維條碼,由一系列條空相間組成,分為起始符、數(shù)據(jù)符、檢驗符、終止符和空白區(qū)。條碼解碼需解決兩個關鍵問題,一是消除不同圖像采集距離的影響,二是解決因條碼污損而無法解碼的難題。針對前者,由于同一條碼上條空寬度呈比例關系,利用該關系可確定條碼編碼序列,從而實現(xiàn)不同采集距離下的解碼。針對后一問題,可以通過在條碼解碼操作前確立一條垂直且覆蓋全部條、空的掃描線解決。
2 系統(tǒng)運行結果分析
本文測試環(huán)境為Matlab 2016a,測試圖像來源于muenster數(shù)據(jù)集,數(shù)量為300張。經測試:
由表可知,本文設計的條碼識別算法,識別成功率為93.6%。其對于條碼傾斜的情況,校正率亦能達86%以上,識別耗時平均為0.745s。
3 結語
本文提出了一種新的條碼定位與識別算法,有效提高了條碼定位識別率。系統(tǒng)實際運行表明,該算法具有效率高、可靠性強的優(yōu)點。
參考文獻:
[1]宋人杰,劉超,王保軍.一種自適應的Canny邊緣檢測算法[J]. 南京郵電大學學報(自然科學版),2018,38(03):72-76.
[2]賀桂嬌.幾種經典的圖像邊緣檢測算子分析比較[J].計算機光盤軟件與應用,2014(09):182-183.
[3]閆海霞.基于數(shù)學形態(tài)學的圖像邊緣檢測和增強算法的研究[D]. 吉林大學,2009.
基金項目:吉林大學大學生創(chuàng)新創(chuàng)業(yè)訓練計劃基金資助項目( 2018A2017)。