国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于圖像的工業(yè)在線條碼識別算法研究

2018-10-29 11:09:14趙琪高美歡
軟件導(dǎo)刊 2018年8期
關(guān)鍵詞:條碼條形碼形態(tài)學(xué)

趙琪 高美歡

摘要:條碼技術(shù)是一種自動識別技術(shù),其應(yīng)用范圍越來越廣。針對工業(yè)生產(chǎn)線上條形碼識別問題,首先介紹了幾種常見的條形碼,分析了工業(yè)中用于標(biāo)識與跟蹤的Code128條形碼的結(jié)構(gòu)、編碼原理和譯碼方法。基于工業(yè)生產(chǎn)檢測中常見噪聲條形碼和模糊條形碼的特點,對條碼圖像進行圖像裁剪、圖像灰度化和圖像形態(tài)學(xué)處理等預(yù)處理后,選用灰度形態(tài)學(xué)的腐蝕算法將條形碼條中的間隙腐蝕掉,使其變?yōu)檫B續(xù)的線狀,以便于后期條碼識別,并借助第三方庫Zbar完成條形碼識別。實驗驗證了該方法的有效性。

關(guān)鍵詞:

條形碼;圖像處理;zbar

DOIDOI:10.11907/rjdk.181903

中圖分類號:TP312

文獻標(biāo)識碼:A 文章編號文章編號:1672-7800(2018)008-0125-04

英文摘要Abstract:Bar code technology is an automatic identification technology. Its application scope is increasingly extensive. For the identification of bar codes on industrial production lines, several common bar codes were first introduced, and the structure, coding principle, and decoding method of Code 128 bar codes used for identification and tracking in the industry were analyzed. Based on the characteristics of noise bar codes and fuzzy bar codes commonly used in industrial production inspection, after preprocessing such as image cropping, image graying, and image morphology processing of bar code images, a gray morphology morphological erosion algorithm was used to remove gaps in bar code strips. It is eroded away, making it a continuous line for easy barcode identification and using the third-party library Zbar for barcode recognition. The effectiveness of the method was verified by experiments and good results were obtained.

英文關(guān)鍵詞Key Words:bar code;image processing;bar code recognition

0 引言

隨著科學(xué)技術(shù)發(fā)展和信息技術(shù)進步,條碼識別技術(shù)得到了迅猛發(fā)展。條形碼技術(shù)作為一種全新的自動識別技術(shù),已廣泛應(yīng)用于社會生活各個領(lǐng)域,如商場、大型超市、交通運輸、定位導(dǎo)航[1]、物流管理[2]、圖書出版、醫(yī)療衛(wèi)生和郵政快遞等。由于準(zhǔn)確可靠、數(shù)據(jù)輸入速度快、信息量大、價格便宜、靈活實用及易于操作等[3],條形碼是迄今為止最經(jīng)濟實用的一種自動識別技術(shù)。

最初,國外研究人員早期主要通過精準(zhǔn)定位條碼邊緣識別條碼,在這期間提出了一階差分方程[4]和傅里葉變換[5]等。在模糊條形碼圖像處理方面,奧拉齊奧和羅伯特[6]于2009年提出了基于可變條碼模型算法,該算法采用最大似然函數(shù)對模糊的條碼圖像進行處理;賽義德[7]于2010年提出了另一種解決模糊條形碼的方法即雙峰特性法,但該方法僅能處理水平模糊問題;Kresic-Juric[8]于2006年提出了隱性馬爾科夫鏈模型,該方法需要探測條形碼的邊緣;奧拉齊奧和羅伯特在2010年又提出了新的條形碼識別算法,該算法基于灰度圖像和可變模型完成條形碼識別,不僅精度高,而且算法簡單,對條形碼識別作出很大貢獻。

