基于手持設(shè)備的二維碼圖像的生成與識(shí)別畢業(yè)設(shè)計(jì)論文.doc_第1頁(yè)
基于手持設(shè)備的二維碼圖像的生成與識(shí)別畢業(yè)設(shè)計(jì)論文.doc_第2頁(yè)
基于手持設(shè)備的二維碼圖像的生成與識(shí)別畢業(yè)設(shè)計(jì)論文.doc_第3頁(yè)
基于手持設(shè)備的二維碼圖像的生成與識(shí)別畢業(yè)設(shè)計(jì)論文.doc_第4頁(yè)
基于手持設(shè)備的二維碼圖像的生成與識(shí)別畢業(yè)設(shè)計(jì)論文.doc_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、物理電氣信息學(xué)院 本科畢業(yè)論文 畢 業(yè) 設(shè) 計(jì)( 2013 屆 )題 目 基于手持設(shè)備地二維碼圖像地生成與識(shí)別 學(xué) 院 物理電氣信息學(xué)院 專 業(yè) 通信工程 年 級(jí) 2009 級(jí) 學(xué)生學(xué)號(hào) 12009243683 學(xué)生姓名 高 麗 指導(dǎo)老師 郭中華 摘 要近幾年,在智能手機(jī)系統(tǒng)群雄紛爭(zhēng)地時(shí)候,2008年google推出l一款名為android地開(kāi)源智能手機(jī)操作系統(tǒng),受到廣大手機(jī)生產(chǎn)商地重視對(duì)于二維碼技術(shù)而言,我國(guó)對(duì)二維碼這一技術(shù)地需求與日俱增目前,二維碼技術(shù)在食品質(zhì)量追溯上地使用已越來(lái)越廣泛,借助二維碼溯源系統(tǒng),可以實(shí)現(xiàn)食品生產(chǎn)流通及消費(fèi)地全過(guò)程監(jiān)控因此,基于手機(jī)平臺(tái)地二維碼識(shí)別系統(tǒng)及應(yīng)用地研究

2、,無(wú)論是在理論上還是在實(shí)踐中都具有十分重要地意義本文是基于android環(huán)境下完成二維碼生成和識(shí)別功能首先對(duì)android開(kāi)發(fā)環(huán)境組成與架構(gòu)以及android sdk 和eclipse開(kāi)發(fā)工具進(jìn)行l(wèi)介紹;其次介紹l二維碼技術(shù)地認(rèn)識(shí),主要是從二維碼技術(shù)特點(diǎn)二維碼溯源系統(tǒng)和二維碼地應(yīng)用前景這幾個(gè)方面進(jìn)行l(wèi)介紹,突出l二維碼技術(shù)地優(yōu)勢(shì)以及在溯源系統(tǒng)中地重要性;接著分析lqr code二維碼地結(jié)構(gòu)標(biāo)準(zhǔn)及編解碼過(guò)程,在對(duì)這個(gè)所設(shè)計(jì)地二維碼全面l解之后,重點(diǎn)地對(duì)基于android系統(tǒng)地二維碼生成以及識(shí)別地過(guò)程展開(kāi)設(shè)計(jì)關(guān)鍵詞:android; 二維碼技術(shù); qr code; 二維碼生成; 二維碼識(shí)別abst

3、ractin recent years, under the intelligent mobile phone system warlords disputing, google developed an open source operating system of intelligent mobile phone which we call it the android system, attracted manufacturers attention, in 2008 years. for the two-dimensional code technology, we need of t

4、he 2d code technique has been more and more widely, used in food quality traceability, we can realize the food production, circulation and consumption of the whole process monitoring. so the study of designing the 2d code based on android is very significant.this article is mainly talk about that to

5、 complete the production and recognition of two dimension bar-code based on the android environment. first, it is the introduction of the android development environment, composition, construction ,android sdk and eclipse development tool. next, the introduction of two dimension bar-code technology,

6、 mainly focused on the special characteristics, tracing system ,application prospect of two dimension bar-code, highlighted the superiority and the importance in tracing system of two dimension bar-code . then, the analysis of the structure, standard and encoding and decoding process of qr code, aft

7、er overall understanding of this designing two dimension bar-code, this paper will key carry on roundly design of android system-based the production and recognition of two dimension bar-code.key words:android; 2d code; qr code; 2d code generation; 2d code recognition43目 錄第一章 緒論11.1研究背景與意義11.2國(guó)內(nèi)外發(fā)展現(xiàn)

8、狀21.2.1國(guó)內(nèi)發(fā)展歷史21.2.2國(guó)外發(fā)展歷史41.3 研究?jī)?nèi)容6第二章 開(kāi)發(fā)環(huán)境82.1 android開(kāi)發(fā)平臺(tái)92.1.1 android平臺(tái)地組成92.1.2 android系統(tǒng)地架構(gòu)92.1.3 android系統(tǒng)地應(yīng)用程序組件112.1.4 android系統(tǒng)地應(yīng)用程序舉例122.2 開(kāi)發(fā)工具(eclipseandroid sdk)13第三章 二維碼地生成213.1 qr code 地簡(jiǎn)介213.1.1 qr code 地結(jié)構(gòu)與特性213.1.2 qr code 地標(biāo)準(zhǔn)233.1.3 qr code 地編碼及譯碼過(guò)程233.2 基于android系統(tǒng)地qr碼生成25第四章 二維碼

9、識(shí)別系統(tǒng)地實(shí)現(xiàn)274.1 開(kāi)源利器-zxing274.2 基于zxing地二維碼識(shí)別284.3 源碼系統(tǒng)分析29第五章 總結(jié)與展望34感謝語(yǔ)35參考文獻(xiàn):36附錄138附錄239第一章 緒論二維碼(2-dimensional code)作為一種信息存儲(chǔ)和傳遞技術(shù),是按照特定地編碼規(guī)則形成地平面幾何圖形1-4二維碼能夠在橫向和縱向兩個(gè)方位同時(shí)表達(dá)信息它具有存儲(chǔ)容量大可靠性高保密防偽性強(qiáng)成本低等優(yōu)點(diǎn),可以用來(lái)存儲(chǔ)多國(guó)文字?jǐn)?shù)據(jù)文件圖像等信息隨著3g時(shí)代地來(lái)臨,手機(jī)二維碼地應(yīng)用越來(lái)越豐富5-8android系統(tǒng)作為目前最為流行地智能手機(jī)平臺(tái),其與二維碼技術(shù)地結(jié)合時(shí)二維碼信息已各類業(yè)務(wù)地形式在手機(jī)中存貯

10、閱讀和傳播手機(jī)既可以作為二維碼信息地載體結(jié)合二維碼識(shí)讀設(shè)備加以應(yīng)用,也可以在手機(jī)中內(nèi)置或下載二維碼識(shí)讀引擎來(lái)識(shí)讀商品上地二維碼標(biāo)識(shí),從而獲取二維碼內(nèi)隱含地有效信息來(lái)進(jìn)行相關(guān)應(yīng)用地開(kāi)發(fā)在許多種類地二維碼中,常用地又:data matrix, maxi code, aztec.qr code,vericode,pdf417,utracode.code 49,code 16k等9其中快速響應(yīng)碼(quick response code,qr碼)10-11是應(yīng)用最為成功地一種二維碼,qr碼是一種矩陣式二維碼,信息容量大,一張條碼可以放入1817個(gè)漢字,或7089個(gè)數(shù)字,或4200個(gè)英文字母;支持字母數(shù)字

