• 
    

    
    

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

      基于Android平臺(tái)的二維條碼算法研究與實(shí)現(xiàn)

      2014-11-21 11:14:48智立甫
      關(guān)鍵詞:定位點(diǎn)數(shù)組條碼

      李 毅, 智立甫, 賈 明

      (石家莊職業(yè)技術(shù)學(xué)院a.電氣與電子工程系;b.藝術(shù)設(shè)計(jì)系,河北 石家莊 050081)

      隨著手持智能終端技術(shù)和移動(dòng)互聯(lián)技術(shù)的飛速發(fā)展,基于智能終端的各種應(yīng)用研究層出不窮.Android平臺(tái)條碼識別技術(shù)是利用數(shù)字圖像處理技術(shù),將圖像信息轉(zhuǎn)換為數(shù)字信息,在智能終端上進(jìn)行處理以實(shí)現(xiàn)自動(dòng)識別條碼信息的一種技術(shù).本文將分析如何在Android平臺(tái)上實(shí)現(xiàn)條碼圖像獲取、條碼定位、條碼檢測及譯碼.

      1 二維條碼識別的結(jié)構(gòu)設(shè)計(jì)

      二維條碼識別是數(shù)字處理技術(shù)的典型應(yīng)用,由圖像捕捉、圖像預(yù)處理、條碼定位、條碼檢測、譯碼、信息輸出組成,如圖1所示.

      圖1 二維條碼識別結(jié)構(gòu)圖

      2 二維條碼識別算法

      2.1 圖像預(yù)處理

      Android平臺(tái)獲取的圖像信息以彩色模式存在,在數(shù)字處理前要將色度信息和色彩飽和度信息去除并轉(zhuǎn)換為256級的灰度圖像.將彩色圖像轉(zhuǎn)化為灰度圖像需要將RGB(紅、綠、藍(lán))顏色模式的圖像數(shù)據(jù)轉(zhuǎn)換為Y,Cb,Cr顏色模式,其中,Y代表圖像亮度,Cb代表色度,Cr代表飽和度.利用Gray(灰轉(zhuǎn)換.將色度和飽和度信息分量去掉,得到Gray=0.299R+0.587G+0.114B,再將 R,G,B三個(gè)分量設(shè)置為相等即可得到灰度圖.

      為了條碼定位和識別準(zhǔn)確,需要對灰度圖進(jìn)行二值化處理,在灰度圖中選取兩個(gè)灰度等級T1和T2,并設(shè)定為灰度閾值.灰度等級在T1和T2之間的設(shè)定為1,其他設(shè)定為0.即 g(x,y)=這樣就能得到只含有黑色和白色的二值圖像,條碼圖像也就具有較清晰的邊緣輪廓[1].

      2.2 條碼定位

      條碼圖像經(jīng)過預(yù)處理后,具有較為清晰的邊界和條碼特征.由于條碼種類不同,因此,條碼圖像具有較大的外形差異.定位條碼邊界是識別條碼的關(guān)鍵,具體算法為:第一步,將二值化圖像信息讀入二維數(shù)組ImageArray中,以數(shù)組的邊界定位圖形邊界;第二步,創(chuàng)建一個(gè)存放條碼圖像的二維數(shù)組QRArray;第三步,采用逐點(diǎn)掃描的方式,掃描ImageArray數(shù)組,如果獲取的ImageArray中元素為“1”,則在該點(diǎn)進(jìn)行水平和垂直兩次掃描,如果兩個(gè)方向上的掃描結(jié)果中均有兩個(gè)以上的“1”,則在QRArray中記錄該點(diǎn);否則不記錄.重復(fù)該掃描方式至ImageArray的最后一個(gè)元素,即可得到一幅完整條碼圖像的映射數(shù)組QRArray.

      2.3 條碼檢測

      QR_code是目前最為常用的二維條碼標(biāo)準(zhǔn),條碼圖像是一個(gè)正方形矩陣,所包含的信息有定位點(diǎn)、分割區(qū)、數(shù)據(jù)區(qū)和糾錯(cuò)區(qū).條碼有三個(gè)定位點(diǎn),分別分布于條碼圖像的左側(cè)和右上角,顯示特征為黑白條框[2].見圖2.

      圖2 定位點(diǎn)位置

      獲取定位點(diǎn)的算法為:第一步,采用對QRArray逐點(diǎn)掃描的方式,利用定位點(diǎn)特殊的比例關(guān)系確定三個(gè)定位點(diǎn)的邊界;第二步,將定位點(diǎn)以外的條碼數(shù)據(jù)區(qū)信息根據(jù)字符放置位置轉(zhuǎn)換為條碼字符數(shù)組DataArray;第三步,將DataArray的信息逐點(diǎn)分解為一個(gè)字模,即5個(gè)數(shù)據(jù)位和10個(gè)糾錯(cuò)位,利用經(jīng)典Chien搜索法得到糾錯(cuò)位坐標(biāo),數(shù)據(jù)位通過查表方式確定,即可得到條碼信息.

      3 基于Android平臺(tái)實(shí)現(xiàn)二維條碼識別

      采用JavaSE技術(shù)實(shí)現(xiàn)基于桌面的條碼識別系統(tǒng),構(gòu)建Android平臺(tái)的條碼識別流程,如圖3所示.

      在圖像處理類中,由于Android的硬件資源有限,所以在灰度處理、均衡處理、邊緣處理、二值化處理中,先將圖像轉(zhuǎn)換為Static類型的三維數(shù)組,之后圍繞數(shù)組展開計(jì)算,在圖像顯示時(shí)將數(shù)組轉(zhuǎn)換為Image類型.這樣不僅能提高運(yùn)算速度,而且能節(jié)約系統(tǒng)資源.條碼定位算法先對ImageArray行逐點(diǎn)掃描,符合在水平向右方向上連續(xù)6個(gè)像素出現(xiàn)“1”,并且垂直向下方向連續(xù)6個(gè)像素為“1”,則定位為條碼的起始坐標(biāo).條碼的終止坐標(biāo)算法與起始坐標(biāo)算法類似.根據(jù)計(jì)算得到的坐標(biāo)可以將圖像進(jìn)行切割,得到條碼圖像映射矩陣.該定位算法的優(yōu)勢在于,它能方便、快速地分割圖像中的條碼區(qū)域;缺點(diǎn)在于,如果條碼定位不準(zhǔn)確,將不能有效地識別信息,識別率反而降低.

      圖3 Android應(yīng)用程序流程圖

      4 測試與分析

      測試環(huán)境為:計(jì)算機(jī)模擬Android4.2.2平臺(tái),攝像頭200萬像素.測試中選擇較好的光照條件對條碼正面進(jìn)行拍攝,對10幅二維條碼進(jìn)行測試,每幅照片的識別時(shí)間平均為5s,識別成功率為100%.同時(shí),使用一幅沒有條碼的圖像進(jìn)行測試,由于程序的形態(tài)學(xué)處理會(huì)將整幅畫面中所有的亮度腐蝕掉,因此,在圖像中找不到任何字符可以識別,識別結(jié)果為空.

      通過測試可知,系統(tǒng)程序可以對較好環(huán)境下拍攝的條碼圖像進(jìn)行識別,雖然其在識別速度、正確率和抗干擾方面有待加強(qiáng),但它仍然證明了使用Android作為信息采集和處理設(shè)備的可行性,為今后構(gòu)建Android平臺(tái)的信息采集與識別系統(tǒng)打下了基礎(chǔ).

      5 結(jié)束語

      利用Android平臺(tái),使用數(shù)字圖像處理技術(shù)可有效識別二維條碼,將圖像信息轉(zhuǎn)換為文本信息.該信息可以與現(xiàn)有的Android信息過濾軟件融合,為安全、高效使用條碼提供技術(shù)保障,同時(shí)也為今后以智能終端作為信息采集與處理平臺(tái)的各種信息管理系統(tǒng)的建立積累經(jīng)驗(yàn).

      [1]徐慧,王占全.精通VC++數(shù)字圖像處理技術(shù)與工程案例[M].北京:人民郵電出版社,2009:23.

      [2]中國物品編碼中心.條碼技術(shù)與應(yīng)用 [M].北京:中國計(jì)量出版社,2003:145.

      猜你喜歡
      定位點(diǎn)數(shù)組條碼
      中國條碼技術(shù)與應(yīng)用協(xié)會(huì)
      條碼微站
      時(shí)速160公里剛性接觸網(wǎng)定位點(diǎn)導(dǎo)高偏差研究
      電氣化鐵道(2023年6期)2024-01-08 07:45:48
      JAVA稀疏矩陣算法
      數(shù)獨(dú)小游戲
      JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
      地鐵剛性接觸網(wǎng)定位點(diǎn)脫落狀態(tài)分析
      電氣化鐵道(2018年4期)2018-09-11 07:01:38
      我的結(jié)網(wǎng)秘籍
      尋找勾股數(shù)組的歷程
      基于固定條碼與電子標(biāo)簽比對設(shè)備的設(shè)計(jì)
      左云县| 加查县| 德清县| 天门市| 福贡县| 视频| 东港市| 铜陵市| 淮阳县| 通海县| 剑河县| 岚皋县| 鹿泉市| 五台县| 襄城县| 周口市| 鄂托克前旗| 桃源县| 巫山县| 安龙县| 梁平县| 洞口县| 宝丰县| 贵溪市| 稷山县| 麻栗坡县| 启东市| 澳门| 建湖县| 木兰县| 阿拉尔市| 中西区| 台江县| 浮山县| 静宁县| 芦溪县| 印江| 九江县| 伊川县| 深水埗区| 衢州市|