國外研究人員早期主要通過精準(zhǔn)定位條碼邊緣識別條碼,提出了一階差分方程[4]和傅里葉變換[5]等。在模糊條形碼圖像處理方面,Gallo等[6]提出了基于可變條碼模型算法,采用最大似然函數(shù)對模糊的條碼圖像進行處理;Yahyanejad等[7]提出了另一種解決模糊條形碼的方法即雙峰特性法,但該方法僅能處理水平模糊問題;Krei-JuriKreˇsi′c-jiri′c s等[8]提出了隱性馬爾科夫鏈模型,該方法需要探測條形碼的邊緣;Gallo[9]又提出了新的條形碼識別算法,該算法基于灰度圖像和可變模型完成條形碼識別,不僅精度高,而且算法簡單,對條形碼識別作出了很大貢獻。

我國對條形碼技術(shù)的研究始于20世紀(jì)80年代中期,20世紀(jì)90年代開始研究二維條碼技術(shù)。有些學(xué)者從條形碼解碼方面進行研究,有效提高了條形碼的正確識讀。姚俊等[10]對具有復(fù)雜背景的條碼圖像提出來基于模板匹配的區(qū)域分割方法,將條碼圖像從復(fù)雜背景中分離出來;徐益峰等[11]提出用雙平方邊緣直線擬合算法對圖像進行校準(zhǔn),該方法在進行圖像校正的同時也使算法復(fù)雜度得到降低。

但是,目前工業(yè)生產(chǎn)檢測線由于存在光照不均、角度傾斜等限制因素,現(xiàn)有掃碼器很難完成對運動過程中條形碼的識別。條碼在印刷過程中存在的質(zhì)量問題,如條碼展寬、漏印等,更對條碼識別帶來困難,嚴(yán)重影響了條碼的正確識讀。本文結(jié)合機器視覺將圖像處理技術(shù)應(yīng)用于條碼識別,大大減少了圖像質(zhì)量對條碼識別的影響,從而能提高條碼識讀率,提高工作效率。

1 條形碼

條形碼是由一組寬度不等的條和空按照一定編碼規(guī)則排列,從而表達一組信息的圖形。條形碼主要分為一維條形碼和二維條形碼。一維條碼比較常用,如商品外包裝袋上印刷的條碼就是一維碼, 但其信息存儲量小。二維碼是近幾年發(fā)展起來的,它能在有限空間內(nèi)存儲更多信息,包括文字、圖像、指紋、簽名等,并可脫離計算機使用。二維條碼根據(jù)構(gòu)成原理和結(jié)構(gòu)形狀可分為行排式與矩陣式[12]。

1.1 條形碼分類

條碼種類很多,常見的碼制大概有20多種,其中包括:Code39碼(標(biāo)準(zhǔn)39碼)、Codabar碼(庫德巴碼)、Code25碼(標(biāo)準(zhǔn)25碼)、ITF25碼(交叉25碼)、Matrix25碼(矩陣25碼)、UPC-A碼、UPC-E碼、EAN-13碼(EAN-13國際商品條碼)、EAN-8碼(EAN-8國際商品條碼)、中國郵政碼(矩陣25碼的一種變體)、Code-B碼、MSI碼、Code11碼、Code93碼、ISBN碼、ISSN碼、Code128碼(包括EAN128碼)、Code39EMS(EMS專用的39碼)等一維條碼和PDF417等二維條碼。一維條碼分類及用途見圖1。

Code128碼可表示從 ASCII 0 到ASCII 127 共128個字符,故稱128碼。其由于優(yōu)良的特性,因而被廣泛應(yīng)用于企業(yè)內(nèi)部管理、生產(chǎn)流程、物流控制系統(tǒng)等方面。本文主要以工業(yè)生產(chǎn)線上的一維Code128碼為研究對象。

1.2 Code128碼編碼規(guī)則