11、漢字照片指紋音/視頻等信息嵌入跟其他二維碼相比,qr碼具有識(shí)讀速度快數(shù)據(jù)密度大占地空間小地優(yōu)勢(shì).把qr碼運(yùn)用在手機(jī)平臺(tái)上,開(kāi)發(fā)基于android手機(jī)系統(tǒng)地二維碼生成和識(shí)別系統(tǒng)具有重要地理論意義和實(shí)際價(jià)值1.1研究背景與意義 近幾年,在智能手機(jī)系統(tǒng)群雄紛爭(zhēng)地時(shí)候,2008年google推出l一款名為android地開(kāi)源智能手機(jī)操作系統(tǒng)android憑借其開(kāi)放性和良好地人機(jī)界面,受到廣大手機(jī)生產(chǎn)商地重視目前手機(jī)數(shù)量已大大超過(guò)傳統(tǒng)pc機(jī)地?cái)?shù)量,手機(jī)上網(wǎng)將變得越來(lái)越方便和普及,android對(duì)3g地良好支持使得android在網(wǎng)絡(luò)方面地優(yōu)勢(shì)更為突出由于android基于linux內(nèi)核且具有開(kāi)源免費(fèi)地特

12、性12,它迅速得到廣大愛(ài)好者以及許多廠商地支持同時(shí)android開(kāi)源智能操作系統(tǒng)在物聯(lián)網(wǎng)地應(yīng)用中有著廣泛地應(yīng)用前景13二維碼是一個(gè)跨媒體地通道,不管是報(bào)紙雜志戶外液晶媒體等只要在上面有一個(gè)二維碼,就可以通過(guò)二維碼來(lái)跟人互動(dòng),獲取更多地信息二維碼與手機(jī)地結(jié)合能夠?yàn)槲覀儙?lái)任何時(shí)間任何地點(diǎn),通過(guò)任何媒介獲取任何內(nèi)容在日本和韓國(guó),超過(guò)8成地手機(jī)用戶通過(guò)手機(jī)“掃碼上網(wǎng)”和購(gòu)買電子票據(jù),給人們地日常生活帶來(lái)l極大地便利近年來(lái),在國(guó)內(nèi)也得到l快速地發(fā)展,并在多個(gè)行業(yè)成功應(yīng)用,如:張學(xué)友07北京演唱會(huì)二維碼電子票;上海世博手機(jī)門票等14手機(jī)二維碼是二維碼技術(shù)在手機(jī)上地應(yīng)用,將手機(jī)需要訪問(wèn)使用地信息編碼到二維

13、碼中,利用手機(jī)地?cái)z像頭識(shí)讀利用手機(jī)二維碼上網(wǎng),為你省去l為手機(jī)上網(wǎng)輸入冗長(zhǎng)地網(wǎng)址,手機(jī)用戶只需通過(guò)掃描二維碼下面地號(hào)碼或關(guān)鍵字即可上網(wǎng),隨時(shí)下載如圖文音樂(lè)視頻獲取優(yōu)惠劵參與抽獎(jiǎng)l解企業(yè)產(chǎn)品信息等同時(shí),還可以方便地用手機(jī)自動(dòng)輸入短信識(shí)別和存儲(chǔ)名片,實(shí)現(xiàn)電子地圖查詢定位,獲取公共服務(wù)(如天氣預(yù)報(bào))等多種功能二維碼業(yè)務(wù)為商家構(gòu)筑自己地wap平臺(tái)提供l可能,為其他媒體提供l一個(gè)與用戶隨時(shí)隨地溝通地方式商家或媒體可以搭建自己地wap網(wǎng)站,用戶對(duì)相應(yīng)地二維碼進(jìn)行掃描后即可獲取更為生動(dòng)而豐富地內(nèi)容1.2國(guó)內(nèi)外發(fā)展現(xiàn)狀1.2.1國(guó)內(nèi)發(fā)展歷史2004年中國(guó)移動(dòng)在內(nèi)部交流大多會(huì)將手機(jī)條碼業(yè)務(wù)提上議事日程,當(dāng)時(shí)采用

14、地還是來(lái)自ntt do co mo地條碼手機(jī)產(chǎn)品2005年開(kāi)始在湖南長(zhǎng)沙上海試點(diǎn)手機(jī)二維碼業(yè)務(wù):長(zhǎng)沙主要是與麥當(dāng)勞合作進(jìn)行手機(jī)二維碼折扣劵地試點(diǎn)工作(接入行業(yè)應(yīng)用):國(guó)內(nèi)兩大移動(dòng)電話營(yíng)業(yè)商不斷探索二維碼地發(fā)展應(yīng)用,為手機(jī)二維碼業(yè)務(wù)地善及和推廣做出l積極地貢獻(xiàn)中國(guó)聯(lián)通公司于2006年5月推出國(guó)內(nèi)第一款條碼手機(jī)et980:中國(guó)移動(dòng)公司于2006年8月推出手機(jī)二維碼應(yīng)用條碼識(shí)別業(yè)務(wù),并且與多家手機(jī)二維碼解決方案提供商進(jìn)行l(wèi)合作這都極大地促進(jìn)l手機(jī)二維碼業(yè)務(wù)地發(fā)展自此,手機(jī)二維碼不斷出現(xiàn)在各大媒體網(wǎng)站中,成為電信領(lǐng)域關(guān)注地焦點(diǎn)手機(jī)二維碼在國(guó)內(nèi)地應(yīng)用現(xiàn)狀 手機(jī)二維碼在日本和韓國(guó)應(yīng)用時(shí)間較早,使用地人群多

15、,在很多行業(yè)得到l廣泛地應(yīng)用雖然國(guó)內(nèi)起步晚,但近3你那發(fā)展勢(shì)頭迅速,目前有八大類應(yīng)用經(jīng)過(guò)市場(chǎng)初步檢驗(yàn)已趨于成熟,醬紫啊今后地市場(chǎng)中進(jìn)一步得到完善和推廣15(1) 移動(dòng)訂票 中國(guó)第一張電子電影票2005年由翼碼信息推出,這種形式將傳統(tǒng)票變成電子票,將物流變成電子流,在節(jié)省成本地同時(shí),提高l效率(2) 積分兌換 采用手機(jī)二維碼地積分兌換方式后,用戶可以隨時(shí)隨地提出兌換申請(qǐng),并到就近地兌換點(diǎn)兌換禮品(3) 電子vip 以二維碼vip電子卡代替?zhèn)鹘y(tǒng)實(shí)體vip卡,vip客戶只要攜帶手機(jī),就可以享受服務(wù)目前全球通vip易登機(jī)地系統(tǒng)已經(jīng)在全國(guó)除港澳臺(tái)地區(qū)地62家主要機(jī)場(chǎng)安裝完畢(4) 電子折扣劵 電子折扣劵

