[英]IFTResult to cvMat pixel coordinates
首先,对我的英语感到抱歉,我将Microsoft的Kinect SDK与人脸跟踪API配合使用,并且使用GetFaceRect
函数获取人脸GetFaceRect
。 我现在要做的是将视频缓冲区转换为OpenCV Mat
,然后使用OpenCV去除除面部以外的所有内容。 要将视频帧转换为OpenCV mat,请使用以下命令:
cv::Mat * openCVImg = new cv::Mat(cameraConfig.Height, cameraConfig.Width, CV_8UC4);
memcpy(openCVImg->data, m_KinectSensor.GetVideoBuffer()->GetBuffer(), m_KinectSensor.GetVideoBuffer()->GetBufferSize());
问题是当我尝试再次绘制矩形时,但是这次使用OpenCV Mat
我将矩形向左移动并且与我的脸不匹配。
我读到图像可能会大步前进,但具有:
m_KinectSensor.GetVideoBuffer()->GetStride() / m_KinectSensor.GetVideoBuffer()->GetBytesPerPixel()
我的边框宽度几乎达到640
谢谢! 如Esteban先前所建议的,而不是使用IFTResult
每个字节的memcpy
y复制字节到cv::Mat
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.