Code128碼每個字符由3個條、3個空、11個單元構(gòu)成,符號內(nèi)含校驗碼。Code128碼有3種不同版本:Code128A(數(shù)字、大寫字母、控制字符)、Code128B(數(shù)字、大小字母、字符)和Code128C(雙位數(shù)字)。其中,Code128A包括標(biāo)準(zhǔn)數(shù)字和大寫字母、控制符、特殊字符;Code128B包括標(biāo)準(zhǔn)數(shù)字和大寫字母、小寫字母、特殊字符;Code128C包括[00]-[99]的數(shù)字對集合,共100個。

Code128碼主要有以下特性:①Code128碼具有A、B、C 3種不同編碼類型,可提供標(biāo)準(zhǔn)ASCII中128個字元的編碼使用;②Code128碼允許雙向掃描,既可以從左到右,也可以從右到左,主要得益于其編碼規(guī)則;③Code128碼可自行決定是否加上檢驗位;④Code128條碼長度可調(diào),但包含開始位和結(jié)束位在內(nèi),不可超過232個字元;⑤同一個128碼可由A、B、C 3種不同編碼規(guī)則互換,既可擴大字元的選擇范圍,也可縮短編碼長度。

Code128編碼規(guī)則:開始位+[FNC1(為EAN128碼時加)]+數(shù)據(jù)位+檢驗位+結(jié)束位。

Code128檢驗位計算:(開始位對應(yīng)的ID值 + 每位數(shù)據(jù)在整個數(shù)據(jù)中的位置×每位數(shù)據(jù)對應(yīng)的ID值)%103。

以95270078為例,Code128編碼:Code128A開始位對應(yīng)的ID為103,第1位數(shù)據(jù)9對應(yīng)的ID為25,第2位數(shù)據(jù)5對應(yīng)的ID為21,依此類推,可以計算檢驗位:(103 + 1×25 + 2×21 + 3×18 + 4×23 + 5×16 + 6×16 + 7×23+8×24)%103=21,即檢驗位的ID為21。95270078編碼表示為:開始位StartA+數(shù)據(jù)位[9+5+2+7+0+0+7+8]+檢驗位21+結(jié)束位Stop,對照Code128編碼表即可生成Code128A碼。128B與128A類似,128C只能對長度為偶數(shù)的數(shù)字串編碼,每兩個數(shù)字為一位,使輸出的信息壓縮了一半,打印的條形碼因此也較短。

1.3 條形碼識別常用方法

條形碼識別過程即對條形碼進行譯碼的過程,得到條形碼包含的文本信息。識別技術(shù)是條形碼應(yīng)用的關(guān)鍵技術(shù)。要辨別一個條碼,必須知道條碼的條、空間隔和1個字符的寬度。常用的條形碼識別方法主要有兩類:一類是根據(jù)條形碼的編碼規(guī)則,利用編碼原理進行條形碼識別,主要包括平均值譯碼法和相似邊距離譯碼法[13]。該類方法需要相應(yīng)的識別算法,且程序編程作業(yè)量大,受干擾影響強度大,對圖像質(zhì)量要求高。另一類是利用開源的條形碼識別工具包進行條碼識別[14]。該類方法簡單方便,識別速度快。目前用于條形碼識別的工具包很多,但是開源的并不多。用于條碼識別的開源工具包主要有兩個:Zbar工具包、ZXing工具包。兩者都適用于多種格式的一維二維條形碼識別,并支持多平臺開發(fā)使用。

針對工業(yè)流水線上條形碼識別的特殊性,算法在滿足正確識讀精度的前提下,還要滿足工業(yè)生產(chǎn)的實時性要求。依據(jù)簡單、便捷、快速的原則,針對工業(yè)流水線上條形碼的識別要求,本文選用后一種方法進行條形碼識別算法研究。

2 條碼識別主要算法

