【发布时间】:2015-11-27 20:19:54
【问题描述】:
我是英特尔实感的新手。我想学习如何将颜色和深度流保存到位图。我使用 C++ 作为我的语言。我了解到有一个函数 ToBitmap(),但它可以用于 C#。
所以我想知道是否有任何方法或功能可以帮助我保存流。
提前致谢。
【问题讨论】:
标签: visual-c++ image-processing intel realsense
我是英特尔实感的新手。我想学习如何将颜色和深度流保存到位图。我使用 C++ 作为我的语言。我了解到有一个函数 ToBitmap(),但它可以用于 C#。
所以我想知道是否有任何方法或功能可以帮助我保存流。
提前致谢。
【问题讨论】:
标签: visual-c++ image-processing intel realsense
我也在努力解决这个问题,看来唯一的选择是手动完成。我们需要从 PXCImage 中获取 ImageData。实际数据存储在 ImageData.planes 中,但我仍然不明白它是如何组织的。
https://software.intel.com/en-us/articles/dipping-into-the-intel-realsense-raw-data-stream?language=en这里你可以找到获取深度数据的例子。 但我仍然不知道什么是间距以及平面内的数据是如何组织的。
这里:https://software.intel.com/en-us/forums/intel-perceptual-computing-sdk/topic/332718 描述了一种向后的过程。
如果您能从这些信息中获得一些见解,我会很高兴。 如果您发现了一些可以分享的见解,我显然会很高兴:)。
UPD:这是我们需要的东西,我还没有使用它,但它揭示了飞机的内部组织[0]https://software.intel.com/en-us/forums/intel-perceptual-computing-sdk/topic/514663
UPD2:为答案添加一些完整性: 然后您可以从 ImageData 中的数据创建 GDI+ 图像:
auto colorData = PXCImage::ImageData();
if (image->AcquireAccess(PXCImage::ACCESS_READ, PXCImage::PIXEL_FORMAT_RGB24, &colorData) >= PXC_STATUS_NO_ERROR) {
auto colorInfo = image->QueryInfo();
auto colorPitch = colorData.pitches[0] / sizeof(pxcBYTE);
Gdiplus::Bitmap tBitMap(colorInfo.width, colorInfo.height, colorPitch, PixelFormat24bppRGB, baseColorAddress);
}
Bitmap 是 Image (https://msdn.microsoft.com/en-us/library/windows/desktop/ms534462(v=vs.85).aspx) 的子类。您可以将图像保存到不同格式的文件中。
【讨论】: