2013-11-02 74 views
1

有沒有什麼辦法可以在Kinect Depth Map中將牆壁上的手指(即貼在牆上)分開? 爲了闡明這個問題,我們的目標是獲得一個深度圖,它允許我通過閾值分離被壓在牆上的手指,這意味着Kinect需要能夠測量手指和手指之間的深度差異牆壁。使用Kinect for XBOX基於觸摸感應的深度範圍限制

工具:

  • Kinect的爲XBOX360
  • OpenCV的2.4
  • Openni2
  • 微軟視覺工作室2010

回答

1

你給不這樣做自動的庫。我不知道你對圖像處理有多麼瞭解,但爲了答案,我會假設你是。

我不確定是否只是簡單地將像素標記爲「牆」或「手指」,或者如果您想知道手指何時進入牆的某個距離閾值內。

如果您有一個乾淨的框架,Kinect只是看着牆壁,沒有手指,那麼您可以使用該框架準確找到牆的位置。您可以通過平均多個幀的深度幀來創建簡單的基於深度的背景幀。然後對於後續幀,如果有任何顯着差異(比如說> 3釐米),則可以聲明一個手指。

稍微更高級的選擇是使用曲面法線。對於每個深度像素(x,y,z),取該像素與(x + 1,y,z1)以及該像素和(x,y + 1,z2)之間的矢量叉積。如果您正在查看非彎曲牆,則表面法線應該均勻。在Kinect Fusion Video中,他們將曲面法線(x,y,z)映射到(r,g,b),效果非常好。任何具有與牆不同的表面法線的東西,都可以聲明爲手指。