識別技術(shù)是條形碼應(yīng)用的關(guān)鍵技術(shù),而圖像處理技術(shù)將直接影響條形碼識讀效果。本文以生產(chǎn)線上噴碼機噴制的Code128條形碼為研究對象,利用圖像處理技術(shù)提高條碼圖像質(zhì)量,最后運用條碼識別工具實現(xiàn)條形碼識別。條碼圖像預(yù)處理是條碼識別前的關(guān)鍵步驟,主要包括圖像裁剪、圖像灰度化和圖像形態(tài)學(xué)處理等。工作流程見圖2。

2.1 圖像裁剪

在對生產(chǎn)線上的條形碼進行識別時,首先要獲取條形碼圖像。實驗所用相機獲取的視野范圍是12 801 024,條形碼區(qū)域大小為934 125,占整個視野的8.9%。過多的背景不僅降低了條形碼識別速度,還增加了條形碼識別難度。所以需要將條形碼圖像從背景中裁剪出來,以去除不必要的背景信息,提高后期處理速度和識別準(zhǔn)確度。本文根據(jù)條形碼在圖像中的位置信息,手動將條形碼從圖像中裁剪出來。

2.2 圖像灰度化

實驗所用相機是大華A5131CG75型號的彩色相機,拍攝圖像為真彩色圖像,包含很多與條形碼信息無關(guān)的顏色信息。彩色圖像中每個像素點顏色由R、G、B 3個分量決定,每個分量有255種選擇,一個像素點就有1 600多萬種選擇。而灰度圖像是R、G、B 3個分量相同時的一種特殊彩色圖像,一個像素點的顏色只有255種選擇。所以,為了降低數(shù)據(jù)計算量,本文采用圖像灰度化法將相機獲取的彩色圖像變換成灰度圖像,以過濾掉與條形碼無關(guān)信息。

灰度圖像的描述與彩色圖像一樣,仍反映了圖像整體或局部的色度和亮度等級分布及特征[15-17]。常用的灰度化處理方法主要有最大值法、平均值法和加權(quán)平均值法。

最大值法是將一個像素點的R、G、B 3個分量等同于該像素3個分量的最大值。平均值法是將一個像素點的R、G、B 3個分量等同于其平均值。加權(quán)平均值法就是在平均值基礎(chǔ)上根據(jù)人眼對每個分量顏色的最佳敏感度設(shè)計權(quán)重,再取平均值的方法。處理結(jié)果如圖3所示。

由圖3對比分析可知,最大值法結(jié)果圖較亮,加權(quán)平均值法次之,平均值法結(jié)果圖較暗。根據(jù)條形碼圖像 “條”、“空”排列組合的特點,圖像灰度差異較大,所以本文選取適合人眼敏感度的加權(quán)平均值法對條形碼圖像進行灰度化處理?;叶然Y(jié)果如圖4所示。

2.3 數(shù)學(xué)形態(tài)學(xué)處理

數(shù)學(xué)形態(tài)學(xué)是一種非線性的圖像處理和分析理論,其基本思想是用具有一定形態(tài)的結(jié)構(gòu)元素,度量與提取圖像中的對應(yīng)形狀,以達到對圖像分析和識別的目的[18]。數(shù)學(xué)形態(tài)學(xué)的基本運算有4個:膨脹、腐蝕、形態(tài)開和形態(tài)閉[19-20]。本文以相機采集到噴碼機噴制的Code128條形碼為研究對象[21]。由于組成條形碼的條不是連續(xù)的線狀,而是中間有間隙,為了將顆粒不連續(xù)狀條形碼中的條變換成連續(xù)的線狀,定位出條形碼位置,選用數(shù)學(xué)形態(tài)學(xué)對條形碼圖像進行腐蝕操作[22-23]。腐蝕處理將背景變?yōu)榘咨?,條形碼變?yōu)楹谏?,腐蝕掉條形碼圖像中的白色間隙,從而定位出條形碼圖像的位置[24],得到利于后續(xù)識別的條形碼圖像。數(shù)學(xué)形態(tài)學(xué)方法主要有二值形態(tài)學(xué)和灰度形態(tài)學(xué)。因研究對象為灰度圖,所以本文選用灰度形態(tài)學(xué)方法對條形碼圖像進行腐蝕操作。

