मेरे आवेदन में मुझे गहराई फ्रेम गहराई फ्रेम नमूना से प्राप्त गहराई फ्रेम के समान मिल रहा है। जो मुझे समझ में नहीं आता है, छवि में अलग-अलग स्तर क्यों हैं? मुझे नहीं पता कि मैं गहराई के मूल्यों में इन अचानक परिवर्तनों को क्या कहूं। स्पष्ट रूप से मेरे दाहिने हाथ का मेरा आधा काला है और मेरा बायां हाथ 3 ऐसे स्तरों में बांटा गया है। यह क्या है और मैं इसे कैसे हटा सकता हूं?किनेक्ट गहराई छवि
Kinect Depth Basics Sample http://i46.tinypic.com/2hwekxd.jpg
जब मैं KinectExplorer नमूना अनुप्रयोग चलाने के रूप में निम्न प्रकार मैं गहराई मिलता है। यह गहराई की छवि है जिसे मैं कच्चे गहराई डेटा से उत्पन्न करना चाहता हूं।
Kinect Explorer http://i50.tinypic.com/2rwx1z5.jpg
मैं OpenCV के साथ माइक्रोसॉफ्ट Kinect एसडीके के (v1.6) का उपयोग कर रहा NuiApi। मैं निम्नलिखित कोड है:
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