999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

EAN[CD*2]13碼的圖像識別系統(tǒng)設(shè)計與實現(xiàn)

2010-06-22 03:41:08龔亞歡
現(xiàn)代電子技術(shù) 2009年22期
關(guān)鍵詞:檢測

龔亞歡 王 超 胡 晨

摘 要:條碼的圖像識別在信息采集領(lǐng)域有著廣闊的應(yīng)用前景,為了在復(fù)雜背景下快速正確的譯出條碼信息,在詳細分析EAN[CD*2]13碼之后,概括提取了其數(shù)個特征,利用EAN[CD*2]13碼的特征及相關(guān)圖像處理技術(shù),設(shè)計EAN[CD*2]13碼的圖像自動識別系統(tǒng),并用VC++編程實現(xiàn),且利用大量實驗進行驗證。系統(tǒng)分為三部分:圖像預(yù)處理、圖像分割、圖像譯碼。各部分的算法都是基于EAN[CD*2]13碼的特征特定設(shè)計的,利用條碼條空的特點設(shè)計邊緣檢測算子和濾波算子,利用起始符,終止符和空白符設(shè)計了分割算法,能有效地去除圖像噪音對條碼識別的影響,可以在復(fù)雜背景下提取條碼圖像完成〦AN[CD*2]13碼的自動識別,針對性強,譯碼速度快,準(zhǔn)確率高。

關(guān)鍵詞:EAN[CD*2]13碼;邊緣檢測;圖像分割;濾波;自動識別;二值化

中圖分類號:TP39

0 引 言

自動化數(shù)據(jù)采集技術(shù)是信息采集和處理的關(guān)鍵技術(shù),條碼技術(shù)在自動化數(shù)據(jù)采集中占重要地位,得到了廣泛的應(yīng)用。但是普遍的條碼閱讀器是基于激光掃描或者CCD攝像頭的,在生活中不是很常見。如果條碼識讀能用普通的攝像頭(如:手機攝像頭或網(wǎng)絡(luò)攝像頭),條碼將會給人們的日常生活帶來更多的方便。近來手機和機器人的應(yīng)用得到很大發(fā)展,手機的一維碼識別、機器人的一維碼識別、自動分揀物品等都有著很好的應(yīng)用前景。為了拓寬一維碼的應(yīng)用,基于圖像處理的一維條碼研究有著重要意義。

在最近幾年關(guān)于一維碼圖像識別的識別文章中,都是針對比較理想的條碼進行識別的,或者只是講解一維條碼圖像識別的某一個步驟,或者是人為地加上部分噪聲進行處理,很少有從一幅真正拍攝的圖像來識讀的。這里完成了整個條碼識別系統(tǒng)的設(shè)計和圖像處理的算法設(shè)計,實現(xiàn)了圖像的錄入到譯出條碼的整個過程,并通過實驗詳細闡述了識別流程和效果。

1 EAN[CD*2]13碼特征

EAN[CD*2]13是標(biāo)準(zhǔn)商品條碼,它是一種(7,2)碼,即每個字符的總寬度為7個模塊,由兩個條和兩個空交替組成,而每個條空的寬度不超過4個模塊。EAN[CD*2]13商品條碼由左側(cè)空白區(qū),起始符、左側(cè)數(shù)據(jù)符、中間分隔符、右側(cè)數(shù)據(jù)符、、終止符、校驗符、右側(cè)空白區(qū)組成,如圖1所示。EAN[CD*2]13碼包含13個字符,但只對12個字符進行編碼,其第13位(從右向左排序)不進行編碼,數(shù)值隱含在左側(cè)數(shù)據(jù)符的奇偶排列中,稱為前置符。奇偶性指的是每個字符所含條的模塊數(shù)為奇數(shù)或者偶數(shù),左側(cè)數(shù)據(jù)符為奇、偶排列,右側(cè)數(shù)據(jù)符為偶排列,左邊的碼字組成方式是“空條空條”,右邊的碼字組成方式是“條空條空”。オ[KH-1]

