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

?

基于圖像處理的多條形碼檢測(cè)方法研究

2020-02-26 07:16:18孫洋洋郭陽(yáng)寬張曉青
儀表技術(shù)與傳感器 2020年1期
關(guān)鍵詞:碼盤(pán)條形碼形態(tài)學(xué)

孫洋洋,郭陽(yáng)寬,張曉青

(北京信息科技大學(xué)儀器科學(xué)與光電工程學(xué)院,光電測(cè)試技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100192)

0 引言

隨著社會(huì)的發(fā)展,在物品流通和管理中記錄物品的來(lái)源及途徑的信息均以不同種類(lèi)及數(shù)量的條形碼粘貼在物品上,能同時(shí)獲取每個(gè)環(huán)節(jié)的條形碼信息是提高管理與流通物品效率的重要技術(shù)。物品上的條形碼特點(diǎn)主要包括:所含的條形碼數(shù)量及種類(lèi)多、尺寸大小不一、條形碼間距小且間隔中有文字、條碼傾斜角度各異、物品上含有其他復(fù)雜幾何形狀、因物品的流通性導(dǎo)致條形碼沒(méi)有直接印在碼盤(pán)上等。多個(gè)條形碼的情況多見(jiàn)于超市貨架上粘貼的價(jià)格條形碼、電子加工廠元器件碼盤(pán)上的條形碼、快遞包裹上的條形碼等場(chǎng)景,多條形碼的檢測(cè)技術(shù)能夠提高此類(lèi)場(chǎng)景的識(shí)別效率、快速獲取物品信息。本文以元器件碼盤(pán)為例研究多條形碼檢測(cè)的方法。

目前已有的檢測(cè)方法大多是研究單個(gè)條形碼的情況,針對(duì)多條形碼檢測(cè)還沒(méi)有提出解決方法。故提出一種在形態(tài)學(xué)的基礎(chǔ)上通過(guò)定位條形碼區(qū)域的整體邊緣來(lái)同時(shí)檢測(cè)多個(gè)條形碼的方法,并進(jìn)行條形碼角度校正,為后續(xù)獲取條形碼信息準(zhǔn)備了條件。實(shí)驗(yàn)驗(yàn)證該方法能夠同時(shí)識(shí)別多個(gè)條形碼,并能夠準(zhǔn)確獲得所有條形碼信息。

1 條形碼區(qū)域定位與提取

1.1 條形碼區(qū)域定位

工業(yè)相機(jī)直接獲得的圖像包含顏色和灰度等無(wú)關(guān)的信息,對(duì)圖像進(jìn)行預(yù)處理,可減少其對(duì)條形碼檢測(cè)的影響。此處采取的預(yù)處理方法主要包括灰度化和二值化,利用傳統(tǒng)的灰度處理的方法即可獲得灰度圖,而二值化的關(guān)鍵是閾值的選取。因檢測(cè)的條形碼圖像其灰度背景固定,反復(fù)實(shí)驗(yàn)之后在[100~120]范圍內(nèi)確定閾值較合適。確定閾值之后根據(jù)式(1)可得到條形碼圖像的二值化圖像g(x,y)。

(1)

式中:T為二值化確定的閾值;f(x,y)為圖像中某一點(diǎn)(x,y)的灰度值。

高分辨相機(jī)采集到的待識(shí)別的多條形碼原圖如圖1所示,該碼盤(pán)上含有8個(gè)條形碼,二值化所得到的圖像如圖2所示。

圖1 原圖

圖2 二值化處理結(jié)果

二值化之后的圖像,條形碼區(qū)域出現(xiàn)黑色的縫隙,因此需要用形態(tài)學(xué)的方法進(jìn)行黑色區(qū)域填充。對(duì)圖像進(jìn)行形態(tài)學(xué)處理,主要包括膨脹和腐蝕。膨脹和腐蝕是形態(tài)學(xué)中彼此對(duì)偶的圖像處理方法。膨脹是將圖像中的高亮部分?jǐn)U大,腐蝕是將原圖中的高亮部分縮小。膨脹或者腐蝕操作就是將圖像(或圖像的一部分區(qū)域,我們稱(chēng)之為A)與核(我們稱(chēng)之為B)進(jìn)行卷積。式(2)是圖像A被核B膨脹的公式,式(3)是圖像A被核B腐蝕的公式。

A⊕B={x,y|Bxy∩A≠?}

(2)

AΘB={x,y|Bxy?A}

(3)

