王 瓊 ,康 凱 ,朱永波
(1.東北石油大學 電氣信息工程學院,大慶 163318;2.中國石油大慶分公司熱電廠儀表車間,大慶 163714)
在全球信息化的今天,智能手機的條形碼閱讀器功能早已成為我們?nèi)粘I钪械囊徊糠郑谀J阶R別的條形碼識別技術(shù)已成為近年來研究的熱點[1]。在我國,這項技術(shù)起始于商業(yè)零售領(lǐng)域。條形碼識別技術(shù)的廣泛應(yīng)用為該技術(shù)在我國的發(fā)展做出了巨大的貢獻,并大大推動了該技術(shù)在我國的發(fā)展[2]。在國際范圍內(nèi),從上個世紀70年代開始至今,條形碼識別技術(shù)的推廣取得了巨大的發(fā)展。在發(fā)達國家,基于模式識別的條形碼識別技術(shù)在各個領(lǐng)域均有廣泛應(yīng)用,并且逐漸向高、精、尖等方向發(fā)展。
目前一些油田物資的管理工作,都離不開條形碼識別技術(shù)。但是由于天氣、油田現(xiàn)場環(huán)境等因素,造成條形碼在一定程度上的噪聲、臟污等影響,在交接的過程中導(dǎo)致工作效率低下。針對這種情況,本文應(yīng)用模式識別技術(shù)來改進條形碼識別技術(shù)。采用中值濾波法和小波系數(shù)閾值化法,對圖像進行去噪處理;針對于條形碼臟污的情況,采用Ostu算法和Bernsen算法對條形碼進行二值化處理,并且分別比較2種方法的處理效果以及指標參數(shù),選擇合適的方法。通過提出基于模式識別的方法來改進條形碼識別技術(shù),加快現(xiàn)場工人工作速度、提高工作效率,使物資管理工作更加自動化。
該系統(tǒng)流程如圖1所示,條形碼掃描識別功能是該系統(tǒng)各個模塊的核心。系統(tǒng)主要通過安卓系統(tǒng)手持設(shè)備對物資條形碼進行掃描,并與數(shù)據(jù)庫中條形碼進行匹配。操作人員將安卓手持設(shè)備中的管理系統(tǒng)打開,在每個功能模塊中掃描條形碼。若掃描成功,則顯示物資信息查詢結(jié)果;若掃描失敗,則手動輸入物資編號,查詢物資信息。
圖1 系統(tǒng)流程Fig.1 Flow chart of the system
由于油田現(xiàn)場環(huán)境、天氣等原因,物資條形碼會受到一定程度的噪聲、臟污等影響。本文提出基于模式識別技術(shù)的圖像處理方法,可以解決系統(tǒng)中由于噪聲以及臟污原因所帶來的條形碼識別問題。根據(jù)模式識別技術(shù)以及油田現(xiàn)場物資條形碼識別的具體要求,改進后條形碼識別技術(shù)的流程由條形碼圖像采集、去噪、二值化處理、條形碼譯碼等幾個方面組成,最后得到物資信息。
整個流程中的第一步是采集條形碼圖像。安卓系統(tǒng)手持設(shè)備是該系統(tǒng)所使用的條形碼采集設(shè)備,其攝像頭支持焦距調(diào)節(jié),可以對條形碼圖像進行對焦處理。
由于天氣、油田現(xiàn)場環(huán)境等其他因素,采集到的條形碼圖像會比較模糊或存在一些孤立的黑白點。這些孤立的黑白點會影響條形碼的識別,因此要對條形碼圖片進行去噪處理。本文采用的圖像去噪方法為中值濾波去噪法以及基于小波變換的圖像去噪法。
關(guān)于中值濾波去噪,對窗口內(nèi)的信號數(shù)據(jù)序列進行排序是其主要運算,處理流程如圖2所示。
圖2 中值濾波流程Fig.2 Flow chart of median filtering
小波變換是上世紀80年代發(fā)展起來的,是傅里葉變換的發(fā)展與升華,具有很多傅里葉分析以及其他一些傳統(tǒng)頻域分析方法所不具備的優(yōu)點,所以該方法在圖像去噪方面有著獨特的效果,對于該方法的圖像去噪也有著重要的研究意義。
考慮到油田物資條形碼標簽上面經(jīng)常出現(xiàn)的散斑噪聲是一種乘性噪聲,應(yīng)該先對條形碼圖像取對數(shù)變換,然后應(yīng)用算法處理圖像,最后再取指數(shù)。針對這一情況,本文采用一種基于預(yù)濾波分解的小波系數(shù)閾值化去噪算法對條形碼圖像進行去噪處理,流程如圖3所示。
圖3 基于預(yù)濾波分解的小波系數(shù)閾值化去噪法流程Fig.3 Flow chart of denoising processing with wavelet coefficient thresholding method based pre-filtering decomposition
由于油田現(xiàn)場工作環(huán)境以及工人操作不當?shù)仍?,物資條形碼上面可能存在一些污垢,所以需要對條形碼圖像目標區(qū)域進行二值化處理。二值化處理可以減少所需處理的圖像數(shù)據(jù)量并且剔除條形碼邊緣圖像中的一些微弱的邊緣信息。
在灰度圖像中,二值化可以將圖像的特征物從它的背景中提取出來,便于后期處理[3]。在二值化方法中,直方圖處理法可以準確地分析出波峰或波谷二值化所需要的閾值;基于聚類的方法是先將圖像按照某個閾值分割成2個集合,然后根據(jù)Ostu方法求出取得最小誤差時的閾值。這些二值化方法都有較好的處理效果[4-5]。這些二值化方法處理效果固然是好,但是它們算法復(fù)雜、實時性較差,不適合油田物資管理工作的要求。物資管理工作需要對條形碼圖像進行快速識別,因此二值化處理后的圖像可以被識別出即可。本文采用了Ostu算法的二值化方法以及Bernsen算法的二值化方法。
Ostu算法的應(yīng)用比較廣泛,它是一種迭代求解最佳閾值的方法。該算法先按照某一閾值把圖像劃分成前景和背景兩部分,然后求解這兩部分的差值。如果這兩部分的差值小于設(shè)定的閾值,那么此時的像素值劃分點就是所要求解的閾值;反之則繼續(xù)迭代,尋找最佳閾值[6]。使用Ostu算法對條形碼圖像進行二值化處理的流程如圖4所示。
圖4 Ostu算法二值化方法處理流程Fig.4 Flow chart of binarization processing with Ostu algorithm method
Bernsen算法是一種典型的局部閾值算法。該算法的思想是考慮在灰度圖像中以像素點(i,j)為中心的(2ω+1,2ω+2)窗口,計算灰度圖像各像素點(i, j)的閾值 T(i, j)。
比較像素點的灰度值與閾值,若該像素點的灰度值大于閾值,則賦值為1,作為目標像素類;反之則賦值為0,作為背景像素類。使用以上方法遍歷此矩陣 f(i, j)后,顯示出得到的二值圖像 B,用 b(i, j)矩陣記錄該值。
應(yīng)用Bernsen算法對條形碼圖像進行二值化處理的流程如圖5所示。
目前,采油廠物資工具標識的條形碼為EAN-13條形碼,其組成結(jié)構(gòu)如圖6所示。EAN-13條形碼各個組成部分的模板寬度如圖7所示。
圖7 EAN-13條形碼各組成部分的寬度示意Fig.7 Width diagram of each component of EAN-13 bar code
EAN-13條形碼的前置碼不包括在左側(cè)數(shù)據(jù)符內(nèi),這是因為前置碼不用條形碼符號表示。根據(jù)前置碼決定條形碼字符構(gòu)成方式(奇排列或偶排列),左側(cè)數(shù)據(jù)符表示前置碼后面的6位數(shù)字[7]。其編碼規(guī)則如表1所示。
表1 左側(cè)數(shù)據(jù)符的編碼規(guī)則Tab.1 Encoding rules of left data symbols
左側(cè)數(shù)據(jù)符的邏輯值如表2所示。其中1和0分別表示條形碼的黑條以及白空。
表2 左側(cè)數(shù)據(jù)符的邏輯值Tab.2 Logic value of left data symbols
右側(cè)數(shù)據(jù)符邏輯值如表3所示。其中0代表一維條形碼的白空;1代表一維條形碼的黑條。
表3 右側(cè)數(shù)據(jù)符的邏輯值Tab.3 Logic value of right data symbols
本文一維條形碼的解碼方法為寬度測量法。寬度測量法是通過計算黑條和白空所占像素來間接得到寬度[8]。轉(zhuǎn)換成二進制以后,依據(jù)編碼規(guī)則(即通過與表1、表2以及表3進行核對),從而得出條形碼所代表的物資信息。
條形碼識別系統(tǒng)經(jīng)過條形碼圖像的采集、預(yù)處理、二值化處理、譯碼幾個步驟,最終顯示出條形碼所代表的物資信息。應(yīng)用C語言等實現(xiàn)圖像預(yù)處理、條形碼譯碼,它們使用NDK編譯環(huán)境進行編譯;圖像采集和結(jié)果顯示使用的是Android SDK+JAVA的實現(xiàn)機制;通過提供的JNI機制,在底層與JAVA層之間實現(xiàn)JAVA和C語言之間的通信。主要架構(gòu)層如圖8所示。
圖8 客戶端系統(tǒng)架構(gòu)Fig.8 System architecture of client
系統(tǒng)主要采用的開發(fā)語言為C、C++和JAVA??蛻舳肆鞒倘鐖D9所示。
圖9 客戶端流程Fig.9 Flow chart of the client
(一)圖像處理去噪效果如圖10所示。
圖10 條形碼原圖及去噪處理后效果對比Fig.10 Original barcode image and after denoising processing
(二)圖像處理去噪效果指標
指標1圖像相對信噪比:
式中:M為圖像的均值;σ為圖像的標準差。如果可能的話,可以加以比較圖像相對信噪比與實際信噪比。
指標2圖像相關(guān)系數(shù):
式中:I表示原圖像、I″表示被噪聲污染的圖像;var(I′)為原圖像的方差、var(I″)為被噪聲污染圖像的方差;cov(I′,I″)為原圖像的和被噪聲污染圖像的協(xié)方差。因為可以通過判斷相關(guān)系數(shù)接近于1的程度來描述兩幅圖像的接近程度,所以從整體上,圖像相關(guān)系數(shù)可以衡量出圖像被恢復(fù)的程度。但也需指出的是,相關(guān)系數(shù)應(yīng)作為衡量圖像去噪效果的一種參考性指標而非絕對評判指標(因為濾波本身有可能帶來圖像某些細節(jié)的損失,從而導(dǎo)致相關(guān)系數(shù)下降)。以上2種去噪方法的參考性指標以及相關(guān)實驗參數(shù)如表4所示。
表4 兩種去噪方法的參考性指標以及相關(guān)的實驗參數(shù)Tab.4 Reference indicators and related experimental parametersof two denoising methods
我們預(yù)先計算出原圖像的相對信噪比(即均方比)為2.82,通過表4的數(shù)據(jù)我們可以發(fā)現(xiàn),采用中值濾波法對條形碼圖像去噪后所得的結(jié)果與原圖像最接近,其相關(guān)系數(shù)達到0.77。
(一)圖像二值化處理效果如圖11所示。
圖11 條形碼原圖及二值化處理后效果對比Fig.11 Original barcode image and after binarization processing
(二)圖像二值化處理效果指標
指標1方法所需運行時間T/s
指標 2二值化圖像熵值H/(bit·symbol-1)
熵值的定義為
圖像的熵值反映的是整幅圖像的效果[9]。一幅圖像的信息熵越低,該圖像越有序??紤]到油田現(xiàn)場物資管理工作的實際情況,必須參考程序運行時間這項性能參數(shù)。Ostu方法以及Bernsen方法實驗指標參數(shù)如表5所示。
表5 兩種二值化方法的實驗指標參數(shù)Tab.5 Experimental parameters of two binarization methods
由表 5 可知,運行時間 T(Bernsen)>T(Ostu),可見應(yīng)用Bernsen算法對圖像進行二值化處理的速度比較慢(Bernsen算法要尋找局部極大、極小值);熵值 H(Ostu)>H(Bernsen),可見 Bernsen 方法處理效果稍好于Ostu方法??紤]到油田現(xiàn)場物資管理工作量較大等因素,本文選取Ostu方法對條形碼進行二值化處理。
本文開發(fā)的廠屬物資條形碼跟蹤管理系統(tǒng),是在移動終端設(shè)備(PDA)上結(jié)合井下作業(yè)工具需求開發(fā)的標準化系統(tǒng)。結(jié)合無線通信技術(shù)和條形碼識別技術(shù),實現(xiàn)手持設(shè)備上的物資入庫、出庫、盤點等功能。而針對于現(xiàn)階段油田物資標簽條形碼識別中存在的問題,應(yīng)用模式識別技術(shù)對其進行改進。通過對采集到的條形碼圖像進行去噪、二值化處理,很好地克服了現(xiàn)階段油田物資標簽條形碼在識別過程中,由于條形碼噪聲、臟污問題引起的條形碼不能識讀而導(dǎo)致的只能通過現(xiàn)場工作人員手動輸入條形碼標簽信息的問題。整套系統(tǒng)的實現(xiàn)使采油廠物資管理更加高效化、提高工作效率,實現(xiàn)物資的自動化管理。
[1]郭鐵橋,車怡.基于圖像處理的條形碼識別技術(shù)[J].科技創(chuàng)業(yè)家.2013(19):3,20.
[2]鄭學敏.條碼技術(shù)在物流管理中的應(yīng)用分析[J].物流科技,2016,39(3):57-58.
[3]靳佳澍.一種針對彩色二維碼圖像的二值化方法[J].科技與企業(yè),2016(4):83-84.
[4]朱黎輝,李曉寧.基于多特征組合的球形果蔬智能分選方法[J].計算機工程與應(yīng)用,2016(5):173-178.
[5]彭濤,曹威,盧明,等.基于小波多尺度二值化的銅浮選工況識別[J].儀器儀表學報,2014,35(3):586-592.
[6]孫茂芬,盧道華,李忠國,等.海上監(jiān)控圖像的海天線及其目標區(qū)域提取[J].機械工程師,2016(2):89-92.
[7]徐益峰,金晅宏,戴曙光.基于EAN-13條形碼識別的改進算法[J].計算機與數(shù)字工程,2011,39(7):127-131.
[8]劉艷洋,曹玉東.EAN-13條形碼圖像的識別[J].計算機技術(shù)與發(fā)展,2015(6):202-205.
[9]閆麗娟,頡耀文,彌沛峰,等.基于小波的遙感影像薄云去除方法[J].礦山測量,2013(6):62-65.