亚洲免费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高清一区三区三区| 亚洲国际无码中文字幕| 国产高清a| 日本加勒比一道本东京热| 一二三四五区av蜜桃| 中文字幕丰满乱子无码视频| 色吧综合网| 日本一区二区在线播放观看| 中文字幕色偷偷人妻久久一区 | 国产一区二区三区护士| 亚洲av色影在线| 无码国产午夜福利片在线观看| 亚洲精品成人av一区二区| 精品日韩一区二区三区av| 人人妻人人澡人人爽人人dvd| 国产人妻久久精品二区三区| 骚片av蜜桃精品一区| 日本高清在线播放一区二区| 成人国成人国产suv| 无码人妻丰满熟妇啪啪7774| 亚洲欧洲日产国码无码av野外| 国产精品成人av一区二区三区| 内射人妻视频国内| 国产羞羞视频在线观看| 日韩色久悠悠婷婷综合| 亚洲国产成人极品综合| 午夜dj在线观看免费视频| 天天射色综合| 国产精品毛片极品久久| 亚洲国产av玩弄放荡人妇| 日韩精品电影在线观看| 伊人久久综合狼伊人久久| 免费观看mv大片高清| 亚洲精品久久久久久| 伊人色综合九久久天天蜜桃| 中文字幕乱码熟女人妻在线| 日本老熟妇50岁丰满| 亚洲国产精品久久久性色av| 男人的精品天堂一区二区在线观看| 女人被爽到高潮视频免费国产 | 中文字幕经典一区|