式中:Bxy為當(dāng)核B的原點(diǎn)移動(dòng)到A中的某一點(diǎn)(x,y)的灰度值;?為不包括任何像素即空集;A⊕B、AΘB分別為用核B對(duì)圖像A進(jìn)行膨脹、腐蝕的結(jié)果。

利用條形碼特征的方法與形態(tài)學(xué)方法提取圖1所示碼盤(pán)上的條形碼區(qū)域進(jìn)行比較,如圖3所示。

(a)基于條形碼特征

(b)形態(tài)學(xué)方法

基于條形碼特征的提取方法在提取多個(gè)條形碼時(shí)出現(xiàn)條形碼粘連現(xiàn)象,如圖3(a)所示,而形態(tài)學(xué)方法能夠?qū)⒄麄€(gè)條形碼區(qū)域提取出來(lái),避免了這種問(wèn)題,如圖3(b)所示。

1.2 條形碼區(qū)域提取

經(jīng)過(guò)定位之后的圖像,條形碼區(qū)域呈現(xiàn)明顯的矩形特征,利用輪廓檢測(cè)方法檢測(cè)矩形區(qū)域的邊界,即可獲得條形碼區(qū)域。一個(gè)輪廓一般對(duì)應(yīng)一系列的點(diǎn),也就是對(duì)應(yīng)圖像中的一條曲線,從二值圖像中查找到的輪廓邊緣是很細(xì)的“白色”區(qū)域,此輪廓所確定的區(qū)域即為條形碼所在區(qū)域,提取到的所有條形碼區(qū)域如圖4所示。

2 條形碼區(qū)域校正

為了保證后續(xù)條形碼識(shí)別效果,需要將提取的條形碼進(jìn)行角度校正,保證條形碼處于水平放置(較長(zhǎng)邊與水平面平行)。解決條形碼的傾斜問(wèn)題,傳統(tǒng)的方法是利用Hough變化提取條形碼圖像中水平和豎直的直線并計(jì)算直線的傾斜角度。而待檢測(cè)的條形碼尺寸較小且條形碼之間的距離較近,利用傳統(tǒng)的方法難度較大,故采用仿射變換旋轉(zhuǎn)圖像的方法校正條形碼角度。

(a)條形碼區(qū)域1

(b)條形碼區(qū)域2

(c)條形碼區(qū)域3

(d)條形碼區(qū)域4

2.1 校正角度確定

將定位出的特征區(qū)域經(jīng)過(guò)基本形態(tài)學(xué)處理之后需確定校正角度a。條形碼特征區(qū)域提取時(shí)利用最小外接矩形的方法獲得特征區(qū)域的4個(gè)特征點(diǎn),分別是矩形的中心坐標(biāo)、寬度、高度、旋轉(zhuǎn)角度,其示意圖如圖5所示。

圖5 最小外接矩形旋轉(zhuǎn)角度示意圖

如圖5,在圖像數(shù)據(jù)存儲(chǔ)中,坐標(biāo)的原點(diǎn)在圖像左上角,最小外接矩形的方法得到的旋轉(zhuǎn)角度θ是水平軸(x軸)逆時(shí)針旋轉(zhuǎn),與碰到的矩形的第一條邊的夾角。默認(rèn)將這個(gè)邊的邊長(zhǎng)作為w,另一條邊邊長(zhǎng)作為h。在這里,w與h是按照長(zhǎng)短來(lái)定義的。而為了保證校正之后的條形碼的較長(zhǎng)邊水平放置,因此需要根據(jù)判斷w和h值的情況來(lái)確定校正角度a,其確定如式(4)所示。

(4)

在opencv中,正角度是繞旋轉(zhuǎn)中心逆時(shí)針旋轉(zhuǎn),負(fù)角度是繞旋轉(zhuǎn)中心順時(shí)針旋轉(zhuǎn)。由式(4)調(diào)整角度校正后,能夠保證條形碼長(zhǎng)邊水平放置。

2.2 修改仿射變換算法

仿射變換是一種基于2×3矩陣進(jìn)行的變換,任意一個(gè)仿射變換可以表達(dá)為乘以一個(gè)矩陣再加上一個(gè)向量的形式,如式(5)所示,代表這種變換的標(biāo)準(zhǔn)形式是2×3的矩陣,如(6)所示。

(5)

(6)

校正的旋轉(zhuǎn)中心選取的是原圖像的中心,導(dǎo)致校正之后的條形碼中心不在新圖像的中心,條形碼區(qū)域不能完整顯示,影響后續(xù)識(shí)別效果。因此需要在獲得仿射變換之后的新圖像前,計(jì)算生成的圖像大小,來(lái)給仿射變換矩陣添加平移信息。新圖像的尺寸示意圖如圖6所示。

