• 
    

    
    

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

      工業(yè)ECC200碼快速定位算法研究

      2017-09-29 14:44:24丁真真陳慶然許義寶李新華
      軟件導(dǎo)刊 2017年9期

      丁真真 陳慶然 許義寶 李新華

      摘 要:二維碼優(yōu)點(diǎn)眾多,被廣泛應(yīng)用于各行業(yè)特別是工業(yè)生產(chǎn)領(lǐng)域,但由于工業(yè)環(huán)境差、工業(yè)生產(chǎn)產(chǎn)品有效二維碼比例小、產(chǎn)品材質(zhì)導(dǎo)致的二維碼打印顯示圖案不同等原因,采集到的二維碼圖像存在光照不均或無法檢測等情況,阻礙二維碼優(yōu)點(diǎn)的有效發(fā)揮。鑒于此,以工業(yè)ECC200碼為研究對象,首先采用多尺度Retinex算法對因光照因素造成的異常圖像進(jìn)行處理,然后采用圖像平面漫游的方式對復(fù)雜背景下的ECC200碼進(jìn)行定位,對圓點(diǎn)式ECC200碼使用模板匹配的方式進(jìn)行精確定位,從而提高識別準(zhǔn)確率和識別時間。與常見二維碼識別軟件進(jìn)行對比實(shí)驗(yàn)表明,提出的方法在識別時間和識別率上都更勝一籌。

      關(guān)鍵詞:工業(yè)ECC200碼;多尺度Retinex;圖像平面漫游;模板匹配搜索

      DOI:10.11907/rjdk.171520

      中圖分類號:TP312 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2017)009-0061-04

      Abstract:The many advantages of two-dimensional code is the main reason why it is widely used in various industries, especially in industrial production.However, due to poor industrial environment, industrial products effective two-dimensional code is small,the different two-dimensional display caused by the product material, the two-dimensional code image is uneven illumination, or can not detect ,which hinder the advantages of the effective play of two-dimensional code. In this paper, the industrial ECC200 code is used as the study object. Firstly, the multi-scale Retinex algorithm is used to deal with the abnormal image caused by the illumination factor. Then, the ECC200 code in the complex background is located by image plane roaming. The dotted ECC200 codes are located using template matching to improve recognition accuracy and recognition time. Compared with the common two-dimensional code recognition softwares, it is shown that the method proposed in this paper is superior to recognition time and recognition rate.

      Key Words:industrial ECC200 code; multi-Scale Retinex; image plane roaming; template matching search

      0 引言

      相較于一維碼,二維條碼具有信息量大、可靠性高、保密性好等優(yōu)點(diǎn)[1]。近年來,二維條碼技術(shù)廣泛應(yīng)用于工業(yè)控制領(lǐng)域,很多工業(yè)零部件、電子芯片和產(chǎn)品包裝均采用二維條碼技術(shù)進(jìn)行標(biāo)識,完成質(zhì)量、產(chǎn)品溯源等功能[2]。較常用的一種是矩陣式二維條碼(Data Matrix,以下簡稱DM碼),Data Matrix碼又可分為ECC000-140與ECC200碼兩種。其中, ECC200碼因其容易演算、信息容量大及容錯率高等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)領(lǐng)域。

      依據(jù)ECC200碼的圖案特征,鄒沿新等[3]提出根據(jù)碼型特征搜索“L”型尋邊區(qū),實(shí)現(xiàn)了ECC200碼的自動識別算法,可以克服背景噪聲、幾何失真等影響,但如果條碼背景過于復(fù)雜,感興趣區(qū)域難以精確會發(fā)生誤檢現(xiàn)象。王偉等[4]提出通過峰度值排序法及模塊區(qū)域微調(diào)法進(jìn)行條碼定位,再利用遺傳算法提取二維碼信息的算法,其優(yōu)點(diǎn)是魯棒性好、可靠性高,缺點(diǎn)是處理速度慢,很難實(shí)現(xiàn)實(shí)時應(yīng)用。工業(yè)ECC200碼圖像拍攝于工業(yè)生產(chǎn)流水線,需要考慮工廠環(huán)境(如曝光程度)、打印材質(zhì)如紙張、金屬零件、塑料等合成材料等對ECC200碼識別的影響。由于環(huán)境光照、背景紋理等因素影響,傳統(tǒng)識讀算法不能有效對ECC200碼圖像進(jìn)行譯碼,究其原因,主要是無法對圖像中的ECC200進(jìn)行定位。因此,針對工業(yè)ECC200碼中的圖像定位更加重要。

      1 算法框架

      針對目前工業(yè)條碼檢測算法的缺點(diǎn),以工業(yè)ECC200碼為例,研究工業(yè)環(huán)境中二維條碼的定位識別技術(shù),首先對捕獲到的工業(yè)ECC200圖像灰度化后使用多尺度Retinex算法進(jìn)行局部增強(qiáng)[5],提高圖像質(zhì)量。再利用平面漫游粗定位選取條碼圖像,相對的圓點(diǎn)式條碼圖像經(jīng)過搜索匹配精定位后加以識別,大大提高了解碼效率。相比于現(xiàn)存的條碼檢測算法,本算法能夠?qū)崿F(xiàn)更快速有效的識別。具體流程如圖1所示。

      2 工業(yè)ECC200碼預(yù)處理

      2.1 圖像灰度化

      由圖像采集設(shè)備獲取的一般為彩色圖像,在保持圖像基本特征不丟失的前提下,減少圖像的計(jì)算量,因此對彩色圖像進(jìn)行灰度化處理。彩色圖像由紅色、綠色、藍(lán)色3個通道組成。在RGB模型中,R=G=B時,表示圖形灰度化,R=G=B的值叫作灰度值。彩色圖像的灰度化有3種常見方法:加權(quán)平均法、平均值法、最大值法。其中,最常用的是加權(quán)平均值法,其灰度化公式如下:Gray=R0.30+G0.59+B0.01endprint

      (1) 通過式(1)求得Gray后,將原來RGB(R,G,B)中的R,G,B統(tǒng)一用Gray替換,形成新的顏色RGB(Gray,Gray,Gray),用它替換原來的RGB(R,G,B)后就是灰度化的圖像。

      2.2 多尺度Retinex圖像增強(qiáng)

      多尺度Retinex(MSR)算法[6]是對多個單尺度Retinex算法[7](SSR)的綜合,是一種既可很好完成圖像的動態(tài)范圍壓縮,又可保證圖像顏色保真度的圖像增強(qiáng)方法。其數(shù)學(xué)表達(dá)式為:Ri(x,y)=∑Kk=1Wk(logIi(x,y)-log[Fk(x,y)*Ii(x,y)])

      i=1,2…N

      (2) 其中,i為顏色通道個數(shù);N表示光譜帶個數(shù),N=1時代表灰度圖像,N= 3 代表彩色圖像(RGB);Ri(x,y)為第i個通道的增強(qiáng)圖像;Ii(x,y)為輸入圖像的第i個顏色通道或第i個波段;*表示卷積運(yùn)算。Wk是對應(yīng)第K個尺度的權(quán)重因子,且∑Kk=1Wk=1,K表示尺度函數(shù)的個數(shù),當(dāng)K=1時,多尺度MSR轉(zhuǎn)化為單尺度SSR,此時權(quán)重Wk=1。Fk(x,y)表示第K個環(huán)繞函數(shù),一般Fk(x,y)取高斯函數(shù)為F(x,y)。F(x,y)=Ce-(x2+y2)/σ2

      (3) 其中,σ為高斯函數(shù)的標(biāo)準(zhǔn)偏差,歸一化條件為∫∫F(x,y)dxdy=1 ,σ的選取標(biāo)準(zhǔn)請參閱文獻(xiàn)[8]。在實(shí)際應(yīng)用中,尺度個數(shù)一般選擇大、中、小3個尺度,大尺度選擇80及以上,中尺度選擇30~80,小尺度選擇30以下。這樣的MSR可以實(shí)現(xiàn)圖像動態(tài)范圍壓縮、顏色恒常和色彩重現(xiàn)。

      通常利用MSR(Multi-Scale Retinex)方法處理后的圖像像素值會出現(xiàn)負(fù)值, 而且會出現(xiàn)超出顯示器顯示范圍的情況,這就需要將其平移和壓縮到顯示器顯示的范圍內(nèi),于是利用gain/offset方法對圖像像素進(jìn)行修正,如式(4),再將修正后圖像的灰度值利用式(5)映射到顯示器顯示的灰度范圍(0~255)內(nèi):R0i(x,y)=G×Ri(x,y)+offset

      (4)

      R1i(x,y)=255×R0i(x,y)-rminrmax-rmin

      (5) 其中,Ri(x,y)和R1i(x,y)分別為圖像的輸入及輸出灰度值。對增益系數(shù)G和偏移量offset的選取做了大量研究,結(jié)果表明,由于利用MSR處理后各種圖像具有非常類似的直方圖分布,因此對于大多數(shù)圖像,這兩個量可以取固定值,而不會影響圖像的增強(qiáng)效果,選取G= 3和offset=50,rmax和rmin分別為修正后圖像的最大灰度值和最小灰度值,R1i(x,y)為映射后用來顯示的圖像灰度值。

      多尺度Retinex算法實(shí)現(xiàn)步驟如下:

      步驟1:將灰度圖像中像素點(diǎn)的灰度值的數(shù)據(jù)類型轉(zhuǎn)化成double型。

      步驟2:確定高斯環(huán)境函數(shù),根據(jù)式(2)與式(3)可以計(jì)算出式(3)中C=1πσ2,此處選取3個不同的標(biāo)準(zhǔn)偏差σ值為15、80、250。

      步驟3:在3種尺度下,使用3種不同的高斯環(huán)境函數(shù)對圖像進(jìn)行卷積操作,其實(shí)現(xiàn)過程為:DFT[DFT(F(x,y))DFT(R(x,y))];

      步驟4:利用(2)式計(jì)算3種尺度下得到結(jié)果的加權(quán)平均Ri(x,y)。

      步驟5:對灰度值進(jìn)行修正,方法如下:①根據(jù)增益系數(shù)G和偏移量offset的選取,利用式(4)計(jì)算得修正后圖像R0i(x,y);②計(jì)算修正后圖像像素的最大灰度值rmax和最小灰度值rmin;③利用式(5)得到可在顯示器顯示范圍內(nèi)的灰度值R1i(x,y),即得到圖像經(jīng)過增強(qiáng)后的圖像R=R1i(x,y)。

      多尺度Retinex算法的增強(qiáng)效果主要受尺度參數(shù)個數(shù)和尺度參數(shù)值的影響,尺度參數(shù)選擇不同,會產(chǎn)生不同的增強(qiáng)效果,對于對比度低與光照不均的ECC200條碼圖像經(jīng)過增強(qiáng)之后可以得到如圖2(b)圖所示的ECC200圖像??梢钥闯?,處理后的圖像細(xì)節(jié)清晰、色調(diào)明顯。

      3 圖像定位

      圖像定位是二維碼譯碼之前的最后一步,也是最關(guān)鍵的一步,關(guān)系到能否譯碼以及譯碼的正確與否。在采集工業(yè)ECC200碼圖像中,發(fā)現(xiàn)存在工業(yè)零件過大,或背景復(fù)雜導(dǎo)致ECC200碼過小無法有效檢測的問題,以及ECC200碼圓點(diǎn)式打印,普通算法無法識別的兩個典型問題。針對以上問題,使用平面漫游和模板匹配搜索算法加以解決,定位準(zhǔn)確且高效。

      3.1 平面漫游與手動選取

      在工業(yè)ECC200圖像中,多數(shù)存在圖像過大、背景復(fù)雜而ECC200碼區(qū)域過小的難題。某些圖像中,人眼都無法確定ECC200碼的位置,平面漫游是解決該類問題的首選方法,利用主窗口、縮略圖、預(yù)覽框之間的比例關(guān)系,移動預(yù)覽框,實(shí)現(xiàn)在大圖中顯示與縮略圖標(biāo)示區(qū)域?qū)?yīng)的圖像內(nèi)容的功能,以類似“放大鏡”的方式,將較小的ECC200條碼標(biāo)示出來。

      平面漫游步驟如下:①將工業(yè)ECC200碼圖像加載到主窗口,如圖3(a)所示;②拖動縮略圖中紅色矩形框,預(yù)覽框就會顯示紅色矩形框中ECC200圖像的放大細(xì)節(jié);③使用定位框(綠色矩形框,見圖3(b))選定放大后的有效ECC200碼區(qū)域,并將其另存為如圖4所示圖像,另存為的圖像作為解碼的輸入圖像,使得對ECC200碼的識別變得容易,如圖5所示。

      3.2 模板搜索匹配

      傳統(tǒng)ECC200碼圖像中,黑白模塊是單位矩形模塊,因而相關(guān)解碼標(biāo)準(zhǔn)中在定位時只識別矩形模塊。在工業(yè)

      ECC200圖像中,圓點(diǎn)式ECC200碼(見圖6)也很常見,傳統(tǒng)識別算法不能定位識別。本文提出模板搜索匹配算法,按照標(biāo)準(zhǔn)模板樣式對工業(yè)圖像中的ECC200碼進(jìn)行精確定位,極大節(jié)約了定位時間。

      模板搜索匹配就是在一幅圖像中自動搜尋已知模板圖像的算法 [9]。已知圖像中有要找的目標(biāo)圖像,且該目標(biāo)與模板有一定程度的相似,通過比較待檢測圖片和模板圖像的相似性,可以在圖中找到目標(biāo)圖像,確定其坐標(biāo)位置,完成模板匹配。常用的模板搜索方法主要有平方差匹配與相關(guān)匹配等,本文采用標(biāo)準(zhǔn)相關(guān)匹配算法[10]。endprint

      本文研究的目標(biāo)就是檢測工業(yè)ECC200圖像中與ECC200碼最匹配的區(qū)域,為了確定匹配區(qū)域,需要將滑動模板圖像和工業(yè)ECC200圖像進(jìn)行比較。按照從左向右,從上至下的順序,依此將滑動模板圖像與待搜索圖像進(jìn)行比對,并度量計(jì)算它是“好”還是“壞”。

      標(biāo)準(zhǔn)相關(guān)匹配中具體實(shí)現(xiàn)公式如下:R(x,y)=∑x′,y′(T′(x′,y′)·I′(x+x′,y+y′))∑x′,y′T′(x′,y′)2·∑x′,y′I′(x+x′,y+y′)2 (6) 其中,(x,y)表示子圖在待匹配圖形中的坐標(biāo)值,T(x′,y′)表示待匹配圖像中(x′,y′)點(diǎn)的像素?cái)?shù)值,I表示待匹配圖像,R(x,y)是計(jì)算的結(jié)果。利用這種方法進(jìn)行匹配時,R(x,y)數(shù)值越大代表相似程度越高,當(dāng)R(x,y)=1時,代表待匹配圖像中有與模板完全一致的圖形。

      標(biāo)準(zhǔn)相關(guān)匹配搜索功能步驟如下:①加載模板(見圖7(a))和待匹配的圖片(見圖6);②對待測圖像進(jìn)行灰度化和形態(tài)學(xué)膨脹處理;③對待匹配圖像與模板圖像執(zhí)行標(biāo)準(zhǔn)相關(guān)匹配,并歸一化結(jié)果,比較找到最匹配的點(diǎn),以及該點(diǎn)的值;④在最匹配的圖像附近畫一個跟模板同樣大的矩形(定位框,見圖7(b)),提取和模板圖像相同大小的碼區(qū)域,即待匹配圖像中的ECC200圖像,并直接顯示識別結(jié)果。

      4 實(shí)驗(yàn)與分析

      ZXing[11](Zebra Crossing)是Google Code提供的一個關(guān)于1D/2D條形碼編碼解碼的圖像處理庫,它提供二維碼和條形碼的生成和解析方法?;赯Xing庫,利用C#語言整合圖像處理算法。在二維碼識別軟件中,Image-pro識別軟件能夠?qū)?D和3D圖像進(jìn)行處理、分析和增強(qiáng)。Halcon識別軟件是一款機(jī)器視覺軟件,由德國MVTec公司研發(fā),其中包含數(shù)千個圖像處理的函數(shù)庫[12]。Xpress Smart Scan是既可以生成,也可以識別二維條碼的軟件,它為用戶提供了圖像識別之前的很多圖像預(yù)處理功能。

      實(shí)驗(yàn)以圖3(a)所示的117張圖像樣本集1和圖6所示的57張圖像集樣本集2作為研究對象,以上述3種軟件和本文軟件對兩樣本集識別時間、識別率及結(jié)果作對比,驗(yàn)證本文軟件的有效性。

      從圖8和圖9中可以綜合得出,本文軟件相較于Image-pro、Xpress Smart Scan、Halcon在識別時間、識別數(shù)量及識別率3個指標(biāo)上效果突出,采用模板搜索匹配算法,針對樣本集2的識別率達(dá)到100%,在工業(yè)ECC200碼的識讀上有很強(qiáng)的應(yīng)用價(jià)值。

      5 結(jié)語

      本文闡述了工業(yè)ECC200碼的快速檢測定位算法。由于工業(yè)ECC200碼圖像在獲取時易受背景圖像和光照環(huán)境因素等影響,提出一種實(shí)用的工業(yè)ECC200碼識別算法,并開發(fā)出二維碼識別軟件。在對圖像進(jìn)行灰度化之后,采用多尺度Retinex算法增強(qiáng)工業(yè)ECC200碼圖像的細(xì)節(jié)及邊界。然后,采用平面漫游與手動選取對工業(yè)ECC200碼圖像編碼區(qū)域比例小的圖像進(jìn)行定位,利用模板搜索匹配對圓點(diǎn)式ECC200碼搜索定位,檢測結(jié)果正確且檢測用時短。在一般二維碼識別及工業(yè)二維碼識別上都優(yōu)于互聯(lián)網(wǎng)上常用的二維碼識別軟件。

      參考文獻(xiàn):

      [1] LIU NINGZHONG,YANG JINGYU. Encoding theory and design of three-dimensional barcode[J].Chinese Journal of Computers,2007,30(4):686-692.

      [2] LIU NINGZHONG,SU JUN,SUN HAN. QR code detection and recognition algorithm for industrial control[J].Acta Electronic Sinica,2011,39(10):2459-2463.

      [3] ZOU YANXIN, YANG GAOBO.Study for datamatrix two-dimensional bar code decoder image preprocessing[J].Computer Engineering application,2009,45(34):183-185.

      [4] 王偉.標(biāo)刻在金屬零件上的二維碼數(shù)據(jù)提取方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2012,24(5):612-614.

      [5] 邵振豐,白云,周熙然.改進(jìn)多尺度Retinex理論的低照度遙感影像增強(qiáng)方法[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2015,40(1):32-35.

      [6] SHEN XIAOLE, SHAO ZHENFENG, YAN BEIBEI. A novel dodging algorithm for remote sensing images affected by thin clouds[J]. Geomatics and Information Science of Wuhan University,2013,38(5):543-547.

      [7] JOBSON D J, RAHAMAN Z, WOODELL G A. Properities and performance of a center/surround retinex[J]. IEEE Trans on Image Processing,1997,6(3):451-462.

      [8] JANG JH, KIM SD, RA JB.Enhancement of optimal remote sensing images by subband-decomposed multiscale retinex with hybrid intensity tranfer fuction[J].IEEE Geoscience and Remote Sensing Letters,2011,8(5):983-986.

      [9] 楊勇成.一種新型的快速模板匹配算法[J].電子工藝技術(shù),2010,31(3):128-129.

      [10] ZLINGH.圖像算法、圖像匹配[EB/OL].http://blog.sina.com.cn/s/blog_5c6f79380101bf1h.html.2015.

      [11] Project description[EB/OL].http://zxingnet.codeplex.com/.

      [12] J TAN, L LI, Y WANG, et al. The quality detection of surface defect in dispensing dack-end based on HALCON[C]. International Conference on Cybernetics, Robotics and Control (CRC),2016.

      (責(zé)任編輯:孫 娟)endprint

      广平县| 吴江市| 英吉沙县| 延边| 苏尼特右旗| 白朗县| 墨竹工卡县| 锡林郭勒盟| 阜城县| 泉州市| 崇阳县| 万源市| 宜兴市| 鹿邑县| 麻阳| 定结县| 垫江县| 万宁市| 中宁县| 红桥区| 新营市| 拉萨市| 桐乡市| 石家庄市| 阳朔县| 建湖县| 双峰县| 财经| 花莲县| 莱西市| 斗六市| 阳山县| 汉寿县| 娄底市| 开远市| 泗洪县| 邹城市| 浙江省| 宜丰县| 余庆县| 如东县|