夏瑜暉成都理工大學信息科學與技術學院
?
基于Android二維碼導航系統的設計實現
夏瑜暉
成都理工大學信息科學與技術學院
摘要:本系統使用Android智能手機上自帶的攝像頭對二維碼圖像進行掃描,并調用手機上的GPS定位導航系統,實現對地址的導航功能。系統包含三大模塊:將信息轉化為圖形的二維碼生成模塊、對圖形的掃描并從中獲取信息的二維碼識別模塊、依據圖形中的信息進行導航的導航模塊。
關鍵字:二維碼 生成 識別 導航
本系統中需要應用Java編程語言,并借助Eclipse開發工具在搭建好的環境中編寫。導航系統則需要利用手機自帶的GPS定位導航。二維碼是一種用一些特定的表示二進制數字的矩形照一定排列順序在平面中組成的圖形。這些圖形分為黑色和白色,其中黑色部分表示的是數字“1”,白色部分表示數字“0”,這個圖形可以用來存儲數據信息。黑白兩種顏色的圖形按照不同大小不同位置經過組合即可以表示信息,并且使計算機對二維碼圖形的繪制與解讀變得相當便利。本系統中通過使用特定的算法將用戶輸入的信息轉換為二維碼,然后使用手機中的攝像頭掃描設備來實現對二維碼圖形中信息的讀取識別處理,使二維碼圖形轉換為信息。
二維碼生成系統的功能是將用戶輸入的信息通過特定的二維碼算法將文本信息編碼繪制出二維碼圖形,將漢字信息轉化為可供二維碼供識別器識別的圖形,從而使大量的漢字信息存儲到一張二維碼圖形中。在輸入信息之前給予用戶輸入類型選擇,然后當用戶輸入信息完成后,系統要跳轉到確認界面為用戶反饋剛才用戶輸入的信息是否正確,最后在用戶確認輸入信息無誤后,系統會生成含有用戶輸入信息的二維碼。該系統需要調用二維碼轉碼函數,將文字信息轉換繪制出對應二維碼圖形。
二維碼識別系統的功能是將含有用戶輸入信息的二維碼通過二維碼解碼原理將二維碼圖形轉化為漢字信息,將存有大量信息的二維碼圖形解析,提取出用戶輸入的文字及數字信息,供用戶讀取,之后導航模塊利用二維碼中的地址信息為用戶導航。為讓用戶掃描二維碼的步驟更加便捷,本系統的二維碼識別模塊的掃描窗口添加了幫助用戶準確掃描二維碼圖形的基準線和位置圖形標記。二維碼識別系統需要利用手機的攝像頭功能,通過對手機攝像頭的多次重復定時快速的調用掃描二維碼圖像。系統中攝像頭識別功能使用了自動對焦技術,調用自動對焦配置一個定時裝置,從而提高二維碼的識別速度并獲得清晰地圖像。當對攝像頭拍攝的二維碼圖像進行掃描解析,如果將二維碼中的信息成功解碼,則對手機的攝像頭對焦、掃描二維碼圖像動作停止調用。由于繪制二維碼的標準不同,可能會使產生的二維碼的大小不一,以及其他許多二維碼上的因素會使系統調用的照相機不能正確的讀取出信息,攝像頭要自動對焦,并添加基準線與位置圖形標記。當掃描完成后識別出二維碼圖形所含有的信息顯示出來給用戶看到。
導航系統的功能是把地址信息存入導航程序目的地,并開啟導航程序實現導航,完成從用戶輸入的地址信息生成的二維碼實現地址導航的功能。通過手機攝像頭讀取并識別含有地址信息的二維碼,然后將二維碼中的地址信息解讀出來,啟動手機中的GPS導航程序,把地址信息傳遞給導航程序并設定成導航的目的地,通過調用手機自帶的GPS定位系統并計算位置的坐標差確定方向并導航。實現掃描二維碼即可對二維碼中所含的地址信息進行直接導航。系統首先將含有地址信息的二維碼通過攝像頭掃描并讀取,顯示出二維碼中所含有的所有文字信息,然后對其中的文字信息進行字符串截取,選出目的地的詳細地址信息添加到導航的目的地中進行導航。導航功能需要通過嵌入百度地圖API接口,輸入相關參數從而實現對百度地圖的調用。
參考文獻
[1]梁鳳梅.快速識讀QRCode碼[J].電腦開發與應用,2002,12(2):50-55.
[2]楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2010:48-50.
[3]劉寧鐘,楊靜宇. 基于傅里葉變換的二維條碼識別[J].中國圖像圖形學報,2011,18(2):45-46.
[4]許樹柏.層次分析法原理[M].天津:天津大學出版社,1988:43-51.
[5]郭齊勝,郅志剛.裝備評估概論[M].北京:國防工業出版社,2005.
[6]宋廣寧.關于指揮信息系統軟件研發的幾點思考[J].中國人民解放軍電子工程學院學報,2011(12):81-84.
[7]肖翔,劉曉明,王云柯. QR碼圖像的矯正與定位方法研究[J].計算機科學,2007,23(2):18-20.
[8]谷曉琳,黃明,戚海英. 基于遺傳算法的二維QR碼圖像識別[J].大連鐵道學院學報,2005,12(3):35-38.