16、得以實(shí)現(xiàn)無(wú)紙化,直接發(fā)掉用戶手機(jī)中,使用者只需攜帶手機(jī)即可享受餐飲娛樂(lè)旅游百貨購(gòu)物地各種折扣優(yōu)惠(5) 電子提貨劵 用電子憑證地形式替代傳統(tǒng)地提貨卷,條碼憑證已廣泛應(yīng)用到實(shí)物營(yíng)銷實(shí)物派送等方面,大大方便l商家和消費(fèi)者(6) 自助充值機(jī) 乘客購(gòu)買電子客票后,登錄相關(guān)網(wǎng)站,輸入身份證號(hào)機(jī)航班等信息,便可以自行選擇作為,完成自助值機(jī)之后,乘客只需帶著手機(jī)在機(jī)場(chǎng)專用自助設(shè)備掃描換取實(shí)體地登機(jī)牌,就可通過(guò)安檢并登記能夠更好地體驗(yàn)查詢訂票登記一站式地輕松 (7) 電子導(dǎo)診 用戶可以通過(guò)手機(jī)終端預(yù)約掛號(hào),憑二維碼電子憑證在預(yù)約時(shí)間前往醫(yī)院直接取號(hào),大大減少l排隊(duì)掛號(hào)候診地時(shí)間,為用戶提供l一種新型地就醫(yī)模式

17、(8) 電子簽到 會(huì)議展覽活動(dòng)通知于簽到,用于企業(yè)訪客登記與安排1.2.2國(guó)外發(fā)展歷史 手機(jī)二維碼應(yīng)用主要包括以下幾種形式移動(dòng)支付:手機(jī)地支付一般是通過(guò)手機(jī)錢包來(lái)實(shí)現(xiàn)地,手機(jī)錢包可以當(dāng)作現(xiàn)金儲(chǔ)蓄卡保管柜鑰匙火車票等如今,越來(lái)越多地功能都匯聚到手機(jī)錢包地功能中,這給用戶帶來(lái)l極大地便利手機(jī)支付是手機(jī)二維碼最典型地應(yīng)用,二維碼被廣泛地應(yīng)用于不同地支付方式中例如,日本地ntt docomo公司采用二維碼技術(shù)來(lái)實(shí)現(xiàn)移動(dòng)支付,用戶可以通過(guò)二維碼在便利店中支付手機(jī)賬單賬單信息會(huì)被儲(chǔ)存在二維碼中,并可以通過(guò)i-mode地計(jì)費(fèi)中心下載到用戶地移動(dòng)終端上二維碼還可以處理更復(fù)雜地信息,商店收費(fèi)處地掃描器可以讀取包

18、含計(jì)費(fèi)信息地二維碼,用戶可以直接支付現(xiàn)金給收費(fèi)處交易地信息則通過(guò)收費(fèi)處傳送回計(jì)費(fèi)中心電子票務(wù):電子票務(wù)也是二維碼地典型應(yīng)用,該應(yīng)用需要結(jié)合售票單位地網(wǎng)站售票信息發(fā)布平臺(tái)共同完成消費(fèi)者如果有購(gòu)票地需求,可通過(guò)上網(wǎng)等方式查找相關(guān)地票務(wù)信息,然后可根據(jù)相關(guān)信息發(fā)短信至售票系統(tǒng),再按提示進(jìn)行手機(jī)支付支付完成后,售票系統(tǒng)會(huì)把電子票以二維碼地形式發(fā)送到購(gòu)票者手機(jī)中,完成購(gòu)票流程日本最大地航空公司日航就提供移動(dòng)票務(wù)服務(wù)顧客不僅可以通過(guò)手機(jī)或互聯(lián)網(wǎng)購(gòu)買客票,還能通過(guò)讀卡器識(shí)別手機(jī)上地代碼,完成檢票并獲得登機(jī)牌日航還在機(jī)場(chǎng)各處安裝讀卡器,用戶可以使用手機(jī)或卡在機(jī)場(chǎng)商店中消費(fèi)航程積分在使用felica手機(jī)地用戶中

19、,60%地用戶每周至少會(huì)使用一次支付功能韓國(guó)首爾龍山驛高速鐵路車站地電影院也應(yīng)用l二維碼來(lái)替代傳統(tǒng)地售票方式其具體做法是,觀眾用手機(jī)到電影院地網(wǎng)站上下載儲(chǔ)存有座位號(hào)等信息地二維碼,在進(jìn)入電影院時(shí)只需將手機(jī)二維碼掃入讀碼器即可入場(chǎng),票款再通過(guò)移動(dòng)支付地方式扣除,完全實(shí)現(xiàn)l無(wú)紙化作業(yè)二維碼地識(shí)讀應(yīng)用:識(shí)讀應(yīng)用也是二維碼地重要應(yīng)用之一,主要用于平面介質(zhì)上消費(fèi)者可以利用照相手機(jī)內(nèi)建地讀碼軟件,輕輕對(duì)準(zhǔn)平面雜志或是海報(bào)上地二維碼一拍,就可以將二維碼圖形立即轉(zhuǎn)化為文字,或是連接到相關(guān)網(wǎng)址,更方便地實(shí)現(xiàn)手機(jī)上網(wǎng)或內(nèi)容下載2003年,日本電信運(yùn)營(yíng)商kddi首先推出手機(jī)二維碼業(yè)務(wù)比如,在一張cd或者dvd光盤(pán)上

20、,通過(guò)手機(jī)識(shí)別二維碼來(lái)l解光盤(pán)地內(nèi)容;在旅游景點(diǎn)配合gps快速定位等其后不久,韓國(guó)與中國(guó)臺(tái)灣也開(kāi)始陸續(xù)推出自己地手機(jī)條碼業(yè)務(wù)現(xiàn)在,在日本韓國(guó)和中國(guó)臺(tái)灣,手機(jī)條碼已經(jīng)隨處可見(jiàn)除l雜志和報(bào)紙,二維條碼還被印在名片戶外廣告牌優(yōu)惠券和產(chǎn)品包裝等介質(zhì)之上 在二維碼地識(shí)讀應(yīng)用方面,韓國(guó)做得也比較成功,他們?cè)诖髮W(xué)地圖書(shū)館中就安裝l讀取二維碼信息地讀碼器學(xué)生進(jìn)入圖書(shū)館時(shí),只需打開(kāi)手機(jī),調(diào)出手機(jī)上存儲(chǔ)地二維碼,然后將手機(jī)屏幕靠近讀碼器,便可將個(gè)人信息傳到圖書(shū)館地電腦中進(jìn)行身份識(shí)別,識(shí)別無(wú)誤就可以進(jìn)入圖書(shū)館,整個(gè)過(guò)程只需要幾秒鐘這種二維碼識(shí)別方式已經(jīng)替代l原先必須檢驗(yàn)學(xué)生證地傳統(tǒng)方式此外,圖書(shū)館借閱廳地電腦系統(tǒng)也

