亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于增強現(xiàn)實技術(shù)的導(dǎo)航系統(tǒng)研究

        2016-11-07 18:09:28鄭菲菲宋麗紅董靜
        軟件導(dǎo)刊 2016年9期
        關(guān)鍵詞:Android系統(tǒng)增強現(xiàn)實技術(shù)

        鄭菲菲++宋麗紅++董靜

        摘要:采用基于GPS和傳感器的增強現(xiàn)實技術(shù)以及高德地圖接口,設(shè)計和開發(fā)了導(dǎo)航系統(tǒng)。利用增強現(xiàn)實技術(shù)將路線指引和路況合成渲染,并利用手機傳感器使指引箭頭根據(jù)手機姿態(tài)的變化而旋轉(zhuǎn),實時指向正確的前進方向,給予用戶更加直觀的導(dǎo)航體驗。

        關(guān)鍵詞:增強現(xiàn)實技術(shù);方向傳感器;Android系統(tǒng)

        DOIDOI:10.11907/rjdk.161565

        中圖分類號:TP319

        文獻標識碼:A文章編號文章編號:16727800(2016)009005703

        基金項目基金項目:2015年地方高校國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(201510070010)

        作者簡介作者簡介:宋麗紅(1975-),女,天津人,博士,天津財經(jīng)大學(xué)理工學(xué)院副教授,研究方向為軟件工程、智能信息系統(tǒng);董靜(1975-),女,天津人,博士,天津財經(jīng)大學(xué)理工學(xué)院講師,研究方向為軟件工程。

        0引言

        增強現(xiàn)實(Augmented Reality,簡稱AR)是一種將虛擬物體和真實環(huán)境“無縫”疊加在一起的技術(shù),將在現(xiàn)實世界一定時間空間范圍內(nèi)很難體驗到的實體信息,如視覺信息、聲音、味道、觸覺等,通過電腦等技術(shù)模擬仿真后再疊加,將虛擬的信息應(yīng)用到真實世界,被人類感官所感知,從而獲得超越現(xiàn)實的感官體驗[1]。相比于虛擬現(xiàn)實技術(shù)(Virtual Reality,簡稱VR),增強現(xiàn)實技術(shù)增強了人對真實環(huán)境的感知與交互,它具有以下3個特征:①虛實結(jié)合:將虛擬物體和現(xiàn)實世界結(jié)合在一起,實現(xiàn)感官上的統(tǒng)一;②三維注冊:增強現(xiàn)實技術(shù)與混合媒體(Mixed Media)的區(qū)分點,虛擬物體必須準確地注冊到真實世界中,與真實世界完美融合,要求虛擬物體的注冊位置是三維的[2];③實時交互:實時感知用戶操作并互動。

        增強現(xiàn)實技術(shù)由于具有對真實環(huán)境進行增強顯示輸出的特性,在醫(yī)療研究、精密儀器維修、古跡復(fù)原、娛樂與藝術(shù)等領(lǐng)域具有明顯的優(yōu)勢[3]。

        目前大多數(shù)智能手機的導(dǎo)航軟件都以2D或3D形式提供導(dǎo)航服務(wù),但這些都是通過矢量數(shù)據(jù)來提供地圖導(dǎo)航,滿足不了用戶獲取實時交通路況的需求,用戶體驗較差。本文提出一種通過手機攝像頭獲取實時路況,通過高德地圖接口獲取導(dǎo)航信息,并利用增強現(xiàn)實技術(shù)將路線指引和路況合成渲染,以提供更加直觀的導(dǎo)航系統(tǒng)。

        1關(guān)鍵技術(shù)

        1.1增強現(xiàn)實技術(shù)

        增強現(xiàn)實技術(shù)在智能手機客戶端有兩種實現(xiàn)方式:

        (1)基于視覺的增強現(xiàn)實技術(shù)。它的識別方式分為基于標志(Marker Based)和非基于標志(Markerless)兩種。其中,基于標志的識別又分為固定模板類和自定義模板類。

        基于標志的主要代表是ARToolKit,其為采用C/C++ 語言編寫的庫。主要原理是預(yù)先將標志(Marker)圖像信息保存,通過圖像識別技術(shù)將當前圖像中的標志圖像識別出來,然后在標識圖像上疊加信息[4]。效果如圖1和圖2所示。

        圖1標志圖像圖2疊加的立方體

        目前,增強現(xiàn)實瀏覽器魔眼(Junaio)和Trading Card游戲等都采用了這種技術(shù)。但這種模板匹配方式的誤識別率較高,一旦標志被遮擋將導(dǎo)致跟蹤失敗,所以不適合運用于戶外導(dǎo)航。

        非基于標志的主要代表是PTAM(Parallel Tracking and Mapping),其主要原理是從攝影圖像上捕捉特征點,檢測出平面,在上面建立虛擬的3D坐標,然后合成攝影圖像和動畫。其特點在于立體平面的檢測和圖像的合成采用并行處理方式[5]。

        (2)基于智能手機上的GPS和傳感器的增強現(xiàn)實技術(shù)。通過GPS獲取當前位置的經(jīng)緯度和高度,通過方向傳感(Orientation Sensor)獲取面向的方向和傾斜的角度,然后根據(jù)這些位置信息疊加相關(guān)信息[4]。目前荷蘭SPRXmobile公司研發(fā)設(shè)計的增強現(xiàn)實手機瀏覽器Layar、Wikitude公司開發(fā)的Wikitude drive與Wikitude World Browser等都基于這種技術(shù)。

        本文采用基于智能手機的GPS和傳感器的增強現(xiàn)實技術(shù)來實現(xiàn)戶外導(dǎo)航系統(tǒng)功能。

        1.2Android手機傳感器原理

        目前大多數(shù)Android智能手機都配備有測量運動、方向和環(huán)境的傳感器。包括:加速度傳感器、磁力傳感器、方向傳感器、陀螺儀傳感器、溫度傳感器等[6]。

        本系統(tǒng)主要采用方向傳感器。當設(shè)備保持默認方向時(見圖3),X軸指向屏幕面板的外部,Y軸水平向右,Z軸垂直向上。在方向傳感器SensorEvent類中的Values的3個值分別對應(yīng)3個坐標軸的角度數(shù)據(jù),含義如下[7]:

        Values[0]:方向角的大小,也就是手機繞著X軸旋轉(zhuǎn)的角度。Values[0]的取值范圍為0~360。0或360表示手機朝向正北;90表示手機朝向正東;180表示手機朝向正南;270表示手機朝向正西。

        Values[1]:傾斜角的大小,也就是手機繞著Y軸旋轉(zhuǎn)的角度。Values[1]的取值范圍為-180~180。當手機屏幕朝上水平放置時,Values[1]的值為0;將手機頭部抬起,繞Y軸旋轉(zhuǎn),當手機屏幕朝下水平放置時,Values[1]的值為180;將手機尾部抬起,繞Y軸旋轉(zhuǎn),當手機屏幕朝下水平放置時,Values[1]的值為-180[6]。

        Values[2]:側(cè)翻角大小,也就是手機繞Z軸旋轉(zhuǎn)的角度。Values[2]的取值范圍為-90~90。當手機水平放置時,Values[2]的值為0;當手機屏幕面向左側(cè)時,Values[2]的值為-90;當手機屏幕面向右側(cè)時,Values[2]的值為90。

        1.3Android定位原理

        本系統(tǒng)使用Android手機自帶的GPS進行粗略定位,同時也使用高德地圖提供的定位SDK進行精確定位。定位的基本原理:當應(yīng)用程序向定位SDK發(fā)起定位請求時, 定位SDK會根據(jù)當前的GPS、WiFi信息生成相對應(yīng)的定位依據(jù)。如果需要, 定位SDK也會向定位服務(wù)器發(fā)送網(wǎng)絡(luò)請求,然后根據(jù)請求的定位依據(jù)推算出對應(yīng)的坐標位置,生成定位結(jié)果后返回給定位SDK[8]。

        2系統(tǒng)實現(xiàn)

        2.1系統(tǒng)總體框架

        系統(tǒng)流程如圖4所示。

        2.2地圖定位

        在MainActivity中調(diào)用高德地圖的地圖SDK和定位SDK。首先進行地圖初始化,加載地圖,通過LocationManagerProxy每隔固定時間發(fā)起一次定位請求。再通過OnLocationChangedListener中onLocationChanged()方法使用aMapLocation.getLatitude()和aMapLocation.getLongitude()獲得經(jīng)緯度;AMapLocation.getExtras() 方法獲取位置的描述信息,包括省、市、區(qū)以及街道信息,并以空格分隔。最后將地圖中心定位到該位置。地圖可進行縮放。運行效果如圖5所示。

        2.3路線規(guī)劃

        點擊圖5中的出發(fā)按鈕,跳轉(zhuǎn)到RouteActivity進行路線規(guī)劃。路線規(guī)劃有3種模式可以選擇,分別為公交模式、駕車模式、步行模式。為了便于測試,我們只選擇步行模式??梢赃x擇輸入起點和終點或者在地圖上點擊起點和終點。為了提高精確度,對起點和終點附近的興趣點進行搜索,并顯示在ListView上讓用戶點擊確認。界面如圖6所示。以起點為例,點擊確認后,通過RouteSearchPoiDialog獲得startpoiItem,再通過startpoiItem.getLatLonPoint()方法轉(zhuǎn)換成起點的經(jīng)緯度。獲得起點和終點的經(jīng)緯度,用searchRouteResult(LatLonPoint startPoint,LatLonPoint endPoint)方法進行路徑規(guī)劃。再通過回調(diào)方法onWalkRouteSearched()獲取路徑WalkPath,并將路徑的節(jié)點WalkRouteOverlay覆蓋在地圖上,運行效果如圖7所示。

        2.4增強現(xiàn)實導(dǎo)航

        通過路徑規(guī)劃獲取路徑WalkPath,路徑節(jié)點列表由walkPath.getSteps() 獲得。通過Intent將其傳遞到NaviActivity中。

        在NaviActivity中先開啟攝像頭,創(chuàng)建一個相機預(yù)覽的類cameraPreview,繼承SurfaceView類,并實現(xiàn)SurfaceHolder接口。SurfaceHolder.Callback()方法進行預(yù)覽。然后根據(jù)Intent傳遞過來的stepList,通過stepList.get(i).getAction()可獲取一個節(jié)點的導(dǎo)航信息。根據(jù)其判斷加載直行箭頭、左轉(zhuǎn)箭頭或者右轉(zhuǎn)箭頭(箭頭通過Android的Graphics類繪制而成)。本次測試中獲取的第一個節(jié)點導(dǎo)航信息是左轉(zhuǎn),所以加載左轉(zhuǎn)箭頭,并用TextView將詳細的導(dǎo)航信息顯示出來,效果如圖8所示。

        2.5傳感器實時導(dǎo)航

        從圖8可以看出預(yù)先設(shè)定的預(yù)覽屏幕是橫屏,但是用戶在導(dǎo)航過程中不可能將手機姿態(tài)一直保持水平狀態(tài),所以需要利用手機的傳感器數(shù)據(jù),使箭頭根據(jù)手機姿態(tài)的變化而旋轉(zhuǎn),實時指向正確的前進方向。首先要注冊和監(jiān)聽方向傳感器,當傳感器變化時,在SensorEventListener中獲取傳感器變化的參數(shù)數(shù)組。調(diào)用SensorManager.getRotationMatrix方法獲取旋轉(zhuǎn)矩陣,然后調(diào)用 SensorManager.getOrientation方法獲取有手機方位信息的參數(shù)數(shù)組。將數(shù)組轉(zhuǎn)為角度信息,對應(yīng)圖3的X、Y、Z軸信息。把數(shù)組回調(diào)給繪制箭頭的類ArrowView,控制箭頭的旋轉(zhuǎn)。手機橫屏旋轉(zhuǎn)后的效果如圖9和圖10所示。

        最后當用戶接近路徑的下一個節(jié)點時,用Android定時器對導(dǎo)航信息和箭頭進行刷新。

        3結(jié)語

        本系統(tǒng)在Android平臺下,采用高德地圖接口實現(xiàn)地圖定位和路線規(guī)劃功能,并采用基于GPS和方向傳感器的增強現(xiàn)實技術(shù)將指引箭頭和路況合成渲染,給予用戶更直觀的導(dǎo)航體驗。

        圖9手機旋轉(zhuǎn)45度圖10手機旋轉(zhuǎn)90度

        本系統(tǒng)還可擴展到大型場所的室內(nèi)導(dǎo)航,也可以把景點作為興趣點應(yīng)用于旅游景區(qū)導(dǎo)航。

        參考文獻參考文獻:

        [1]增強現(xiàn)實[EB/OL].http://wenku.baidu.com/view/c1ce3cb271fe 910ef12df8d2.html.

        [2]張振穎.增強現(xiàn)實技術(shù)在產(chǎn)品服務(wù)系統(tǒng)設(shè)計中的應(yīng)用與研究[D].長沙:湖南大學(xué),2012.

        [3]白慧東.嵌入式增強現(xiàn)實系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2010.

        [4]曾浩.基于Android平臺的增強現(xiàn)實導(dǎo)航軟件的設(shè)計與實現(xiàn)[D].長沙:湖南大學(xué),2012.

        [5]孫俊.虛擬物體與視頻圖像融合算法在交通事故再現(xiàn)中的研究[D].南京:東南大學(xué),2013.

        [6]江亞炬.基于移動增強現(xiàn)實的導(dǎo)航系統(tǒng)的設(shè)計與實現(xiàn)[D].青島:中國海洋大學(xué),2014.

        [7]RAGHAVSOOD.Pro Android Augmented Reality[M].America,Apress,2012.

        [8]烏錚.基于Android平臺的手游社交應(yīng)用客戶端的設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2014.

        責(zé)任編輯(責(zé)任編輯:杜能鋼)

        猜你喜歡
        Android系統(tǒng)增強現(xiàn)實技術(shù)
        基于信息技術(shù)下的增強現(xiàn)實技術(shù)探究
        增強現(xiàn)實技術(shù)在幼兒立體書研發(fā)中的應(yīng)用
        基于污點傳播動態(tài)分析的Android安全系統(tǒng)研究
        Android系統(tǒng)上的移動互聯(lián)網(wǎng)集成平臺開發(fā)機制
        Android系統(tǒng)核心管理工具設(shè)計與實現(xiàn)
        Android下的機械式電表數(shù)字識別技術(shù)研究
        媒體融合背景下增強現(xiàn)實技術(shù)對高校學(xué)報轉(zhuǎn)型發(fā)展的創(chuàng)新推動
        基于Android系統(tǒng)的掌上班級課表與學(xué)生考勤管理系統(tǒng)
        基于GPS和iBeacon的智能校園信息發(fā)布平臺設(shè)計與實現(xiàn)
        增強現(xiàn)實技術(shù)在移動學(xué)習(xí)中的應(yīng)用芻議
        青草蜜桃视频在线观看| 国产成人自拍高清在线| 国产精品美女久久久免费| 国产成人无码精品久久二区三区| 久久久精品人妻一区二区三区四| 国产精品国产三级在线高清观看 | 亚洲av日韩综合一区尤物| 人妻少妇偷人精品免费看| 巨大巨粗巨长 黑人长吊| 四川丰满少妇被弄到高潮| www.久久av.com| 久久伊人久久伊人久久| 日本人妻免费一区二区三区| 亚洲日韩中文字幕无码一区| 亚洲av无码一区二区二三区| 亚洲人成无码网站在线观看| 97丨九色丨国产人妻熟女| 日韩av无码久久一区二区| 久久久久高潮综合影院| 中文字幕无线码| 国产成人无码精品久久99| 亚洲av高清资源在线观看三区| 蜜桃视频一区二区三区四| 久久亚洲av午夜福利精品一区| 国产亚洲一区二区手机在线观看| 大屁股少妇一区二区无码| av天堂手机在线看片资源| 国产精品情侣呻吟对白视频| 无套内射无矿码免费看黄| 国产亚洲精品综合一区| 精品女人一区二区三区| 成熟人妻换xxxx| 草草浮力地址线路①屁屁影院| 日韩av二区三区一区| 国产午夜激情视频在线看| 国产亚洲精品久久久久5区| 久久国产精品精品国产色婷婷| 国产成人国产在线观看| 91中文字幕精品一区二区| 久久精品av在线观看| 亚洲人成网站色www|