5

我是英特尔实感的新手。我想学习如何将颜色和深度流保存到位图。我使用 C++ 作为我的语言。我了解到有一个函数 ToBitmap(),但它可以用于 C#。

所以我想知道是否有任何方法或任何功能可以帮助我保存流。

提前致谢。

4

1 回答 1

3

我也在努力解决这个问题,似乎唯一的选择是手动完成。我们需要从 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/英特尔感知计算 SDK/主题/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)。您可以将图像保存到不同格式的文件中。

于 2015-09-05T14:34:35.083 回答