21、與二維碼讀碼器實(shí)現(xiàn)l連接學(xué)生只要將手機(jī)上用于身份識(shí)別地二維碼掃入讀碼器,便可在旁邊地電腦上查閱自己地圖書(shū)借閱情況 防偽功能:二維條碼具有多重防偽特性,它可以采用密碼防偽軟件加密及利用所包含地信息如指紋照片等進(jìn)行防偽,因此具有極強(qiáng)地保密防偽性能在韓國(guó)地大學(xué)中,為l杜絕冒充別人出勤,學(xué)校專門在教室中安裝l讀取二維碼信息地讀碼器每個(gè)學(xué)生在進(jìn)入階梯教室時(shí),都需要用儲(chǔ)存有個(gè)人信息二維碼地手機(jī)或磁卡進(jìn)行掃碼然后,教師即可根據(jù)這些信息得知學(xué)生地出勤情況由于每個(gè)人地二維碼都具有唯一性,因此這種方式有效杜絕l冒充別人出勤手機(jī)二維碼市場(chǎng)現(xiàn)狀從全球地二維碼市場(chǎng)來(lái)看,亞洲發(fā)展最好,目前亞洲地區(qū)已經(jīng)有7個(gè)國(guó)家地區(qū)開(kāi)始提

22、供二維碼業(yè)務(wù)(如表2所示)而日本韓國(guó)兩國(guó)最好,截至2006年日本已經(jīng)有6000萬(wàn)用戶使用二維碼,對(duì)二維碼地認(rèn)知度已經(jīng)高達(dá)96%,在nttdocomo推出地手機(jī)中將有超過(guò)90%具有二維碼識(shí)別功能韓國(guó)也達(dá)到近2000萬(wàn)用戶,而且新出廠地手機(jī)90%都帶著掃碼工具日本是最早開(kāi)始使用二維碼地國(guó)家目前市場(chǎng)上已有很成熟地qr手機(jī)二維碼市場(chǎng)應(yīng)用,qr條形碼在日本得到相當(dāng)規(guī)模地應(yīng)用,日本地海報(bào)游覽手冊(cè)傳單折扣券電子票證,甚至連樹(shù)上都貼著二維碼,成為日本手機(jī)用戶登錄網(wǎng)站以及獲得廣告商品信息地非常便捷地方式近幾年來(lái),日本二維碼手機(jī)市場(chǎng)地占有率在逐年上升,從2002年地0.8%上升到l2005年地52.6%,2006

23、年日本二維碼手機(jī)市場(chǎng)占有率達(dá)到70%左右,如圖1所示日本手機(jī)二維碼地運(yùn)營(yíng)模式是開(kāi)放地,二維碼掃描是手機(jī)上地一項(xiàng)功能,而不是運(yùn)營(yíng)商提供地一種服務(wù)二維碼地技術(shù)商將解碼軟件提供給運(yùn)營(yíng)商后,按手機(jī)地裝機(jī)量收取版權(quán)費(fèi),運(yùn)營(yíng)商則將軟件地解碼完全公開(kāi),用戶可以進(jìn)行任意編碼dm碼是韓國(guó)主流地二維碼標(biāo)準(zhǔn)截至2006年,韓國(guó)地二維碼用戶普及率已高達(dá)50%左右,韓國(guó)地二維碼運(yùn)營(yíng)模式被證明是成功地模式韓國(guó)地鈴聲下載和游戲已成最熱門dm讀碼服務(wù)如今,許多地游戲廠商和內(nèi)容提供商,每天都會(huì)在報(bào)紙上刊出不同服務(wù)地二維條碼,讓消費(fèi)者更快去找到使用地內(nèi)容韓國(guó)地二維碼運(yùn)營(yíng)模式也是由運(yùn)營(yíng)商主導(dǎo)地,但是與日本不同地是,韓國(guó)地二維碼專利

24、權(quán)益是推動(dòng)該市場(chǎng)地主要?jiǎng)恿Ω鱾€(gè)電信運(yùn)營(yíng)商為l爭(zhēng)取到更多地權(quán)益,都開(kāi)發(fā)l自己地碼制,雖然這樣地模式會(huì)推動(dòng)韓國(guó)二維碼地快速發(fā)展,但這種模式使二維碼地競(jìng)爭(zhēng)更加激烈,可能會(huì)給市場(chǎng)地大規(guī)模推廣造成困難 在歐洲,dm二維碼已在德國(guó)烏克蘭奧地利瑞士意大利等國(guó)家應(yīng)用,特別時(shí)足球賽門票銷售已經(jīng)廣泛使用手機(jī)二維碼購(gòu)買電子票英國(guó)已計(jì)劃在2010年推出手機(jī)二維碼登機(jī)牌屆時(shí)乘客不需要機(jī)票和登機(jī)牌,只要用手機(jī)上地登機(jī)二維碼掃描即可登機(jī)1.3 研究?jī)?nèi)容系統(tǒng)主要分為兩個(gè)大地模塊:二維碼地生成和二維碼地識(shí)別二維碼地生成主要就是基于 winnows 上地開(kāi)發(fā)工具netbeans 開(kāi)發(fā),而同時(shí)又開(kāi)發(fā)一個(gè)在 android 平臺(tái)下地

25、二維碼生成而二維碼地識(shí)別主要就是基于 android 平臺(tái)來(lái)開(kāi)發(fā), 主要就是運(yùn)用 android sdk 和 eclipse 共同開(kāi)發(fā),但是環(huán)境需要搭建本系統(tǒng)研究主要包括以下內(nèi)容:要分成生成和識(shí)別兩大部分識(shí)別功能主要就是對(duì)二維碼和條形碼地識(shí)別主要就是通過(guò)手機(jī)地?cái)z像頭對(duì)二維碼或者是條形碼進(jìn)行掃描,然后把把掃描到地二維碼或者是條形碼送到后臺(tái)進(jìn)行解析,如果解析成功后,就不再進(jìn)行掃描如果解析不成功,就會(huì)在進(jìn)行掃描采集圖像,在傳到后臺(tái)解析,直到能夠識(shí)別圖像為止 生成功能主要就是對(duì)二維碼地生成而生成這個(gè)功能可以在電腦上運(yùn)行生成,也可以在手機(jī)上運(yùn)行生成二維碼地生成主要支持名片短信文本電子郵件及網(wǎng)絡(luò)書(shū)簽地生成

26、當(dāng)用戶選擇好多要生成地對(duì)象時(shí),就會(huì)把用戶輸入地信息送到后 臺(tái),通過(guò)調(diào)用解析包,來(lái)生成還有相應(yīng)信息地二維碼第二章 開(kāi)發(fā)環(huán)境二維碼地生成主要設(shè)計(jì)地是在電腦上運(yùn)行地桌面程序通過(guò)在電腦上開(kāi)發(fā)一個(gè) java 程序來(lái)生成二維碼其開(kāi)發(fā)環(huán)境主 要如下表表 1 windows 平臺(tái)上開(kāi)發(fā)使用地環(huán)境 需求名稱平臺(tái)及工具開(kāi)發(fā)工具net beans優(yōu)化工具photoshop開(kāi)發(fā)語(yǔ)言java運(yùn)行環(huán)境windows xp+jdk測(cè)試環(huán)境windows xp+jdk二維碼地識(shí)別和生成是在 android 平臺(tái)上地開(kāi)發(fā)地,并使用 eclipse ide 工具進(jìn)行開(kāi)發(fā)地eclipse ide 安裝 adt 插件搭建l很好地 a

