2011-07-17 244 views
0

是否有任何方法將由普通網絡攝像頭捕獲的2D圖像轉換爲3D模型?我使用C#,因此任何基於C#的算法都會有所幫助。將2D圖像轉換爲3D模型

+1

你是什麼意思的3D平面? – Mat

+0

對不起。我的意思是一個3D模型。 – kash

+0

據我所知,你需要兩個網絡攝像頭,即使這樣也不容易..檢查ms kinnekt和相關的開源項目。 –

回答

0

沒有任何附加信息。

您可能可以將2D圖像投影到建模的3D表面上。注意:說「3d平面」,因爲飛機通常是2D,這很有趣。

+0

它是一個AR應用程序。我想跟蹤用戶的手,並在其上放置3D模型。這樣模型會跟隨手的運動(如旋轉,平移等)。這是我想要做的。 有沒有這樣做? – kash

0

我想說「打印出來」,因爲飛機意味着3D世界中的平坦表面,就像一張紙。

但是,實際上,您只是想爲每個點提供第三維值。因此,請決定您的3D空間中的位置,並進行必要的數學計算。例如,如果你想在「牆」上,然後將你的x,y座標映射到x,0,z。

-edited新的問題...

你需要計算出每個點是如何遠離相機。很難做到,因爲相機無法辨別光線行進的距離。

0

這是一個活躍的研究課題,並不容易。

Make3D使用監督式學習(人工智能的一種形式)來計算大量的係數。那些被用來估計圖像的深度圖。

他們在他們的網站上有一些代碼,但它是爲Matlab,而不是C#。

0

如果您有多個從不同相機位置拍攝的高(中)質量圖像,這是可能的。這個過程被稱爲「從運動結構」

http://en.wikipedia.org/wiki/Structure_from_motion

並且通常包括非常重和複雜的計算。唯一的例外是如果圖像是由固定的預定義位置的立體座標或對準的相機拍攝的。沒有辦法在C#中做到這一點。 C#對於計算機視覺應用來說很沒用。有開源的GPL庫呢,像捆紮機和PMVS

http://phototour.cs.washington.edu/bundler

手追蹤被別人完全不同的任務,在某種意義上,沒有那麼複雜,但是從運動蠻力可能結構法手跟蹤工作。有幾種精確手部跟蹤的方法,一些基於活動形狀模型或活動外觀模型,更簡單的方法是基於特徵點跟蹤,這可以在您的情況下起作用。但即使最簡單的方法也相當複雜,不能依靠一個職位。你可以谷歌,也可以有手動跟蹤的開源庫。