[HT5”K][JZ]圖1 商品條碼(EAN[CD*2]13)符號結(jié)構(gòu)[HT5]

由EAN[CD*2]13條碼的結(jié)構(gòu)知:左側(cè)空白區(qū)為11個模塊,起始符為3個模塊(3個條空),左側(cè)數(shù)據(jù)符為42個模塊(24個條空),中間分隔符為5個模塊(5個條空),右側(cè)數(shù)據(jù)符為35個模塊(20個條空),檢校符為7個模塊(4個條空),終止符為3個模塊(3個條空),右側(cè)空白區(qū)為7個模塊,整個編碼區(qū)的模塊數(shù)為3+42+5+35+7+3=95個,條空數(shù)為3+24+5+20+4+3=59個。若將黑色模塊(條)用二進制的“1”表示,白色模塊(空)用二進制的“0”表示,則數(shù)據(jù)字符的編碼圖案有30種,如表1所示。且有如下編碼:起始符:101中間分隔符010110,終止符101。

[HT6H][STHZ][WTHZ][JZ]表1 EAN[CD*2]13編碼[STBZ][WTBZ][HT6K]

[HT6]注:括號中為各種編碼條空的歸一化寬度。[HJ*2/3][HJ][HT5SS]

如何確定數(shù)字字符是屬于A子集,B子集或者C子集。EAN[CD*2]13碼左側(cè)數(shù)據(jù)符由A,B子集確定,取決于前置符,右側(cè)數(shù)據(jù)符屬于C子集。前置碼和左側(cè)數(shù)據(jù)符商品條碼字符集的選用規(guī)

2 條碼識別

在條碼識別的整個過程中,都是基于以下假設(shè):所處理的圖像正中肯定是包含條碼部分的,這樣可以很好地減少計算量。

條碼識別系統(tǒng)分為三個模塊:圖像預(yù)處理、圖像提取、譯碼。如圖2所示。

圖像預(yù)處理是利用一維條碼的特征對條碼執(zhí)行灰度化,二值化,濾波和邊緣檢測操作。它為后續(xù)的圖像提取做好準(zhǔn)備,圖像預(yù)處理做得越好,圖像提取效果將更加明顯。

圖像提取是對預(yù)處理的圖像進行分割,分為上下分割和左右分割,在各種背景中分割出條碼區(qū)域,圖像提取的取決于是否能精確地分割出條碼區(qū)域。由于一維條碼是并行長條的,每一條行掃描線都包行了條碼的所有信息,最簡單的方法是只要在條碼圖上確定一根行掃描線,逐個像素判斷,黑的為1,白的為0,計入數(shù)組,然后計算寬度就能解碼,這是針對完全干凈的條碼圖的。實際應(yīng)用的條碼圖像會有很多噪聲,同時條碼區(qū)域也不可能完全干凈,因此需要盡量分割出條碼的大部分區(qū)域給后續(xù)的解碼提供更多的信息,上下分割中把沿條碼方向的部分條碼分割出來,左右分割需把條碼的編碼區(qū)全部包含在內(nèi)。

譯碼是對提取后的條碼區(qū)進行處理,計算出條碼中各個條空的寬度,根據(jù)一維碼的編碼規(guī)則,解出條碼所含的信息。

2.1 圖像預(yù)處理

2.1.1 灰度化二值化

灰度處理,為實現(xiàn)數(shù)字圖像的閾值變換提供前提條件,要將256色位圖轉(zhuǎn)變?yōu)榛叶葓D,灰度與RGB值之間的關(guān)系為:玒=0.299R+0.587G+0.114B。