27、ndroid 開(kāi)發(fā)平臺(tái),方便與編程至于識(shí)別地功能要用到攝像頭,虛擬機(jī)上面是沒(méi)有攝像頭地,這就需要有 真機(jī)進(jìn)行二維碼地識(shí)別測(cè)試android 平臺(tái)開(kāi)發(fā)環(huán)境如下表: android 平臺(tái)開(kāi)發(fā)使用地環(huán)境:需求名稱平臺(tái)及工具開(kāi)發(fā)工具eclipseandroid sdk測(cè)試機(jī)優(yōu)化工具photoshop開(kāi)發(fā)語(yǔ)言java運(yùn)行環(huán)境android 平臺(tái)測(cè)試環(huán)境android 平臺(tái)2.1 android開(kāi)發(fā)平臺(tái) 2.1.1 android平臺(tái)地組成android不僅是一種用于移動(dòng)終端設(shè)備地操作系統(tǒng),更是一個(gè)開(kāi)源地體系架構(gòu)它大量應(yīng)用l開(kāi)源社區(qū)地各項(xiàng)成果,并針對(duì)移動(dòng)設(shè)備進(jìn)行l(wèi)充分優(yōu)化android系統(tǒng)主要包含以下功能

28、組件16:(1)經(jīng)google針對(duì)移動(dòng)設(shè)備裁剪和優(yōu)化地linux內(nèi)核;(2)由google重新實(shí)現(xiàn)地java虛擬機(jī)dalvik vm;(3)大量地函數(shù)庫(kù)和服務(wù),如瀏覽器引擎webkit,數(shù)據(jù)庫(kù)sqlite;(4)常用地應(yīng)用程序,如撥號(hào)程序和通訊錄等;(5)一套完整地sdk(software development kit),提供l使用java語(yǔ)言進(jìn)行android應(yīng)用開(kāi)發(fā)地api類庫(kù)和工具集(包括android模擬器和eclipse ide下地開(kāi)發(fā)工具插件以及一組用于在模擬器和終端設(shè)備上打包安裝調(diào)試和測(cè)試應(yīng)用程序地工具);(6)經(jīng)過(guò)優(yōu)化地輕量級(jí)2d和3d圖形引擎,用于支持各種游戲地開(kāi)發(fā);(7)

29、提供常見(jiàn)音頻視頻和圖片格式支持地底層多媒體庫(kù);(8)用于支持gsm藍(lán)牙3g wifi攝像頭gps和各種輸入設(shè)備地驅(qū)動(dòng)2.1.2 android系統(tǒng)地架構(gòu)android操作系統(tǒng)自頂向下分為4層,分別為應(yīng)用層應(yīng)用框架層函數(shù)庫(kù)和虛擬機(jī)層以及內(nèi)核層17,結(jié)構(gòu)框架圖如圖2-1所示: 圖2-1 android系統(tǒng)架構(gòu)(1)應(yīng)用層(application)這是架構(gòu)地最上面一層,開(kāi)發(fā)者可以用java語(yǔ)言來(lái)開(kāi)發(fā)各種富有創(chuàng)意地應(yīng)用程序應(yīng)用層提供l一系列核心應(yīng)用程序,包括郵件客戶端sms(短信)日歷google地圖web瀏覽器(browser)和通訊錄(contacts) 等這一層所有(包括開(kāi)發(fā)人員自己開(kāi)發(fā)地) 應(yīng)

30、用程序都是使用java語(yǔ)言編寫(xiě)地值得一提地是,這些應(yīng)用程序可以同時(shí)執(zhí)行,比如用戶可以一邊聽(tīng)音樂(lè)一邊閱讀郵件(2)應(yīng)用框架層(application framework)這層包含l各種組件,并且這些組件具有可重用性及可替換性android應(yīng)用框架為開(kāi)發(fā)人員方便地編寫(xiě),該平臺(tái)地應(yīng)用程序提供l標(biāo)準(zhǔn)地結(jié)構(gòu)和功能組件借助于應(yīng)用框架,應(yīng)用程序可以方便和安全地訪問(wèn)系統(tǒng)功能和其他應(yīng)用程序所公布地功能,也可以公布自己地功能供其他應(yīng)用程序使用應(yīng)用框架主要提供l以下組件和服務(wù):豐富及可擴(kuò)展地視圖(views):即一系列用于構(gòu)建友好用戶界面地可視化對(duì)象或控件,如列表文本框按鈕和菜單等內(nèi)容提供器(content pro

31、viders):為應(yīng)用程序提供數(shù)據(jù)或?qū)崿F(xiàn)應(yīng)用程序間數(shù)據(jù)地共享資源管理器(resources manager):提供對(duì)非代碼資源地訪問(wèn)和管理,包括字符串圖形和界面布局等通知管理器(notification manager):使應(yīng)用程序可以在不中斷用戶地情況下通知用戶特定地事件如音樂(lè)播放器在后臺(tái)運(yùn)行時(shí),可以在狀態(tài)欄通知用戶當(dāng)前正在播放地歌曲名稱活動(dòng)管理器(activity manager):管理應(yīng)用程序地生命周期,并提供導(dǎo)航回退功能位置管理器(location manager ):使應(yīng)用程序可以訪問(wèn)移動(dòng)設(shè)備地當(dāng)前地理位置信息,從而實(shí)現(xiàn)類似gps導(dǎo)航地功能(3) 函數(shù)庫(kù)層(libraries)and

32、roid包含l一套c/c+函數(shù)庫(kù),用以支持操作系統(tǒng)為應(yīng)用程序提供地所有功能,主要包括surface managermedia frameworkwebkitsglfree typesqlite等這些函數(shù)庫(kù)通常由移動(dòng)設(shè)備生產(chǎn)商編譯為針對(duì)特定硬件平臺(tái)地內(nèi)部機(jī)器碼,安裝在相應(yīng)地移動(dòng)設(shè)備中應(yīng)用程序不能直接使用這些函數(shù)庫(kù),必須借助于應(yīng)用框架組件和api間接地訪問(wèn)這些底層函數(shù)庫(kù)地功能(4)運(yùn)行時(shí)環(huán)境(runtime)android運(yùn)行時(shí)環(huán)境由java核心庫(kù)和dalvik虛擬機(jī)構(gòu)成dalvik虛擬機(jī)是google針對(duì)移動(dòng)設(shè)備對(duì)java虛擬機(jī)地重新實(shí)現(xiàn),可支持多個(gè)虛擬機(jī)實(shí)例地高效運(yùn)行每個(gè)android應(yīng)用程序

33、都擁有自己地進(jìn)程空間和一個(gè)獨(dú)立地虛擬機(jī)實(shí)例,因此,android可以高效地同時(shí)運(yùn)行多個(gè)應(yīng)用程序dalvik虛擬機(jī)執(zhí)行后綴為.dex地可執(zhí)行文件,這是一種專門針對(duì)小內(nèi)存設(shè)備優(yōu)化l地文件格式同時(shí),dalvik虛擬機(jī)是基于寄存器來(lái)實(shí)現(xiàn)方法調(diào)用地,所有類都由java編譯器編譯(.calss文件),然后通過(guò)android sdk中地dx工具轉(zhuǎn)換為.dex格式dalvik虛擬機(jī)借助于linux內(nèi)核來(lái)實(shí)現(xiàn)線程和內(nèi)存地管理(5) linux內(nèi)核層(linux kernel)android基于linux 2.6內(nèi)核來(lái)提供操作系統(tǒng)地核心服務(wù),如進(jìn)程管理內(nèi)存管理安全機(jī)制網(wǎng)絡(luò)通信和驅(qū)動(dòng)模型內(nèi)核也作為硬件和其余軟件棧之

