2012-12-15 2 views
2

먼저 내 영어로 죄송합니다 저는 얼굴 추적 API가있는 Microsoft의 Kinect SDK를 사용하고 있으며 GetFaceRect 기능으로 얼굴 교정을 받고 있습니다. 이제 비디오 버퍼를 OpenCV Mat으로 변환 한 다음 OpenCV를 사용하여 얼굴을 제외하고 모든 것을 제거합니다. 내가 사용 OpenCV의 매트에 비디오 프레임에서 변환하려면이 :IFTResult to cvMat 픽셀 좌표

cv::Mat * openCVImg = new cv::Mat(cameraConfig.Height, cameraConfig.Width, CV_8UC4); 
memcpy(openCVImg->data, m_KinectSensor.GetVideoBuffer()->GetBuffer(), m_KinectSensor.GetVideoBuffer()->GetBufferSize()); 

내가 다시 얼굴 RECT을 그릴 때 문제가있다,하지만 난 사각형을받은 OpenCV의 Mat이 시간이 왼쪽으로 난민이고 내 얼굴에 맞지 않아.

나는 이미지가 보폭으로하지만 함께 할 수 있음을 읽어

m_KinectSensor.GetVideoBuffer()->GetStride()/m_KinectSensor.GetVideoBuffer()->GetBytesPerPixel() 

내가 거의 640 느릅 나무 프레임의 폭

+0

바이트를 복사 할 수 있습니까? – ArtemStorozhuk

+0

이것은 오른쪽 직사각형이있는 원본 이미지입니다. https://www.dropbox.com/s/dxktzxultniqrgi/orig_image.png 그리고 결과 이미지는 https://dl-web.dropbox.com/get/Public_share/result_image.png입니다. ? w = bfc9d6a7 – acepero13

+0

결과 이미지가 나타나지 않습니다. – ArtemStorozhuk

답변

0

감사입니다있어! Esteban이 이전에 제안한대로 memcpy 바이트 대신에 IFTResult에서 cv::Mat까지

+0

문제가 아닌지 확실하지 않아서 의견을 제안했지만 삭제했습니다. ^^ –