[JP2]二值化是利用點運算中的閾值變換理論將灰度圖轉(zhuǎn)化為二值圖像。二值化中閾值T的選擇是關(guān)鍵,在整幅圖中,我們最關(guān)心的是條碼,條碼是由條空(黑白)組成的,根據(jù)前面的假設(shè),在整幅圖的中心區(qū)域選取50×50個像素點,對其進行灰度處理并得到灰度直方圖,采用雙峰法[4]得到閾值玊,此閾值可以有效地把條碼的條空區(qū)分出來。按照下式得到二值化圖像

2.1.2 濾波

由于原圖像各部分亮度不均,背景圖像有不同的情況,得到的二值圖會有很多噪聲,條碼區(qū)域有,條碼區(qū)域外也有,為了后續(xù)部分的條碼提取和條碼譯碼,需要進行濾波處理??紤]到一維條碼的特征:豎直的條和空,采用中值濾波方法,中值濾波模板如圖3所示。被圈部分表示模板遍歷整幅圖時,所對應(yīng)待檢像素的位置。

取待濾波像素上下相鄰的4個像素值,共5個像素值進行排序,用中間值覆蓋待濾波的像素值。此模塊能有效地濾除條碼區(qū)的椒鹽噪聲,背景區(qū)的噪聲能得到很大抑制。此模塊是根據(jù)一維碼的特征設(shè)計,可以適合各種一維碼。

2.1.3 邊緣檢測

常用的邊緣檢測算法有梯度算法、Roberts梯度法、Sobel算法和Laplaceian算法等,在充分研究一維條碼的特征后,借鑒各種檢測算法,在此自行設(shè)計了一種濾波算法。

由于設(shè)計實驗時采用的是640×480或320×240的圖像,假設(shè)條碼占整個圖像的50%以上,根據(jù)圖2可以算出每個模塊占的像素值為3到4個或1到2個,如果采用3×3或5×5之類的邊緣檢測模板,加上圖像原本的變形,將會誤檢邊緣或邊緣丟失,同時考慮到一維條碼的特征: 豎直的條和空,有明顯的豎直邊緣,因此設(shè)計了豎直邊緣檢測算法,邊緣檢測模板如圖4所示。

待檢像素的值由其鄰域內(nèi)10個像素的值決定,這10個值按模板中的權(quán)值相加的絕對值為S(x,y)。由于進行邊緣檢測的圖像是二值圖,非黑(0)即白(255),設(shè)定邊緣檢測的閾值T1=255×4=1 020,即鄰域內(nèi)至少有4處黑白突變才能說明待檢像素為一邊緣值,按照下式得到邊緣檢測圖像h(x,y)。

2.2 圖像提取

圖像提取是把圖像中的條碼部分割出來,用于后續(xù)的條碼譯碼。圖像提取的步驟分為:上下分割和左右分割。根據(jù)條碼的特征,分別設(shè)計了上下分割和左右分割的算法。

2.2.1 上下分割

基于前文的假設(shè),設(shè)計了如下分割算法,上下分割的流程如圖5(a)所示,此流程的設(shè)計應(yīng)用了條碼的┝礁霆特征:條空數(shù)為59個,即邊緣數(shù)為60個;條碼的上下部分都有空白區(qū)。當(dāng)然一般情況下,條碼區(qū)域所在行肯定還會存在噪聲,因此邊緣數(shù)是肯定大于60的,而在條碼上下的空白區(qū)所在行經(jīng)過圖像預(yù)處理基本沒多少噪聲,邊緣數(shù)基本不會大于60,通過對100幅圖像的試驗只有背景很復(fù)雜的2幅圖例外。但是沒分割出來不代表沒譯碼出來,后面譯碼部分對分割有補充修正。

根據(jù)各種圖像的不同,上下分割不會把整個條碼區(qū)域分割出來,但分割出來的圖像信息足以用來解碼。上下分割可以去除圖像中上下部分的非條碼區(qū)同時為譯碼減少了計算量。

2.2.2 左右分割

左右分割是在行方向把條碼分割出來,流程如┩5(b)所示,此流程的設(shè)計應(yīng)用了條碼的兩個特征:

(1) 條碼的左側(cè)空白區(qū)有11個模塊,右側(cè)空白區(qū)有7個模塊;