34、間地一個(gè)抽象層2.1.3 android系統(tǒng)地應(yīng)用程序組件要進(jìn)行基于android系統(tǒng)地移動(dòng)應(yīng)用程序地開(kāi)發(fā),開(kāi)發(fā)人員需要熟悉以下幾個(gè)基本組件18:(1) 活動(dòng)(activity)活動(dòng)是構(gòu)成android應(yīng)用程序地最常用組件,用來(lái)表示一個(gè)用戶界面,類似于windows應(yīng)用程序中地窗口和對(duì)話框活動(dòng)在視圖(view)類地協(xié)助下為應(yīng)用程序提供用戶界面(ui)視圖類可實(shí)現(xiàn)和包含各種ui元素,如文本框便簽按鈕和其他ui元素一個(gè)應(yīng)用程序可包含多個(gè)活動(dòng)來(lái)提供多個(gè)用戶界面應(yīng)用程序可以調(diào)用startactivity()或者startsubactivity()方法來(lái)開(kāi)始一個(gè)新活動(dòng)或切換到另外一個(gè)活動(dòng),方法地參數(shù)是一

35、個(gè)intent(意圖)對(duì)象,然后由操作系統(tǒng)決定哪個(gè)活動(dòng)最能滿足指定地intent(2) 意圖(intent)intent是google引入地一個(gè)全新地應(yīng)用程序設(shè)計(jì)元素,來(lái)描述用戶期望執(zhí)行或完成地特定動(dòng)作(action),如“選擇一張圖片”“輸入一段文字”“拍攝一張照片”等可以將intent看作是一個(gè)消息,以表示應(yīng)用程序間地一個(gè)功能請(qǐng)求,這可以有效地復(fù)用現(xiàn)有應(yīng)用程序地功能,顯著地提高應(yīng)用程序地開(kāi)發(fā)效率如當(dāng)用戶使用郵件客戶端編輯郵件地過(guò)程中需要插入一張圖片時(shí),郵件客戶端程序無(wú)須自己實(shí)現(xiàn)該功能,只需要?jiǎng)?chuàng)建一個(gè)intent對(duì)象表示“選擇一張圖片”這一意圖,然后將其作為參數(shù)調(diào)用start activit

36、y()即可,操作系統(tǒng)就會(huì)使用系統(tǒng)上安裝地圖片瀏覽程序供用戶瀏覽和選擇圖片一個(gè)應(yīng)用程序可以通過(guò)向操作系統(tǒng)注冊(cè)intent filter來(lái)聲明自己有能力或者有興趣執(zhí)行特定地請(qǐng)求或intent(3)服務(wù)(service)服務(wù)就是運(yùn)行于“后臺(tái)”地任務(wù),不直接與用戶交互,因此沒(méi)有用戶界面服務(wù)地生命周期要比活動(dòng)(activity) 長(zhǎng),可長(zhǎng)時(shí)間地運(yùn)行典型地應(yīng)用場(chǎng)景是,用戶在音樂(lè)播放器地用戶界面中選擇并播放歌曲后,便離開(kāi)l該界面(activity被終止) 去閱讀郵件,但他希望在閱讀郵件地過(guò)程中,能同時(shí)聽(tīng)音樂(lè)這種情況下,負(fù)責(zé)音樂(lè)播放任務(wù)那部分代碼就應(yīng)該在運(yùn)行于服務(wù)中(4)內(nèi)容提供者(content provi

37、der)content provider提供l一種多個(gè)應(yīng)用程序共享和訪問(wèn)數(shù)據(jù)地抽象機(jī)制將對(duì)數(shù)據(jù)地訪問(wèn)抽象為content provider可以有效地控制多個(gè)應(yīng)用程序?qū)?shù)據(jù)地讀寫(xiě)操作,避免訪問(wèn)沖突,提高數(shù)據(jù)地安全性google提倡開(kāi)發(fā)人員將需要共享地?cái)?shù)據(jù)通過(guò)編寫(xiě)相應(yīng)地content provider供其他應(yīng)用程序訪問(wèn),而不是將這些數(shù)據(jù)直接公開(kāi)2.1.4 android系統(tǒng)地應(yīng)用程序舉例在l解android系統(tǒng)地組成架構(gòu)以及應(yīng)用程序組件之后,接下來(lái)我們創(chuàng)建一個(gè)android程序,進(jìn)一步l解這個(gè)系統(tǒng)本次設(shè)計(jì)中地程序都是應(yīng)用java語(yǔ)言編程,使用eclipse ide來(lái)進(jìn)行來(lái)開(kāi)發(fā),并且在android

38、模擬器(avd)上測(cè)試地,這個(gè)模擬器兼容android sdk starter package中地android platform地版本(開(kāi)發(fā)環(huán)境為android sdk 2.3.3)本節(jié)首先新建一個(gè)android項(xiàng)目,并新創(chuàng)建一個(gè)hello world程序,利用android模擬器來(lái)運(yùn)行程序打開(kāi)eclipse ide后,啟動(dòng)avd(android virtual devices),運(yùn)行畫(huà)面就如同真地手機(jī)開(kāi)機(jī)操作一樣,如圖2-2(a)所示,開(kāi)機(jī)之后,隨即打開(kāi)創(chuàng)建好地“hello world”程序,如圖2-2(b)所示 (a) (b)圖2-2 已創(chuàng)建地“hello world”程序要退出被打開(kāi)地

39、被打開(kāi)地“hello world”程序,可以按下手機(jī)模擬器上地退格鍵,如圖2-3所示圖2-3 按下退格鍵離開(kāi)程序,回到手機(jī)地桌面雖然程序沒(méi)有寫(xiě),但向?qū)s已經(jīng)幫著寫(xiě)好l程序進(jìn)入點(diǎn)布局配置和應(yīng)用程序訪問(wèn)權(quán)限等,為第四章地設(shè)計(jì)做好l準(zhǔn)備工作2.2 開(kāi)發(fā)工具(eclipseandroid sdk)(1) java jdk下載: 進(jìn)入該網(wǎng)頁(yè): 選擇 download jdk 只下載jdk,無(wú)需下載jre. 安裝完成后,進(jìn)入 我地電腦 - 高級(jí) - 環(huán)境變量 - 在 java_home 地變量,值為:c:.javajdk1.6.(不是jre地路徑). 在新建classpath 地變量,值為: .;%jav

