3

我最近遇到this video並想實施類似的東西。基本方法很清楚:我必須對圖像進行閾值檢查,並檢查虛擬對象是否與剩餘的前景相碰撞。如何將攝像頭圖像集成到物理引擎中?

而不是自己實現物理,我想使用像Box2D引擎。但是,如何將閾值圖像集成到物理引擎中,以便與虛擬對象進行交互?

回答

4

你想做邊緣檢測。有這樣的開源算法。雖然你可以按照你的建議設定閾值,但是好的邊緣檢測算法在沒有這個的情況下也可以工作,並且可能會更有趣,因爲你不需要純白色的背景來獲得有趣的結果。查看OpenCV http://www.mathworks.com/products/imaq/demos.html?file=/products/demos/shipping/imaq/demoimaqsl_edgedetection.html初學者。

邊緣檢測器最終產生像素座標中的矢量作爲輸出。您需要根據與生成邊緣的視頻幀相同的時間序列,將它們轉換爲在程序控制下移動的Box2D b2_staticBody對象。現在,您可以將動態對象添加到Box2D環境,並且它們的行爲就像邊緣是不可移動的實體。

你必須將Box2D輸出覆蓋到視頻幀上。 OpenCV也應該對此有所幫助。或者你可以使用視頻編輯工具。

這將是相當多的工作,但你甚至可能會得到這個實時工作。請注意,如果您有權訪問MATLAB,則在其中一個工具箱中具有視頻幀速率邊緣檢測器。