(a) 原圖像

(b)新圖像

圖6中的尺寸關(guān)系如式(7)、式(8)。

w1=w|cosa|+h|sina|

(7)

h1=w|sina|+h|cosa|

(8)

式中:角度a為校正角度;w、h分別為圖像校正前的寬度和高度;w1、h1分別為圖像校正之后新圖像的寬度和高度。

根據(jù)新生成圖像的大小,給仿射變換矩陣添加平移信息。經(jīng)過(guò)調(diào)試后,確定變換矩陣需添加的平移量具體如式(9)所示。

(9)

修改仿射變換的變換矩陣之后校正圖像,其結(jié)果如圖7所示。圖7(a)是未修改仿射變換算法之前的校正結(jié)果,可以明顯看到條形碼部分圖像不在圖像內(nèi),圖7(b)為修改仿射變換算法之后的校正結(jié)果,明顯看出條形碼能夠在圖像中完整顯示,完成校正。

(a)修改算法前

(b)修改算法后

3 條形碼識(shí)別結(jié)果與分析

碼盤(pán)圖像處理之后,提取的多個(gè)條形碼圖可以直接調(diào)用識(shí)別包進(jìn)行解碼,獲得條形碼的具體信息識(shí)別結(jié)果如圖8所示。實(shí)驗(yàn)中用到的碼盤(pán)含有8個(gè)條形碼,利用文中的方法能夠?qū)⑵淙孔R(shí)別出來(lái)。采用市面上成熟的條形碼掃描槍進(jìn)行識(shí)別結(jié)果驗(yàn)證,驗(yàn)證結(jié)果如表1所示。

圖8 元器件碼盤(pán)條形碼檢測(cè)結(jié)果

表1中的待測(cè)條形碼ID代表含有多個(gè)條形碼的元器件碼盤(pán)圖從左下方到右上方的條形碼順序,將表1的識(shí)別結(jié)果與本文方法的識(shí)別結(jié)果對(duì)比,驗(yàn)證該方法的識(shí)別結(jié)果正確,故設(shè)計(jì)的多條形碼檢測(cè)方法可行。

4 結(jié)束語(yǔ)

本文提出了一種基于圖像處理檢測(cè)多條形碼的方法。通過(guò)實(shí)驗(yàn)證明該方法能夠同時(shí)識(shí)別碼盤(pán)上的所有條形碼,并能準(zhǔn)確獲取所有條形碼的信息,給元器件碼盤(pán)的流通和管理過(guò)程帶來(lái)極大的便利。該檢測(cè)方法也可以應(yīng)用在其他需要同時(shí)檢測(cè)含有多個(gè)條形碼物品的工業(yè)領(lǐng)域。

表1 條形碼掃描槍識(shí)別結(jié)果

猜你喜歡
碼盤(pán)條形碼形態(tài)學(xué)
三角碼盤(pán)定位機(jī)構(gòu)相對(duì)于十字碼盤(pán)的準(zhǔn)確度分析和補(bǔ)償計(jì)算
創(chuàng)意條形碼
DA42NG飛機(jī)空調(diào)系統(tǒng)組成及日常維護(hù)
科技視界(2019年11期)2019-06-20 01:22:08
從條形碼到二維碼
從條形碼到二維碼
條形碼大變身
醫(yī)學(xué)微觀形態(tài)學(xué)在教學(xué)改革中的應(yīng)用分析
基于金屬碼盤(pán)的光電編碼器改進(jìn)研究
軋機(jī)碼盤(pán)改造的探討與實(shí)踐
數(shù)學(xué)形態(tài)學(xué)濾波器在轉(zhuǎn)子失衡識(shí)別中的應(yīng)用
叶城县| 秦安县| 西乌珠穆沁旗| 津市市| 遂川县| 旅游| 天峨县| 绥棱县| 天柱县| 阳原县| 灵川县| 永仁县| 彭水| 阿瓦提县| 临猗县| 肃北| 商南县| 鄯善县| 三穗县| 宜昌市| 武夷山市| 平度市| 永康市| 陈巴尔虎旗| 班玛县| 涪陵区| 厦门市| 大兴区| 万盛区| 文水县| 石渠县| 河津市| 鹤庆县| 怀柔区| 宿州市| 屯昌县| 吉木乃县| 正阳县| 阳新县| 涡阳县| 大连市|