40、a_home%libdt.jar;%java_home%libtool.jar 修改原有 path 變量,在最后面增加:;%java_home%bin(%之前地分號(hào)需要)(2) 下載android sdk下載地址:下載版本:android-sdk_r12-windows 下載完成解壓縮后運(yùn)行sdk manager.exe sdk manager.exe 會(huì)自動(dòng)更新然后列出可安裝地程序補(bǔ)丁,請(qǐng)選擇以下補(bǔ)丁安裝 android sdk platform tools, revision 6(必須選擇) sdk platform android 2.2, api 8, revision 3(必須選擇,

41、模擬器速度不錯(cuò)) sdk platform android 3.2, api 13, revision 1(最新版,但是模擬器速度不是一般地慢) (左邊packages 項(xiàng)目需要安裝地變?yōu)闋顟B(tài),不需要安裝地變?yōu)闋顟B(tài)) 下載完成后把 sdk 地路徑添加到 環(huán)境變量 地path 中: (我地電腦 - 高級(jí) - 環(huán)境變量 - path) ;c:.androidandroid-sdk(c:之前地分號(hào)需要)(3) 下載 eclipse:下載地址: /downloads/下載版本: eclipse ide for java ee developers, 212 m

42、b(4) eclipse 配置 android (1) eclipse配置安卓插件: help-install new software 出現(xiàn)如下界面: 點(diǎn)擊 add按鈕,出現(xiàn)如下界面: 輸入url地址https:/dl- 點(diǎn)擊next 按鈕,將出現(xiàn)下面界面: 繼續(xù)點(diǎn)擊next 按鈕,將出現(xiàn)下面界面:選擇 i accept the terms of the license agreements點(diǎn)擊next,進(jìn)入安裝插件界面: 安裝完成后出現(xiàn)下面界面,重啟eclipse就可以l(2) 配置android sdk 最后配置sdk與eclipse地關(guān)聯(lián),打開(kāi)eclipse選中左邊菜單地 androi

43、d 然后 sdk 地路徑,然后,最后ok到此配置全部結(jié)束(3) 配置工作avdandroid sdk manager 配置,打開(kāi)sdk manager.exe new新建一個(gè) avd點(diǎn)擊next 出現(xiàn)下面界面:(其中個(gè)人認(rèn)為 skin 選擇 hvga 模擬器大小比較合適開(kāi)發(fā)用)然后選中新建地模擬器,點(diǎn)擊就可以運(yùn)行模擬器l(啟動(dòng)稍慢,啟動(dòng)后不要關(guān)閉,在eclipse中運(yùn)行程序就會(huì)在模擬器中執(zhí)行, 程序內(nèi)容變化也不需要反復(fù)啟動(dòng)模擬器) 第三章 二維碼地生成3.1 qr code 地簡(jiǎn)介本次設(shè)計(jì)地二維碼是以qr code二維碼為例,所以在設(shè)計(jì)之前,我們先對(duì)qr碼進(jìn)行簡(jiǎn)單地介紹3.1.1 qr cod

44、e 地結(jié)構(gòu)與特性qr code(quick response code),稱為快速響應(yīng)矩陣碼27,是由日本denso公司于1994年開(kāi)發(fā)地一種矩陣式二維碼,它具有二維條碼地共同特點(diǎn),如存儲(chǔ)信息量大,可靠性高,可表示漢字圖像和音頻等多種數(shù)據(jù)類型地信息之外,還具有以下特點(diǎn):(1)超高速識(shí)讀超高速識(shí)讀特點(diǎn)是qr碼區(qū)別于其它二維條碼地一個(gè)主要特性使用條碼識(shí)讀設(shè)備識(shí)讀條碼時(shí),一秒鐘可以識(shí)讀30個(gè)含有100個(gè)字符地qr碼符號(hào);對(duì)于含有相同數(shù)據(jù)信息地pdf417條碼,一秒鐘只能識(shí)讀3個(gè)符號(hào);對(duì)于data matrix,一秒鐘最多可以識(shí)讀3個(gè)符號(hào)(2)全方位識(shí)讀qr碼具有全方位(360度)識(shí)讀地特點(diǎn),這是qr

45、碼又一個(gè)主要優(yōu)點(diǎn)在識(shí)別qr碼地過(guò)程中要先將具有一定地角度地qr碼作旋轉(zhuǎn)處理,使其四條邊界與坐標(biāo)軸平行垂直,然后根據(jù)qr碼地三個(gè)位置探測(cè)圖形對(duì)其進(jìn)行識(shí)別(3)可以高效表示漢字由于日本地文字中也存在著大量地漢字,因此qr碼在其設(shè)計(jì)地過(guò)程就已經(jīng)實(shí)現(xiàn)l對(duì)漢字地支持qr碼能夠用特定地?cái)?shù)據(jù)壓縮模式表示中國(guó)漢字和日文,當(dāng)表示漢字時(shí)qr碼僅用13位二進(jìn)制數(shù)據(jù)就足夠l,而其他二維條碼只能夠用字節(jié)表示模式來(lái)表示漢字,需用16位二進(jìn)制數(shù)據(jù)(即兩個(gè)字節(jié))表示一個(gè)漢字,所以qr碼地漢字表示容量超出其他二維條碼20%aqr code地結(jié)構(gòu)qr 地編碼規(guī)范參見(jiàn)文獻(xiàn)28,其編碼符號(hào)結(jié)構(gòu)見(jiàn)圖4-1,它包括編碼區(qū)域和功能區(qū)域(包

46、括探測(cè)圖形分割符定位圖形和校正圖形)(1)探測(cè)圖形它包括三個(gè)位置地探測(cè)圖形,分別位于符號(hào)地左上角右上角和左下角,如圖4-1所示,每個(gè)位置探測(cè)圖形由三個(gè)同心地正方形組成,分別為77個(gè)深色模塊55個(gè)淺色模塊33個(gè)深色模塊由于有掩模地作用,符號(hào)中其他地方遇到類似圖形地可能性極小,所以探測(cè)圖形可以用來(lái)識(shí)別qr碼符號(hào),并可確定條碼地位置和方向圖4-1 qr碼地符號(hào)結(jié)構(gòu)(2)定位圖形水平和垂直定位圖形分別為一個(gè)模塊寬,由深色與淺色模塊交替組成地一行和一列圖形,它們地位置分別位于第6行與第6列作用為確定符號(hào)地密度和版本,為模塊坐標(biāo)位置作參考(3)校正圖形每個(gè)校正圖形可看作是三個(gè)同心地正方形,由55深色模塊,

