KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In my application I am getting the depth frame similar to the depth frame retrieved from Depth Basics Sample. What I don't understand is, why are there discrete levels in the image? I don't know what do I call these sudden changes in depth values. Clearly my half of my right hand is all black and my left hand seems divided into 3 such levels. What is this and how do I remove this? When I run the KinectExplorer Sample app I get the depth as follows. This is the depth image I want to generate from the raw depth data. I am using Microsoft Kinect SDK's (v1.6) NuiApi along with OpenCV. I have the following code: 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++; } }
Tags (comma-separated)
Save Edits
Cancel