這是我第一次使用OpenFrameworks。我用它來讓OpenCV的光流與來自OpenNI的用戶掩碼一起工作。所以我不需要骨架。我需要的是來自OpenNI的用戶掩碼。OpenNI通過OpenFrameworks顯示框架但不是用戶掩碼
我使用OpenNI版本1.5.4.0和NITE版本1.5.2.21,我在Ubuntu可信賴的。
大部分零件都工作,除了一個:我看不到用戶面具。原生的OpenNI示例有效:我可以在其中看到用戶輪廓。但是從OpenFrameworks,我似乎無法獲得用戶掩碼。
對於我了openFrameworks代碼中的每個用戶,我可以這樣做:
// "user" is an object returned from ofxOpenNI::getTrackedUser
// This actually displays a skeleton:
user.drawSkeleton();
// These two do nothing:
user.drawMask();
user.drawPointCloud();
我想這也是對OpenNI設備的調試視圖真:
// openNiDevice is an instance of ofxOpenNI
openNiDevice.drawDebug();
這顯示了RGB攝像頭和深度相機與骨架,但我不認爲它顯示用戶掩碼。這並不是很清楚,因爲用戶大綱可能被誤認爲是同質深度閱讀,但我不認爲是這樣。我認爲即使在調試屏幕中,用戶遮罩的顏色也不同於深度顏色。
我在畫面上打印屏幕上的用戶數量,我可以告訴ofxOpenNI
確實檢測到用戶。此外,它確實顯示骨骼,所以它必須看到東西。
同樣,OpenNI示例應用程序Sample-NiUserTracker
確實給了我一個完美的輪廓,所以OpenNI必須工作。
我在做什麼錯?