具有空间数据的Hololens视频流

时间:2019-03-13 20:19:30

标签: c# image-processing camera hololens

我正在使用hololens,并尝试使用可用的世界/投影矩阵保存视频流。 我一直在尝试拍摄一系列照片并保存数据,但是我找不到保存图像和矩阵的方法。

当保存到磁盘时,没有选择获取图像捕捉框架(包含矩阵数据)的选项,当保存到内存时,我似乎无法将图像保存到磁盘。 我尝试使用以下方法,但是这似乎使我的统一程序崩溃了:

List<byte> imageBufferList = new List<byte>();
photoCaptureFrame.CopyRawImageDataIntoBuffer(imageBufferList);
byte[] myArrayImage = imageBufferList.ToArray();

然后使用它来转换字节数组:

using (MemoryStream mStream = new MemoryStream(byteArrayIn))
return Image.FromStream(mStream);

然后保存结果。

当我删除memorystream东西时,程序不会崩溃(但是它也不会保存我的图像)。

我一直在互联网上浏览,但是对此有很多含糊的说法 a)无法蜂鸣 b)使用内存流(但会崩溃)

有什么建议吗? 如果有人知道一种方法来保存每帧以及视频流的相应帧的所有矩阵(投影和世界)数据,那将是很大的帮助。

编辑:我也尝试研究https://github.com/VulcanTechnologies/HoloLensCameraStream,但这似乎给新的Unity版本带来了问题。关于此事有何评论?

要阐明我的最终目标: 拍摄时,程序应保存所有帧和相应的矩阵,例如:

Frame_01,Frame_02,Frame_03,...(.jpg / png /...)

World_matrix_01,World_matrix_02,...(。txt)

Projection_matrix_01,Projection_matrix_02,...(。txt)

1 个答案:

答案 0 :(得分:1)

  

编辑:我也尝试研究https://github.com/VulcanTechnologies/HoloLensCameraStream,但这似乎给新的Unity版本带来了问题。关于此事有何评论?

我使用了它,并且在Unity 2018.3.13f1中效果很好。您只能在调试模式之外的Hololens中进行测试。