public Image<Gray, float> RetrieveDisparityMap32f()
{
IntPtr img = CvInvoke.cvRetrieveFrame(Ptr, (int)OpenNIDataType.DisparityMap32f);
if (img == IntPtr.Zero)
return null;
MIplImage iplImage = (MIplImage)Marshal.PtrToStructure(img, typeof(MIplImage));
Image<Gray, float> res = new Image<Gray, float>(iplImage.width, iplImage.height, iplImage.widthStep, iplImage.imageData);
//inplace flip the image if necessary
res._Flip(FlipType);
return res;
}