我在Windows 7中使用MS SDK,我打算從3D骨架中提取一些頭部方向。但繪製3D座標時我感到很驚訝。估計的頭部位置總是向前傾斜。從我觀看相機的靜態位置,我以3幅圖像爲例,兩隻手和頭部都用黃色着色,骨骼的右側用洋紅色表示,左側用青色表示。使用Kinect骨架3D
(1)從主視圖3D骨架
(2)旋轉的從(1)
相同骨架(3) (1)頂視圖
所以,問題是,
是正確的技術?
儘管我更改了默認參數,但我沒有得到任何改進。有關工作設置骨架過濾參數的任何提示?
我在Windows 7中使用MS SDK,我打算從3D骨架中提取一些頭部方向。但繪製3D座標時我感到很驚訝。估計的頭部位置總是向前傾斜。從我觀看相機的靜態位置,我以3幅圖像爲例,兩隻手和頭部都用黃色着色,骨骼的右側用洋紅色表示,左側用青色表示。使用Kinect骨架3D
(1)從主視圖3D骨架
(2)旋轉的從(1)
相同骨架(3) (1)頂視圖
所以,問題是,
是正確的技術?
儘管我更改了默認參數,但我沒有得到任何改進。有關工作設置骨架過濾參數的任何提示?
現在頭部相對於頸部軸線的旋轉可以通過兩個肩部的深度來計算。首先計算頸部中心和肩關節之間的深度差(z距離),並獲得頸部中心和肩部之間的差異(x距離),並通過獲得tan值可以得出身體旋轉了多少。
親愛IntStarFoo,謝謝您的回答。我在C#中使用SDK 1.8。儘管以http://msdn.microsoft.com/en-us/library/jj131024.aspx(用於遊戲手勢)的方式使用骨架過濾,我發現肢體的大小是如此可變。當我在Kinect 1.5米處揮動右手,沒有阻塞時,我測量肘關節到腕關節和腕關節之間的距離,我發現這些值在經過的時間內有所不同。防爆。 e-to-w,從18cm到28cm,w-to-h從1cm到15cm。我必須校準我的傳感器嗎?我的Kinect錯了嗎?我認爲這個值我不能識別任何東西。 – Carl 2014-12-05 21:47:10
沒問題。很高興我能幫上忙。你如何測量距離?您需要使用3D點進行測量。你在測量E和W之間的3D矢量嗎?或者你在使用1個或2個軸進行測量? – IntStarFoo 2014-12-07 16:32:55
根據Kinect的3D關節位置(以米爲單位),我計算了從手肘到手腕的歐氏距離,這是3D矢量的範數,由ex。 ElbowRight-To-WristRight = norm(3DWRightRight-3DElbowRight),但正如我所說,在運動過程中,它有很大的波動,這似乎很奇怪。 – Carl 2014-12-08 02:48:28