在我的應用程序中,我得到的深度框架類似於從深度基礎樣本中檢索的深度框架。我不明白的是,爲什麼圖像中存在不連續的層次?我不知道我將這些深度值的突然變化稱爲什麼。顯然,我右手的一半都是黑色的,我的左手似乎分爲3個這樣的等級。這是什麼,我該如何刪除它?Kinect深度圖像
Kinect Depth Basics Sample http://i46.tinypic.com/2hwekxd.jpg
當我運行KinectExplorer示例應用程序,我得到的深度如下。這是我想要從原始深度數據生成的深度圖像。
Kinect Explorer http://i50.tinypic.com/2rwx1z5.jpg
我使用微軟Kinect SDK的(V1.6)NuiApi與OpenCV的一起。我有以下代碼:
BYTE *pBuffer = (BYTE*)depthLockedRect.pBits; //pointer to data having 8-bit jump
USHORT *depthBuffer = (USHORT*) pBuffer; //pointer to data having 16-bit jump
int cn = 4;
this->depthFinal = cv::Mat::zeros(depthHeight,depthWidth,CV_8UC4); //8bit 4 channel
for(int i=0;i<this->depthFinal.rows;i++){
for(int j=0;j<this->depthFinal.cols;j++){
USHORT realdepth = ((*depthBuffer)&0x0fff); //Taking 12LSBs for depth
BYTE intensity = (BYTE)((255*realdepth)/0x0fff); //Scaling to 255 scale grayscale
this->depthFinal.data[i*this->depthFinal.cols*cn + j*cn + 0] = intensity;
this->depthFinal.data[i*this->depthFinal.cols*cn + j*cn + 1] = intensity;
this->depthFinal.data[i*this->depthFinal.cols*cn + j*cn + 2] = intensity;
depthBuffer++;
}
}
請仔細檢查圖片,他們沒有顯示。 –
更改了圖片網址。再檢查一遍。 – thinkquester
什麼是「cn」,它真的必須是「4」而不是「3」嗎?也可以看看你實際輸出圖像的位置。 – Tim