(2) 條碼的起始符為101,結(jié)束符為101。

當(dāng)然圖像一般都會有傾斜,這樣按照玿1,x2分割時會把條碼區(qū)域有用信息分割掉,因此可以加一個經(jīng)驗修正,把x1向左移一點,把x2向右移一點。

在檢測101和計算一個模塊的長度時,都是通過邊緣間的距離計算的,由于圖像有變形和扭曲,因此計算長度是要用平均值和比值。

設(shè)連續(xù)3個邊緣的距離為L1,L2,L3,當(dāng)0.5<㎜2/L1<1.5且0.5

2.3 譯碼

譯碼過程通過對分割后的二值圖進行處理,得到條空的寬度,按照條碼的編碼方式,譯出條碼結(jié)果。譯碼步驟如下:

(1) 對二值圖進行逐行掃描,檢測邊緣數(shù)是否為60(EAN[CD*2]13碼有59條空,60個邊緣),是則記錄下邊緣坐標(biāo),否則把這行舍棄;

(2) 根據(jù)每行的邊緣坐標(biāo),算出每個條空的寬度:為了減小圖像中的條碼扭曲及其他干擾的影響,計算條空寬度的平均值;

(3) 按照如下歸一化方法確定條空歸一化寬度。

設(shè)一個字符(7個模塊)的寬度為玏,條空的平均寬度為W璦,則條空的歸一化結(jié)果玏璯由下式確定:

(4) 根據(jù)條碼左側(cè)數(shù)據(jù)區(qū)的奇偶性確定前置碼,如表1所示;

(5) 根據(jù)前置碼確定左側(cè)數(shù)據(jù)區(qū)的字符集,右側(cè)字符集為獵;

(6) 根據(jù)數(shù)據(jù)區(qū)條碼的歸一化寬度,查找字符集,根據(jù)表2得出條碼值,譯碼完成;

(7) 檢校。

此譯碼流程不僅按照編碼標(biāo)準(zhǔn)快速有效的譯出了條碼,同時也起到了濾波作用[6],把有噪聲的行全部濾除,完成精確解碼。

按照上述條碼識別的步驟和算法,用Visual C++編寫了程序。圖6展示從一幅帶有條碼的RGB圖到譯碼的全部過程。

3 結(jié) 語

對100幅640×320圖像進行實驗,解碼率達100%,可以說本文的算法和譯碼步驟有著很好的可靠[LL]性,對適當(dāng)扭曲和污染并有復(fù)雜背景的條碼圖有著較好的抗干擾性。在此通過對EAN[CD*2]13碼特征的分析和掌握,設(shè)計了濾波模板,邊緣檢測模板和圖像提取算法,并實現(xiàn)了EAN[CD*2]13碼的譯碼系統(tǒng),通過實驗詳細描述了整個解碼過程。

此識別系統(tǒng)有以下特點:充分考慮了EAN[CD*2]13碼的特點,設(shè)計了適合該條碼的算法,識讀準(zhǔn)確率高,速度快;此系統(tǒng)架構(gòu)和算法可以很快的應(yīng)用于其他一維碼的圖像識別中;可以很容易的移植到帶有CMOS攝像頭的各個平臺,實現(xiàn)基于EAN[CD*2]13碼的各種應(yīng)用。

參 考 文 獻

[1]Lu Xiangju,Fan Guoliang,Wang Yunkuan.A Robust Barcode Reading Method Based on Image Analysis of a Hierarchical Feature Classification[A].2006 IEEE/RSJ International Conference on Intelligent Robots and Systems[C].2006:3 358[CD*2]3 362.

[2]中國標(biāo)準(zhǔn)出版社.條碼國家標(biāo)準(zhǔn)匯編[M].北京:中國標(biāo)準(zhǔn)出版社,2004.

[3]Eisaku Ohbuchi,Hiroshi Hanaizumi,Lim Ah Hock.Barcode Readers using the Camera Device in Mobile Phones[A].

