• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于圖像技術(shù)的EAN-13條碼識(shí)別系統(tǒng)設(shè)計(jì)*

      2020-03-16 08:02:52歐陽(yáng)鑫玉
      關(guān)鍵詞:譯碼條碼條形碼

      李 慧,歐陽(yáng)鑫玉,張 鋒

      (遼寧科技大學(xué) 電子與信息工程學(xué)院,遼寧 鞍山 114051)

      0 引言

      隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,條形碼技術(shù)已成為一種常用的數(shù)據(jù)采集和自動(dòng)識(shí)別技術(shù)[1-3],由于它具備輸入速度快、準(zhǔn)確率高、投入成本低、簡(jiǎn)單實(shí)用、自由度大、采用設(shè)備相對(duì)簡(jiǎn)單、容易制作等特點(diǎn),因此能夠普遍應(yīng)用在商品流通、工業(yè)生產(chǎn)、交通運(yùn)輸、智慧物流、醫(yī)療衛(wèi)生等領(lǐng)域。

      對(duì)于條碼的識(shí)別,通常是基于光電技術(shù)進(jìn)行識(shí)別,一般的光電識(shí)讀設(shè)備通過(guò)線性掃描的方式讀取到條碼信息后,再利用硬件進(jìn)行條形碼的識(shí)讀。由于條碼可能存在印刷不清或者由于臟污形成噪聲等情況,會(huì)導(dǎo)致識(shí)別率降低;此外,識(shí)讀設(shè)備成本過(guò)高,采用人工手持條形碼識(shí)別裝置工作效率低,難以適應(yīng)現(xiàn)代智能化、自動(dòng)化的應(yīng)用場(chǎng)景功能需求。隨著數(shù)字圖像處理技術(shù)的發(fā)展,采用圖像處理技術(shù)和相關(guān)的智能算法對(duì)條形碼進(jìn)行識(shí)別已成為新的趨勢(shì),它可以有效解決利用硬件識(shí)別帶來(lái)的技術(shù)和成本問(wèn)題。

      本文正是在此背景之下,根據(jù)實(shí)際應(yīng)用需求,利用圖像處理相關(guān)技術(shù),對(duì)EAN-13一維條形碼的識(shí)別進(jìn)行了研究,并利用MATLAB軟件設(shè)計(jì)出識(shí)別系統(tǒng),克服了基于光電技術(shù)的條碼識(shí)別帶來(lái)的局限性。

      1 EAN-13條形碼

      EAN-13條形碼是歐洲物品編碼的一種終端產(chǎn)品條形碼協(xié)議和標(biāo)準(zhǔn),它的左側(cè)是空白區(qū),然后依次是起始符、左側(cè)數(shù)據(jù)符、中間分隔符,接著是右側(cè)數(shù)據(jù)符、校驗(yàn)符、終止符以及右側(cè)空白區(qū)和供人識(shí)別的字符(如圖1所示),應(yīng)用比較廣泛。

      EAN-13條形碼是一種(7,2)碼[4-5],包含了13位數(shù)據(jù)字符,其中第1~3位字符代表國(guó)家代碼,第4~7位字符代表廠商代碼,第8~12位字符代表產(chǎn)品代碼,第13位字符是校驗(yàn)碼;每個(gè)字符由兩個(gè)條和兩個(gè)空交替組成,每一條或空由1~4個(gè)模塊組成,每一數(shù)字總寬度為7個(gè)模塊,分別用“0”和“1”表示條形碼的空和條的模塊。

      圖1 EAN-13碼的結(jié)構(gòu)

      EAN-13條形碼字符集包括0~9共10個(gè)數(shù)字字符,條碼的二進(jìn)制表示形式由A、B和C三個(gè)子集(見(jiàn)表1)確定。條形碼中的前置碼不用字符表示;右側(cè)的數(shù)據(jù)符和最后的校驗(yàn)符全部用C子集來(lái)表示。前置碼的數(shù)值決定左側(cè)數(shù)據(jù)符是選用A子集還是選用B子集來(lái)表示,表2列出了左側(cè)數(shù)據(jù)符的字符集選擇規(guī)則。

      表1 條形碼字符集

      表2 左側(cè)數(shù)據(jù)符的字符集選擇規(guī)則

      校驗(yàn)符是用來(lái)檢驗(yàn)前面的字符數(shù)字是否正確,計(jì)算公式如下:

      =a2×102+a1×10+a0

      (1)

      (2)

      其中,Ti(i=1,2,…,12)表示條形碼的第1~12位數(shù)字值,L為校驗(yàn)符的值。

      以EAN-13條形碼9787512426399為例,其前置碼為9,根據(jù)表2可知,其左側(cè)數(shù)據(jù)符的字符集為ABBABA。根據(jù)校驗(yàn)碼的計(jì)算方法,可知K=131,a0=9,因此校驗(yàn)碼是9。又根據(jù)表1可知,該條形碼后12位數(shù)的二進(jìn)制碼分別為:0111011、0001001、0010001、0110001、0110011、0010011、1011100、1101100、1010000、1000010、1110100、1110100。

      2 條碼圖像識(shí)別方法

      條碼圖像識(shí)別處理流程如圖2所示。

      圖2 條形碼圖像識(shí)別流程

      條形碼圖像采集后,需要對(duì)圖像進(jìn)行預(yù)處理,即進(jìn)行圖像灰度化、傾角矯正、目標(biāo)分割、濾波等操作,然后針對(duì)分割的條碼圖像,根據(jù)譯碼規(guī)則進(jìn)行譯碼識(shí)別。

      2.1 條形碼圖像預(yù)處理

      (1)條形碼圖像的灰度化

      通過(guò)各種攝像設(shè)備采集到的條形碼圖像,大多是彩色圖像,采用的是RGB顏色模式,即用紅、綠、藍(lán)三種原色來(lái)表示,各個(gè)顏色分量的取值范圍都是0~255,因此,對(duì)于一個(gè)RGB圖像,在計(jì)算機(jī)中需要用一個(gè)三維矩陣來(lái)表示,但實(shí)際上RGB并不能反映圖像的形態(tài)特征,只是從光學(xué)的原理上進(jìn)行了顏色的調(diào)配。在進(jìn)行圖像處理時(shí),通常為了減少所要處理的運(yùn)算量,一般采用將RGB圖像進(jìn)行灰度化的方法。圖像灰度化處理方法通常有分量法、最大值法、平均值法和加權(quán)平均法等。本文采用了平均值法進(jìn)行灰度化,即將分量R、G、B的值求平均得到一個(gè)灰度值,處理效果如圖3所示。圖像灰度化之后,在計(jì)算機(jī)中只需要用一個(gè)一維矩陣來(lái)表示,大大提高了后續(xù)處理速度。

      圖3 條碼圖像灰度化前后對(duì)比

      (2)條形碼圖像的傾角矯正

      對(duì)于采集到的圖像,由于條形碼和攝像頭的角度問(wèn)題,使得條形碼圖像和直角坐標(biāo)系有一定的傾斜角度,為了方便后續(xù)處理,通常需要先計(jì)算出圖像的傾斜角度,然后通過(guò)旋轉(zhuǎn)相應(yīng)角度對(duì)圖像進(jìn)行矯正。

      矯正圖像傾斜角度的方法有兩點(diǎn)法、最小二乘法、Hough變換法以及Radon變換法等[6-8]。兩點(diǎn)法、最小二乘法計(jì)算量小,但抗干擾能力差,不能計(jì)算有斷點(diǎn)的直線傾角。Hough變換法和Radon變換法具有很好的魯棒性,對(duì)于抗噪聲干擾能力強(qiáng),精度比較高,但是運(yùn)算量比較大。根據(jù)這種情況,本文采用Hough變換法。

      Hough變換法是一種變換域直線提取法,由Paul Hough于1962年首次提出。Hough變換的基本原理是:對(duì)于直角坐標(biāo)系中的直線方程y=kx+b,可以在極坐標(biāo)中用ρ=xcosθ+ysinθ來(lái)表示,因而這條直線在極坐標(biāo)中表示的是一點(diǎn)(ρ,θ)。對(duì)于直角坐標(biāo)系下呈現(xiàn)直線的所有點(diǎn),它們的斜率和截距均相同,因而它們?cè)跇O坐標(biāo)系下對(duì)應(yīng)于同一個(gè)點(diǎn),這樣就把直線的提取轉(zhuǎn)換成了點(diǎn)的計(jì)數(shù)而使問(wèn)題得到解決。

      本文在采用Hough變換法時(shí),進(jìn)行了適當(dāng)改進(jìn),即考慮到條碼圖像中有大量的平行直線條,在處理時(shí)只選取含有條碼的小塊進(jìn)行計(jì)算處理,然后根據(jù)得到的傾斜角度,再將整個(gè)圖像旋轉(zhuǎn)相應(yīng)角度進(jìn)行矯正,這樣既保證了精度,也減少了運(yùn)算量。利用Hough變換對(duì)條碼圖像進(jìn)行傾角矯正后的效果如圖4所示。

      圖4 利用Hough變換進(jìn)行圖像傾角矯正前后對(duì)比

      (3)條形碼圖像的分割及濾波

      針對(duì)矯正后的條碼圖像,采用水平和垂直兩種投影方法,檢測(cè)出條形碼圖像區(qū)域,并將其從原圖像中分割出來(lái)。

      同時(shí)考慮到圖像本身或受污染可能存在噪聲的情況,需要對(duì)條碼圖像先進(jìn)行去噪聲處理。常用的圖像去噪方法有高斯濾波、中值濾波、維納濾波、小波去噪、P-M方程法以及TV法等。本文考慮條形碼圖像中存在孤立噪聲多的狀況,選擇中值濾波法進(jìn)行去噪。

      中值濾波器作為一種非線性平滑濾波器經(jīng)常被使用,它的基本原理是把數(shù)字圖像中的某點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)值的中值替換,這樣能夠讓四周的像素灰度值差比較大的像素改取與周?chē)南袼刂到频闹?,從而達(dá)到去除孤立噪聲點(diǎn)的目的,因此中值濾波方法對(duì)于濾除圖像中的孤立噪聲十分有效。

      對(duì)條形碼圖像進(jìn)行目標(biāo)分割和中值濾波后的效果如圖5所示。

      圖5 分割的條碼圖像和中值濾波效果

      (4)條形碼圖像的二值化

      二值化就是將灰度圖像上的各點(diǎn)的灰度值轉(zhuǎn)換成為0或255兩個(gè)值,使整個(gè)圖像呈現(xiàn)出明顯的黑白兩色。對(duì)于灰度圖,像素點(diǎn)有256個(gè)灰度等級(jí),經(jīng)過(guò)選擇適當(dāng)?shù)拈撝祵⒒叶葍蓸O化后,二值化圖像依然可以很好地反映圖像的特征。

      根據(jù)上述所得的條碼圖像的濾波圖像,設(shè)定一個(gè)閾值R,若某點(diǎn)像素灰度值大于R,則令該點(diǎn)像素值為255;若某點(diǎn)像素灰度值小于R,則令該點(diǎn)像素值為0,即可將圖像二值化。假如圖像像素點(diǎn)的灰度值已經(jīng)完成歸一化,則在0~1之間確定閾值。通過(guò)反復(fù)測(cè)試,本文選擇閾值為0.7~0.74。針對(duì)所得條形碼圖像的濾波圖像進(jìn)行二值化后,得到的二值圖像如圖6所示,能夠看出,目標(biāo)圖像和背景更加分明。

      圖6 二值化后的條碼圖像

      2.2 條形碼譯碼

      條形碼的譯碼過(guò)程主要分為邊緣確定、譯碼、校驗(yàn)和顯示結(jié)果。

      (1)邊緣確定

      對(duì)于條碼圖像,首先要確定條形碼掃描方向,這里采用從左至右進(jìn)行掃描,然后對(duì)圖像進(jìn)行垂直投影,根據(jù)投影結(jié)果確定起止條碼的左右邊緣。

      (2)譯碼

      對(duì)于條形碼的譯碼,這里采用平均值法,即依據(jù)起止邊緣,計(jì)算出條碼符號(hào)圖像中整個(gè)條碼的寬度,然后用這個(gè)寬度除以總模塊數(shù)95,就可以得到每個(gè)模塊總共像素的寬度。再依據(jù)每個(gè)字符含有的模塊數(shù),參考前述表1的字符集進(jìn)行譯碼。

      (3)校驗(yàn)

      條碼字符譯碼完成后,需要確定得到的譯碼是否正確,利用前述的校驗(yàn)碼計(jì)算方法,可以對(duì)其校驗(yàn)驗(yàn)證。

      (4)顯示結(jié)果

      通過(guò)校驗(yàn)碼驗(yàn)證后,如果正確,則輸出識(shí)別到的條碼數(shù)字;否則,輸出“識(shí)別錯(cuò)誤”。

      3 EAN-13條形碼識(shí)別系統(tǒng)實(shí)現(xiàn)

      基于MATLAB仿真軟件,利用其圖形用戶界面工具包GUI進(jìn)行了EAN-13條形碼識(shí)別系統(tǒng)設(shè)計(jì),得到的系統(tǒng)界面如圖7所示。

      圖7 EAN-13條形碼識(shí)別系統(tǒng)界面

      在本系統(tǒng)中,用戶需要先將采集的條形碼圖像存放到一個(gè)文件夾中。在運(yùn)行程序后,用戶可以對(duì)采集的圖像進(jìn)行選擇和導(dǎo)入,利用該系統(tǒng)的相關(guān)控件,可以顯示原圖以及部分過(guò)程處理效果圖,并能將最終的識(shí)別結(jié)果顯示出來(lái)。

      經(jīng)過(guò)對(duì)采集的620張條形碼圖片的處理實(shí)驗(yàn),正確識(shí)別614張,其他6張因?yàn)閳D片污染嚴(yán)重或圖像采集時(shí)造成大的扭曲未能正確識(shí)別,系統(tǒng)識(shí)別準(zhǔn)確率達(dá)到了99%以上,取得很好的效果,達(dá)到了工業(yè)應(yīng)用所需的識(shí)別率要求。該系統(tǒng)也可以利用其他高級(jí)語(yǔ)言進(jìn)行移植后供實(shí)際應(yīng)用。

      4 結(jié)論

      本文針對(duì)一維條形碼的識(shí)別問(wèn)題,基于圖像處理技術(shù),提出了從圖像預(yù)處理到條形碼譯碼的系列方法,并運(yùn)用MATLAB仿真軟件,設(shè)計(jì)出了一個(gè)條形碼的識(shí)別系統(tǒng),克服了基于光電技術(shù)的條碼識(shí)別帶來(lái)的局限性,實(shí)驗(yàn)驗(yàn)證了本文采用的處理方法和設(shè)計(jì)的系統(tǒng)的有效性,為條碼自動(dòng)識(shí)別的實(shí)際應(yīng)用提供了基礎(chǔ)和參考。

      猜你喜歡
      譯碼條碼條形碼
      中國(guó)條碼技術(shù)與應(yīng)用協(xié)會(huì)
      條碼微站
      創(chuàng)意條形碼
      基于校正搜索寬度的極化碼譯碼算法研究
      從條形碼到二維碼
      從條形碼到二維碼
      條形碼大變身
      從霍爾的編碼譯碼理論看彈幕的譯碼
      新聞傳播(2016年3期)2016-07-12 12:55:27
      LDPC 碼改進(jìn)高速譯碼算法
      基于固定條碼與電子標(biāo)簽比對(duì)設(shè)備的設(shè)計(jì)
      阿合奇县| 图片| 读书| 兰州市| 昌图县| 双峰县| 宽城| 霍州市| 遂平县| 兴安盟| 育儿| 虞城县| 寿阳县| 贵阳市| 新竹市| 芮城县| 大邑县| 沙湾县| 保德县| 桂林市| 改则县| 兴海县| 灌南县| 石泉县| 澄城县| 岫岩| 康保县| 香河县| 济阳县| 宿州市| 长丰县| 来安县| 齐齐哈尔市| 康定县| 潼南县| 象山县| 车险| 台湾省| 广平县| 松潘县| 蒙城县|