2011-11-19 34 views
0

好吧,我知道如何做覆蓋相機用戶界面等。這不是問題。這個問題是保持它在相機移動的背景中的相同點(與圖像可能會離開屏幕)iPhone:圖像覆蓋到相機,然後保持圖像在相機視圖背景與相機/ iPhone的運動相同的位置

我的問題是,一旦我把我疊加目標圖像放在一個點上,是否有一種相對無痛的方式跟蹤手機的移動,以便圖像可以繼續在相機「取景器」中的相同點上。如果取景器移動以使原始放置點離開屏幕,圖像將移出屏幕。

例如:我把攝像機指向一個磚牆,除了一塊青磚之外,所有磚塊都是棕色的。我將取景器對準綠磚。我按下一個按鈕,人臉的圖像出現在取景器的中央,位於綠色磚的上方。現在,當我移動相機(在任何軸上旋轉它,移動它的位置等)時,只要看到綠磚,我就想看到人臉上的圖像。

放置在頂部的圖像是2D圖像,不需要旋轉,因爲視圖查找器中目標的角度(上例中的綠色塊)會發生變化。如果用戶旋轉手機以使物體不再有水平(以便圖像保持與背景而不是電話水平相同),它需要旋轉,以便與目標(綠色磚)保持相同的方向。

我在搞CMMotionManager和deviceMotion的東西(傳感器融合)。然而,如果解決方案在沒有陀螺儀的情況下工作,這將是非常好的,因爲這需要在3GS上運行(或者兩種解決方案,也許3GS不太精確)。我有幾個簡單的例子,使用CMMotionManager工作,獲取當前態度和滾動/俯仰/偏航,並根據簡單的旋轉運動(我做漂移等)在我的覆蓋視圖周圍移動圖像中心,但不會將實際手機移動到任何很大程度上。

我不是一名3D程序員,我的線性代數技能非常薄弱(自從我在大學有線性代數已經有26年了,我從此不需要它)。因此可能需要一些手持或簡單的解釋事情來幫助我追上。

我將不勝感激關於如何做到這一點的想法,以及指向類似示例或示例的指針,這些示例或示例展示了實現至少某些方面的方法。

謝謝

回答

1

您應該檢查Qualcomm's AR SDK

+0

嗨。謝謝!我剛剛做到了。如果我可以擁有動態目標,它看起來會有所斬獲。他們似乎要求所有的目標都是預定義的,並通過他們的系統運行,他們在一個輸出編譯目標或一組目標的網頁上聯機運行。我沒有這個應用程序。我需要能夠使用用戶可以看到的任何目標。 – chadbag

+0

那麼,在嘗試使用OpenCV框架並自行開發之後,我得出的結論是,由於缺乏處理能力,我想要做的事情在iPhone上不太容易實現。 (動態地選擇背景,從中心切出一個模板,然後在iPhone相機在相機預覽模式下移動背景時與該模板匹配)。只有「低」預設格式(192x144)的處理速度會超過1fps(iPhone 4的速度爲5-8fps),但數據太不精確,並導致大量誤報。如果我們可以使用預設目標Qualcomm看起來可能有效。謝謝! – chadbag