2004 International Conference on Cyberworlds[C].2004:260[CD*2]265.

[4]劉寧鐘.復(fù)雜背景中條碼檢測定位技術(shù)的研究[J].南京航空航天大學(xué)學(xué)報,2005,37(1):65[CD*2]69.

[5]左飛,萬晉森.Visual C++數(shù)字圖像處理開發(fā)入門與編程實踐[M].北京: 電子工業(yè)出版社,2008.

[6]王雅靜.基于圖像處理的EAN[CD*2]13條碼識別算法[J].山東理工大學(xué)學(xué)報:自然科學(xué)版,2005(4):17[CD*2]21.

[7]岡薩雷斯.Digital Image Processing:Using Matlab[M].阮秋琦,譯.北京:電子工業(yè)出版社,2005.

[8]呂文紅.二維條形碼的編碼與識別[J].現(xiàn)代電子技術(shù),2002,25(7):62[CD*2]64.

作者簡介 龔亞歡 男,江蘇南通人,碩士研究生。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 亚洲第一精品福利| 丰满的少妇人妻无码区| 成·人免费午夜无码视频在线观看| 国产成人永久免费视频| 欧美激情第一区| 亚洲欧美精品一中文字幕| 在线观看视频一区二区| 亚洲精品无码AV电影在线播放| 亚洲欧洲自拍拍偷午夜色无码| 亚洲码在线中文在线观看| 国产成人精品一区二区三区| 在线播放国产一区| 日韩国产一区二区三区无码| 黄色网址手机国内免费在线观看| 黄色污网站在线观看| 欧美日韩国产在线播放| 九九热视频精品在线| 91视频免费观看网站| 亚洲第一福利视频导航| 日韩一区精品视频一区二区| 日韩欧美成人高清在线观看| 99精品在线视频观看| 福利视频久久| 成人欧美在线观看| 国产一区二区精品福利| 四虎综合网| 国产成+人+综合+亚洲欧美| 伊人网址在线| 欧美一区二区三区国产精品| 真人免费一级毛片一区二区| 亚洲AV成人一区二区三区AV| 国产成人精品一区二区免费看京| 国产麻豆aⅴ精品无码| 无码精油按摩潮喷在线播放| 国内精品久久久久鸭| 2020国产在线视精品在| 亚洲一级毛片在线观播放| 免费在线播放毛片| 在线国产毛片| 日韩精品亚洲一区中文字幕| 啪啪永久免费av| 美女黄网十八禁免费看| 亚洲Av激情网五月天| 色婷婷成人网| 欧美日韩专区| 一级毛片免费观看久| 中文字幕 91| 欧美日本激情| 无遮挡一级毛片呦女视频| 久久精品人人做人人爽电影蜜月| 国产精品妖精视频| 97在线观看视频免费| 精品午夜国产福利观看| 丝袜无码一区二区三区| 免费在线国产一区二区三区精品| 欧美三级不卡在线观看视频| 日本午夜精品一本在线观看| 国产精品人成在线播放| 精品人妻无码中字系列| 亚洲av成人无码网站在线观看| 97se亚洲综合在线天天| 在线观看亚洲精品福利片| 日本久久久久久免费网络| 在线精品自拍| 无码AV日韩一二三区| 亚洲精品国产成人7777| 91精品视频播放| 高清欧美性猛交XXXX黑人猛交| 在线观看免费人成视频色快速| 国产丝袜无码一区二区视频| 漂亮人妻被中出中文字幕久久| 国产网友愉拍精品视频| 狠狠色丁香婷婷| 欧美成人综合在线| 国产精品女熟高潮视频| 国产清纯在线一区二区WWW| 国产成人综合欧美精品久久| 亚洲制服中文字幕一区二区| 99精品久久精品| 成·人免费午夜无码视频在线观看| 伊人色综合久久天天| 国产一区二区精品高清在线观看|