• 
    

    
    

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

      基于PCA的條形碼定位識別方法

      2020-07-23 09:07:20彭楷烽朱厚耀施冬冬鄧清文馬亮華
      機電工程技術(shù) 2020年6期
      關(guān)鍵詞:條碼分塊條形碼

      彭楷烽,朱厚耀,施冬冬,鄧清文,馬亮華

      (廣州大學(xué)機械與電氣工程學(xué)院,廣州 510006)

      0 引言

      條形碼在生活中隨處可見,其被廣泛應(yīng)用于各行各業(yè)。一維條形碼符號已成為一種普遍使用的系統(tǒng),并以其唯一標識產(chǎn)品信息的代碼來標識包裝的商品[1]。因為條形碼標識的唯一性,其被應(yīng)用在各類分揀工作上。傳統(tǒng)的條碼識別是依靠激光掃描器,掃描器和條碼的相對位置是影響識別的關(guān)鍵原因,因此有很大的局限性[2]。隨著機器視覺的快速發(fā)展,不同學(xué)者提出了基于圖像的條碼自動定位識別方法。馮國文[3]利用局部二值模式對條碼樣本圖像進行特征提取并對SVM分類器進行訓(xùn)練,再使用滑動窗口對圖像進行掃描并利用SVM分類器進行分類,最后聚集屬于條碼的子塊從而實現(xiàn)條碼的定位。Tropf等[4]利用DCT變換特性來區(qū)分條形碼與其他的紋理,在利用形態(tài)學(xué)操作平滑檢測到的條碼區(qū)域,最后提取區(qū)域的特征以檢測圖像中條碼的位置和方向,但該算法不夠魯棒。Zhang等[5]采用兩步處理,在低分辨率下,先從邊緣方向估計主方向,再拾取區(qū)域,并分別沿條形軸和編碼軸進行精確定位計算和投影;在高分辨率下,執(zhí)行條形碼姿勢正則化、有效部分尋找和高光消除的圖像預(yù)處理。其雖能定位出條碼的位置,但對于分布在同一行的條碼還需進一步分割。Tekin等[6]首先通過掃描4個不同方向以確定具有交替極性的邊緣點集合,然后在垂直與掃描方向的方向上計算線分數(shù)以得到可能的條碼區(qū)域,最后用方向熵消除錯誤的信息。Fang等[7]通過降采樣,分別對每個像素點計算0h、45h、90h和135h的梯度,并以最大的值及其對應(yīng)的方向作為該像素的梯度和方向,再轉(zhuǎn)換為二值圖并利用積分圖分析區(qū)域圖像,最后得到候選區(qū)域。

      本文提出基于PCA的條形碼定位識別方法。首先對圖像進行預(yù)處理,通過自適應(yīng)分塊技術(shù)對圖像進行分塊,接著運用主成分分析方法(PCA)對梯度方向一致的圖像塊進行篩選,并利用形態(tài)學(xué)方法對條形碼進行定位識別。除此之外,還使用了圖像金字塔提高了處理速度。實驗表明,本文提出的算法有很好的定位識別效果。

      1 條形碼的定位

      1.1 圖像預(yù)處理

      對于復(fù)雜背景下的圖像,可能會出現(xiàn)光照不均和噪聲污染等情況,因此進行條性碼定位識別之前需要進行適當?shù)念A(yù)處理。首先將圖像轉(zhuǎn)換成灰度圖像,再對圖像進行中值濾波。中值濾波是一種非線性的濾波技術(shù),其基本思想是利用點鄰域灰度值的中值來代替當前像素點的灰度值,該技術(shù)既能去除脈沖噪聲和椒鹽噪聲,又能保留圖像的邊緣信息。經(jīng)過濾波之后,利用sobel算子分別計算x方向和y方向的梯度。對于一個3 3的sobel邊緣檢測器,當梯度角距離水平或垂直方向越遠,對于梯度角的不準確性就會越明顯,而scharr算子在保證速度的同時還提高了準確度。scharr算子的模板為:

      1.2 主成分分析

      主成分分析是一種經(jīng)典的統(tǒng)計技術(shù),已應(yīng)用于不同的領(lǐng)域,PCA的目標是減少數(shù)據(jù)集的維度并確定新的有意義的基礎(chǔ)變量[8],是一個分析多維分布并且從中提取出帶有最多信息量的維度子集的方法。經(jīng)過邊緣檢測后,對圖像進行分塊,每個塊W的大小為b×b,利用PCA計算該窗口內(nèi)主方向。假設(shè)窗口內(nèi)任一點x方向和y方向的梯度為[ ]Gx,Gy,則自協(xié)方差矩陣C為:

      利用SVD分解可求得協(xié)方差矩陣C的特征值和特征向量,假設(shè)最大的特征值λ1對應(yīng)的特征向量u1(tx1,ty1),最小特征值λ2對應(yīng)的特征向量為u2(tx2,ty2),引入方向強度的定義[9]為:

      Str的取值在0~1之間,如果梯度方向指向同一方向,則λ2=0,Str=1,;在均勻分布的情況下,λ1=λ2,Str=0。在實際操作中,一般會設(shè)置一個方向一致性閾值T,若大于閾值則認為梯度方向大致相同。

      1.3 條形碼的定位

      經(jīng)過主成分分析后,可以得到一些候選區(qū)域,將這些區(qū)域繪制到與原圖像尺寸一樣大的二值圖像上,候選區(qū)域灰度為1,其他為0??紤]到候選區(qū)域存在非條碼區(qū)域,進行腐蝕操作可以消除長條狀的非條碼區(qū)域,腐蝕的公式為:

      為了使條碼區(qū)域擴大便于定位,進行膨脹操作,膨脹的公式為:

      需要注意的是,進行腐蝕操作時使用的核元素大小應(yīng)比分塊尺寸大,本文為(b+1,b+1);進行膨脹操作時使用的核元素大小應(yīng)比分塊尺寸小,本文為(0.75×b,0.75×b)。經(jīng)過形態(tài)學(xué)操作后,剩下一些候選區(qū)域,對這些區(qū)域求最小包圍矩形,根據(jù)矩形的長邊角度可以對原圖像進行矯正,并分割出候選區(qū)域進行識別。

      基于PCA的條碼定位識別方法如圖1所示。

      圖1 基于PCA的條碼定位識別方法

      2 自適應(yīng)分塊

      基于PCA的條碼定位識別算法雖能在復(fù)雜環(huán)境下對條碼進行定位識別,但是存在一個不足之處,那就是對圖像進行分塊時,要是分塊的尺寸不合適,就會直接導(dǎo)致無法正確定位條碼位置進而影響識別。因此,開發(fā)一種自適應(yīng)分塊算法十分重要。在實際處理過程中,由于分塊大小影響定位的情況有兩種,分別是定位到部分條碼和完全定位不到條碼?;谶@兩種情況,提出一種自適應(yīng)分塊算法。先初始化一個分塊大小并在這種分塊大小下進行主成分分析篩選出候選區(qū)域,在進行形態(tài)學(xué)處理后,求最小包圍矩形,并將面積最大的矩形對應(yīng)的區(qū)域進行矯正和分割。做一條與矩形長邊平行的線段,并從左端點開始,從第1次遇到黑色像素開始,之后每次記錄下黑白像素交替的位置點,直到記錄到第7次。若這個區(qū)域?qū)?yīng)的是條碼部分,則可計算出條碼的黑白間隔,假設(shè)第1次記錄的點為p1,第7次記錄的點為p2,則分塊的尺寸可由下式確定:

      具體的自適應(yīng)分塊算法流程如圖2所示。

      圖2 自適應(yīng)分塊算法

      3 圖像金字塔

      在進行條形碼定位識別時,若在原圖的基礎(chǔ)上進行處理,將會十分耗費時間,不符合實時性的要求。為了獲得圖像數(shù)據(jù)的精簡表示,減少圖像數(shù)據(jù)量,本文采用圖像金字塔。如圖3所示,圖像金字塔從低到高尺寸逐級遞減,分辨率也逐級遞減。金字塔層每增加一層,像素點數(shù)量減少4倍,處理速度也就提高4倍[10]。先在低分辨率的情況下進行自適應(yīng)分塊,并在計算出的分塊尺寸的基礎(chǔ)上進行基于PCA的條碼定位,最后在篩選的矩形區(qū)域的坐標映射回原分辨下的圖像進行識別。需要注意的是,金字塔的層數(shù)越多,處理速度會越快,但若是金字塔的層數(shù)過多,則會丟失大量信息,導(dǎo)致無法定位,所以要根據(jù)實際情況確定金字塔層數(shù),本文采取的是4層。

      圖3 圖像金字塔

      圖4 本文算法流程

      4 實驗

      4.1 流程步驟

      本文基于Opencv視覺庫在Windows平臺上進行算法的開發(fā),Opencv是一個開源的計算機視覺庫,其提供易于使用的計算機視覺接口,有助于加速開發(fā)。算法實驗的流程如圖4所示。本文采用的初始分塊尺寸為20,方向一致性閾值T=0.85。經(jīng)過算法識別定位的圖像如圖5所示。

      圖5 定位識別后的結(jié)果圖

      4.2 結(jié)果分析

      (1)由圖5(a)、(b)、(f)可知本文提出的算法對于多條形碼的定位識別表現(xiàn)出很好的優(yōu)勢。可以看到圖5(a)和圖5(b)中的條碼距離拍攝平面距離是不相同的,它們之間存在一定程度的變形,但在提出的算法的處理下,依然能夠全部定位識別,可見提出的算法對一定程度變形的條碼識別表現(xiàn)出優(yōu)勢。

      (2)由圖5(c)、(d)、(e)可知本文提出的算法能夠?qū)崿F(xiàn)復(fù)雜背景下的條碼定位識別。圖5(c)、(d)中的條碼雖然周圍有文字或者其他東西干擾,但由于條碼部分的主方向十分接近,因此算法能夠準確定位出來。除此之外,從圖5(e)可以看出,提出的算法也能夠?qū)崿F(xiàn)對旋轉(zhuǎn)的條碼進行定位識別。

      (3)由于算法加入了自適應(yīng)分塊技術(shù),因此能夠根據(jù)不同分辨率的圖像選擇不同的分塊尺寸,從而達到對不同的分辨率的條碼進行定位識別的目的。

      5 結(jié)束語

      本文提出基于PCA的條形碼定位識別方法,利用主成分分析方法實現(xiàn)對條碼方向的判斷,并采用自適應(yīng)分塊技術(shù)和圖像金字塔,使得算法更加魯棒。實驗表明,本文提出的算法能夠達到很好的定位識別效果。

      猜你喜歡
      條碼分塊條形碼
      中國條碼技術(shù)與應(yīng)用協(xié)會
      條碼微站
      創(chuàng)意條形碼
      分塊矩陣在線性代數(shù)中的應(yīng)用
      從條形碼到二維碼
      從條形碼到二維碼
      條形碼大變身
      反三角分塊矩陣Drazin逆新的表示
      基于自適應(yīng)中值濾波的分塊壓縮感知人臉識別
      基于多分辨率半邊的分塊LOD模型無縫表達
      铜山县| 古交市| 阿克苏市| 绥滨县| 崇左市| 长宁区| 镇康县| 金平| 米泉市| 中卫市| 九龙城区| 广宁县| 青海省| 延安市| 紫阳县| 民勤县| 弥渡县| 兴义市| 桂阳县| 德阳市| 嘉鱼县| 清新县| 资源县| 桓仁| 重庆市| 延边| 县级市| 呼和浩特市| 龙海市| 乌鲁木齐市| 嘉善县| 广德县| 文山县| 怀柔区| 黄冈市| 和林格尔县| 昌邑市| 蓝田县| 喀喇沁旗| 扶绥县| 宜宾县|