2
嘗試使用C++度日的Kinect V2跟蹤的身體,但它不工作作爲它應該,而且微軟對C文檔++爲Kinect的V2 API是非常糟糕的Kinect體跟蹤GetAndRefreshBodyData返回錯誤
相關的代碼片段:
HRESULT result;
if (BodyFrameReader != nullptr)
{
result = BodyFrameReader->AcquireLatestFrame(&BodyFrame);
if (result == S_OK)
{
IBody** bodies =nullptr;
result = BodyFrame->GetAndRefreshBodyData(BODY_COUNT, bodies);
if (result == S_OK)
Print("Success");
else
Print("Fail "+result);
BodyFrame->Release();
}
}
所以在閱讀使用AcquireLatestFrame
回報S_OK
然而試圖獲取信息使用GetAndRefreshBodyData
始終任何跟蹤車身框架的第一個結果返回變量result
的錯誤代碼是一些非常大的負數(-ve MAXINT _32)。
除了這個我注意到另一件事是在一些文檔就暗示,好像GetAndRefreshBodyData
需要的IBody
數組作爲參數現在IBody
是一個接口,它不能因此如何是你應該做的實例。
除Kinect->Open()
之外,還有其他一些設置需要完成以便進行身體跟蹤嗎?
這樣做,謝謝。大多數示例和在線文檔都關注C#,所以我忽略了這一點。 – Allahjane
當您安裝Kinect SDK時,它還安裝了「SDK瀏覽器」。使用它,你可以過濾樣本,所以它只顯示你的C++的。 – HenningJ