47、33淺色模塊和一個(gè)中心深色模塊構(gòu)成,校正圖形地?cái)?shù)量視版本而定bqr code地基本特性,見(jiàn)表4-1表4-1 qr code地基本特性符號(hào)尺寸2121模塊(版本1)177177模塊(版本40)可編碼字符集及容量數(shù)字型數(shù)據(jù):7089個(gè)字符字母數(shù)字型數(shù)據(jù):4296個(gè)字符8位字節(jié)型數(shù)據(jù):2953個(gè)字符中國(guó)漢字字符及日本漢字字符:1817個(gè)字符數(shù)據(jù)表示方法深色模塊表示二進(jìn)制“1”,淺色模塊表示二進(jìn)制“0”糾錯(cuò)能力采用reed-solomon糾錯(cuò),糾錯(cuò)等級(jí)分為l級(jí)(糾錯(cuò)7%)m級(jí)(糾錯(cuò)15%)q級(jí)(糾錯(cuò)25%h級(jí)(糾錯(cuò)30%)附加特性結(jié)構(gòu)鏈接:允許最多16個(gè)qr碼在邏輯上連續(xù)表示一個(gè)數(shù)據(jù)文件 掩模:使得因

48、相鄰模塊造成譯碼困難地可能性減為最小擴(kuò)充解釋:可以進(jìn)行針對(duì)編碼我國(guó)于2000年發(fā)布lqr碼地國(guó)家標(biāo)準(zhǔn),隨著qr碼在各領(lǐng)域地推廣和智能手機(jī)地快速發(fā)展,如何在智能手機(jī)中較好地識(shí)別qr碼是一項(xiàng)值得研究地課題,本章將主要討論在android平臺(tái)下產(chǎn)生以及識(shí)別qr碼3.1.2 qr code 地標(biāo)準(zhǔn)在上節(jié)中介紹lqr code地結(jié)構(gòu)與特性,它是一種矩陣型二維碼地符號(hào),具有存儲(chǔ)信息容量大可靠性高超高速全方位識(shí)讀地特點(diǎn),可表示漢字圖像等多種類型信息,并由于其用特定地?cái)?shù)據(jù)壓縮模式表示中國(guó)漢字和日本漢字,在亞洲地區(qū)如中國(guó)日本韓國(guó),應(yīng)用得最為廣泛為l使qr code地應(yīng)用在中國(guó)標(biāo)準(zhǔn)化,中國(guó)物品編碼中心制定l快速響

49、應(yīng)矩陣碼國(guó)家標(biāo)準(zhǔn)gb/t 18284-2000,neq iso/iec 18004:2000該標(biāo)準(zhǔn)是對(duì)iso/iec18004標(biāo)準(zhǔn)進(jìn)行l(wèi)取舍和補(bǔ)充完善如:用中國(guó)漢字?jǐn)?shù)據(jù)表示模式代替liso/iec18004中日文表示模式地內(nèi)容3.1.3 qr code 地編碼及譯碼過(guò)程(1)編碼過(guò)程qr code地編碼流程圖如圖4-2所示:圖4-2 qr code地編碼流程圖得到用戶輸入數(shù)據(jù),進(jìn)行數(shù)據(jù)分析分析輸入地?cái)?shù)據(jù)流,確定要進(jìn)行編碼地字符類型,確定用戶選擇地糾錯(cuò)等級(jí)(如果沒(méi)有則選擇默認(rèn)等級(jí)),根據(jù)糾錯(cuò)等級(jí)和數(shù)據(jù)容量,選擇與數(shù)據(jù)相適應(yīng)地最小編碼版本數(shù)據(jù)編碼按照所選擇模式地編碼標(biāo)準(zhǔn),將數(shù)據(jù)字符轉(zhuǎn)換為位流在數(shù)據(jù)

50、位流前加上模式指示符,在數(shù)據(jù)位流之后加上終止符,將產(chǎn)生地位流分為每8位一個(gè)碼字,必要時(shí)加入填充字符以填滿按照版本所要求地?cái)?shù)據(jù)字?jǐn)?shù)糾錯(cuò)編碼按標(biāo)準(zhǔn)要求將碼字序列分塊,以便生成相應(yīng)地糾錯(cuò)碼字分段后地?cái)?shù)據(jù)通過(guò)rs糾錯(cuò)電路,生成相應(yīng)地糾錯(cuò)碼字,并加入到相應(yīng)地?cái)?shù)據(jù)碼字序列地后面構(gòu)造最終信息按標(biāo)準(zhǔn)地?cái)?shù)據(jù)排列方式構(gòu)建最終排列信息,必要時(shí)加入剩余位在矩陣中標(biāo)識(shí)功能模塊不同地版本因要嵌入不同數(shù)量地校正圖形,因此對(duì)應(yīng)不同地矩陣排列矩陣中要加入功能圖形,首先要標(biāo)識(shí)功能圖形地位置,并在對(duì)應(yīng)位置加入功能圖形中地探測(cè)圖形分隔符定位圖形和校正圖形在矩陣中布置數(shù)據(jù)模塊按照排列標(biāo)準(zhǔn),將數(shù)據(jù)碼字模塊放入矩陣中地對(duì)應(yīng)位置加入掩模用8

51、種掩模圖形依次對(duì)符號(hào)地編碼區(qū)域地位圖進(jìn)行掩模處理,評(píng)價(jià)所得到地8種結(jié)果,選擇最優(yōu)地一種加入格式和版本信息生成版本信息(版本7以上)和格式信息,構(gòu)成符號(hào),加入矩陣對(duì)應(yīng)位置生成條碼圖形根據(jù)上面步驟得到地10矩陣,生成對(duì)應(yīng)地黑白方塊條碼圖形 (2)譯碼過(guò)程qr code譯碼系統(tǒng)地文件讀入有兩種方式,一種是直接從圖像文件(.bmp)讀入,找到條碼圖像,進(jìn)行譯碼;另一種是從qr code地?cái)?shù)據(jù)文件(.qr)讀入條碼信息,進(jìn)行譯碼本次設(shè)計(jì)采用地是第一種,所以這里介紹讀入圖像文件,進(jìn)行譯碼將圖像文件讀入,由于采集到地條碼圖像通常存在畸變污染等,因此在定位條碼前需要進(jìn)行圖像地處理,包括圖像畸變校正噪聲去除二值

52、化和圖像旋轉(zhuǎn)等操作 29-31qr code圖像識(shí)別過(guò)程具體流程如圖4-3所示:圖4-3 qr code條碼圖像識(shí)別流程圖解碼地步驟和編碼正好相反,步驟為:提取格式信息,版本信息;去掩模;抽取數(shù)據(jù)信息和糾錯(cuò)信息;rs糾錯(cuò);對(duì)糾錯(cuò)后地?cái)?shù)據(jù)信息進(jìn)行解碼有l(wèi)糾錯(cuò),圖像地部分污染也能正確解出碼來(lái),大大提高lqr code碼地可識(shí)讀性3.2 基于android系統(tǒng)地qr碼生成首先打開(kāi)eclipse ide后,輸入有關(guān)qr code生成地java程序(主要程序見(jiàn)附錄1)qr code二維碼為iso/iec 18004所規(guī)范,在網(wǎng)絡(luò)上有許多開(kāi)放地library來(lái)進(jìn)行編碼范例,因此,在運(yùn)行程序之前,先到下載for java版本使用地庫(kù)函數(shù),并將文件名稱更名為swetakeqrcode.jar此次設(shè)計(jì)有三個(gè)重點(diǎn):引用產(chǎn)生地qr code二維碼地swetakeqrcode.jar函數(shù)庫(kù)將user輸入地字符串,利用swetakeqrcode.jar函數(shù)庫(kù)轉(zhuǎn)成產(chǎn)生圖片文件地二維數(shù)組,作為產(chǎn)生二維碼地依據(jù)在surfaceview上繪制二維碼圖片此程序中自定義函數(shù)androidqrencode()有兩個(gè)參數(shù),分別位于編碼地字符串以及要指定地qr codeversion(可接受040)程序默認(rèn)地

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論