RSSArchive About LinkedIn flickr Links to previous projects

[bizkit|張至] good coders code, great steal.

*
Tag
17
Dec
#geek   #android   #devel   #AR   #QCAR   #library  

QCAR - Augmented Reality Library for Android by Qualcomm

今年十月初,Qualcomm 釋出了 QCAR[1][5] ── 一個運行於 Android 平台上的增擬實境 (AR) SDK,提供幾個基本(?)的 AR 元件,讓開發者可以跳過影像處理,快速、簡單的在 Android 平台上開發各式包含的 AR 功能應用程式。今天終於有點時間,把 QCAR SDK 抓了下來,也跑了跑 sample 程式。因為還玩的很淺,原本不想寫 blog 的,但發現[2]網路上跟 QCAR 有關的中文文章實在少的可憐,還是寫一篇來簡單記錄一下。

QCAR 與 Layer[3]、WikiTude[4] 等 location based 的 AR 引擎有所不同。這類的 AR 系統利用 GPS 或 Wifi 取得使用者在地球上的位置,再搭配由電子羅盤取得的使用者面向,在螢幕上呈現使用者周遭的 POI 距離以及相對方位。Layers 提供了 API ,讓開發者在其程式中顯示自己設計的資料,而 WikiTude 則是進一部的提供了 SDK,讓開發者可以在自己的程式中加入 location based 的 AR 功能。(對 AR 並沒有任何研究,location based AR 這個名字也是胡亂取的:p)

QCAR 系統所提供的 AR 功能,則是藉由攝影機辨認現實生活中的平面 pattern 或材質,並準確的在平面上方(或其他相對方向、位置)的空間繪製 3D 的物件。目前 QCAR 支援了兩個類型的追蹤:Image Target 以及 Frame Marker 並可以搭配 Virtual Button 讓生活中的物品上出現可以用手(或其他物件)使用的按鈕。

下圖就是最基本 Image Target 追蹤,可以看出紙張放置的角度改變,上方的 Utah teapot 也會跟著改變。Image Target 追蹤的實作流程也很有趣,開發者要先將想追蹤的圖片上傳至網站由 Qualcomm 幫你從圖檔抓出 features,接著將 features 從網站下載下來,搭配 SDK 使用。

deice gggg

另一個很有趣的功能是 Virtual Button。從上圖可以看到紙張中有幾個按鈕的圖型,這些按鈕都可以設定 callback。例如下圖可以看到手指去按不同的按鈕會動態的改變茶壺的顏色。Virtual Button 的功能大概也能拿來偵測 pattern 被遮住的是哪些部分(?)。

jjvice rrr

Image Target 的追蹤在 Google Nexus One 上執行的很順,Qualcomm 宣稱可以同時搜尋五十個不同的目標,同時追蹤五個目標。第二類目標叫做 Frame Marker,可以追蹤某個 pattern 的方框。與 Image Target 不同,可以直接在 local 產生圖型以及追蹤需要的 features。Sample 程式設計成追蹤四個 Frame ,分別顯示 Q C A R 四個字母。不知道是否因為手機上執行了太多程式,或是我只能將圖檔印成黑白的,很少可以成功同時追蹤顯示四個字母。

device devic

另外,Image Target 只要拍到一個角落常常就足以成功追蹤。Frame Marker 則不同,只要少拍到一小角便無法找到。這件事也很合理,Frame Marker 可用來追蹤的資訊只有邊框上黑白灰三色的方塊 patterns。

補充: QCAR 也可以追蹤六面體的物件,不過要將六面體每一面的圖檔上傳字 Qualcomm 網站取 features。這部份要做點手工藝,拼貼出六面體,我就沒玩了。(家裡沒有膠水XD)

Related Links

Comments
blog comments powered by Disqus
Page 1 of 1