3 實驗及結(jié)果分析

實驗平臺:win7+vs2010+opencv2.4.10+Zbar

實驗數(shù)據(jù)由相機在工業(yè)生產(chǎn)線上采集獲得,根據(jù)前文條形碼識別主要算法的研究成果,通過實驗驗證該算法的有效性。

圖像處理算法主要有圖像裁剪、圖像灰度化和形態(tài)學(xué)處理等。其中,根據(jù)人眼對顏色的敏感度特點,選用加權(quán)平均值法對條形碼圖像進行灰度化處理,R、G、B權(quán)值分別為λR=0.30、λG=0.59、λB=0.11。根據(jù)圖像特點,形態(tài)學(xué)處理選用灰度形態(tài)學(xué)中的腐蝕算法處理圖像。圖像處理結(jié)果如圖6所示。

實驗在Win7操作系統(tǒng)下,使用VC++開發(fā)工具,利用Zbar條形碼識別功能完成條形碼識別。識別結(jié)果如圖7、圖8所示。

圖7顯示了條形碼圖像包含的文本信息,其中包括加載的圖像位置、條形碼類型、條形碼對應(yīng)數(shù)字以及條形碼傾斜角度。圖8表示將識別結(jié)果顯示在條形碼圖像上,以便與條形碼圖像上帶有的數(shù)字進行對比分析。由圖7與圖8可知,條形碼圖像識別結(jié)果為:92679-216907-177E-07131,與條形碼標(biāo)示的結(jié)果一致,識別正確。

4 結(jié)語

本文主要基于圖像處理技術(shù)對條形碼圖像進行去噪去模糊處理。首先,介紹條碼的種類及編解碼原理;其次,對工業(yè)生產(chǎn)中常見問題條形碼的處理算法進行介紹,如噪聲條形碼和模糊條形碼;第三,根據(jù)條形碼圖像特點,通過算法比較,選擇合適的形態(tài)學(xué)處理方法對圖像進行腐蝕;第四,利用Zbar提供的一維條形碼譯碼算法對條形碼進行識別。通過實驗對本文條形碼識別算法的有效性進行了驗證,結(jié)果表明,本文算法能夠有效提高條形碼識別算法的準(zhǔn)確性,滿足工業(yè)生產(chǎn)需求。

參考文獻:

[1] 鄒冬旭,張維存,孟宇.編碼信標(biāo)識別方法在定位導(dǎo)航系統(tǒng)中的應(yīng)用[J].計算機仿真,2014,31(5):415-418.

[2] 陸祥瑞.物流動態(tài)管理信息系統(tǒng)設(shè)計、開發(fā)及建立[J].計算機仿真,1994(4):17-23.

[3] 劉艷洋,曹玉東.EAN-13條形碼圖像的識別[J].計算機技術(shù)與發(fā)展,2015,25(6):202-205

[4] JOSEPH E,PAVLIDIS T.Waveform recognition with application to bar codes[C].Proceedings of 1991 IEEE System, 1991:129-134.

[5] LIU N Z,YANG J Y.Recognition of two-dimensional bar code based on fourier transform[J].Journal of Image and Graphics, 2003(8), 877-882 .

[6] GALLO O,MANDUCHI R.Reading challenging barcodes with cameras[C].IEEE Workshop on Applications of Comput Vision,2009:1-6.

