내 응용 프로그램에서 Depth Basics Sample에서 검색된 깊이 프레임과 비슷한 깊이 프레임을 얻고 있습니다. 내가 이해할 수없는 것은 왜 이미지에 개별 레벨이 존재 하는가? 이러한 깊이있는 값의 급격한 변화를 무엇이라고 부릅니 까. 분명히 내 오른손 절반은 모두 검은 색이고 내 왼손은 3 단계로 나뉘어 보인다. 이것은 무엇이며 어떻게 제거합니까? 나는 KinectExplorer 샘플 응용 프로그램을 실행하면 다음과 같이Kinect Depth Image
Kinect Depth Basics Sample http://i46.tinypic.com/2hwekxd.jpg
나는 깊이를 얻을. 이것은 원시 깊이 데이터에서 생성하고자하는 깊이 이미지입니다.
Kinect Explorer http://i50.tinypic.com/2rwx1z5.jpg
나는 OpenCV의와 함께 NuiApi을 마이크로 소프트 키 넥트 SDK의 (V1.6)를 사용하고 있습니다. 다음 코드를 가지고
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++;
}
}
이미지를 다시 확인하십시오. 표시되지 않습니다. –
이미지 URL이 변경되었습니다. 다시 확인하십시오. – thinkquester
''cn''은 실제로''4''가 아닌''3''이되어야합니까? 실제로 이미지를 출력하는 곳을보기 위해 흘끗 보일 수도 있습니다. – Tim