[7] YAHYANEJAD S,STRM J. Removing motion blur from barcode images[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops,2010:41-46.

[8] KREˇSI′C-JURI′C S, MADEJ D, SANTOSA F. Applications of hidden markov models in bar code decoding[J].Pattern Recogn Letters,2006,27(14):1665-1672.

[9] GALLO O, MANDUCHI R. Reading 1D barcodes with mobile phones using deformable templates[J].IEEE Transactions on Pattern Analysis & Machine Intelligence, 2010, 33(9):1834-1843.

[10] 姚俊,范永法,潘樹國.基于模板匹配的有復(fù)雜背景的條碼圖像區(qū)域分割[J].河海大學(xué)常州分校學(xué)報,2003(4):24-27+67.

[11] 徐益峰,金晅宏,戴曙光.基于EAN-13條形碼識別的改進算法[J].計算機與數(shù)字工程,2011,39(7):127-131.

[12] 陳丹暉,劉紅.條碼技術(shù)與應(yīng)用[M].北京: 化學(xué)工業(yè)出版社,2006.

[13] 黃以群,董湘陵.條形碼技術(shù)[M].北京:國防工業(yè)出版社,1991.

[14] 吳兆林.基于Zbar條形碼圖像識別的實現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2016(08):128-129.

[15] 趙雪青.基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)模糊推理系統(tǒng)的圖像去噪算法研究[D].西安:陜西師范大學(xué),2010.

[16] 咚成,王士同,滿麗紅.一種改進的PD圖像去噪方法[J].計算機工程與應(yīng)用,2010,46(15):176-178.

[17] 武丹,汪國昭.基于差分擴張和差分平移的無損信息隱藏算法[J].吉林大學(xué)學(xué)報,2010,40(4):1071-1074.

[18] 崔屹.圖像處理與分析——形態(tài)學(xué)方法與應(yīng)用[M].北京: 科學(xué)出版社,2000.

[19] 章毓晉.圖像處理和分析[M].北京:清華大學(xué)出版社,2000.

[20] 章毓晉.圖像分割[M].北京:科學(xué)出版社,2001.

[21] 劉東,高西全.QR碼圖像處理及識別算法的研究[J].電子科技,2003(22):42-44.

[22] 稅午陽,周明全,耿國華,等.基于數(shù)字圖像處理的 EAN13碼識別[J].計算機工程與應(yīng)用,2008,44(26):177-179.

[23] 衛(wèi)權(quán)崗,馬建紅,吳非洋,等.使用手機進行ENA-13碼的識別及應(yīng)用[J].電腦編程技巧與維護,2011,1(16):107-111.

[24] 鄧澤峰,熊有倫,黃小鵬.圖像式一維條碼識別的三重編碼方法[J].光學(xué)工程,2010,37(3):133-137.

[25] 黃小英.基于圖象的條形碼識別的算法研究及設(shè)計[J].電子技術(shù),2011,38(5):21-22.

(責(zé)任編輯:何 麗)

猜你喜歡
條碼條形碼形態(tài)學(xué)
中國條碼技術(shù)與應(yīng)用協(xié)會
條碼微站
創(chuàng)意條形碼
從條形碼到二維碼
從條形碼到二維碼
條形碼大變身
醫(yī)學(xué)微觀形態(tài)學(xué)在教學(xué)改革中的應(yīng)用分析
基于固定條碼與電子標(biāo)簽比對設(shè)備的設(shè)計
數(shù)學(xué)形態(tài)學(xué)濾波器在轉(zhuǎn)子失衡識別中的應(yīng)用
巨核細胞數(shù)量及形態(tài)學(xué)改變在四種類型MPN中的診斷價值
佛坪县| 武山县| 全南县| 平顶山市| 济宁市| 化德县| 威远县| 正定县| 台山市| 东光县| 抚顺县| 台安县| 岳阳市| 小金县| 望谟县| 岑巩县| 施秉县| 铜川市| 盐源县| 会理县| 城口县| 桂阳县| 桂东县| 石狮市| 时尚| 江津市| 肃宁县| 泸州市| 海阳市| 包头市| 涪陵区| 馆陶县| 旌德县| 来宾市| 高雄县| 安平县| 定南县| 金川县| 太湖县| 定兴县| 尼木县|