处理:保存颜色和深度图像

Processing: save color and depth images

我刚开始使用 Processing,因为我需要获取一系列图像、颜色和深度。当我在绘图时保存图像时,所以对于我得到的每张图像,我都会保存它。我有大约 2fps。有什么办法可以改善吗?

我的想法是将图像存储在数组列表中。我认为有一个函数 setup() 所以也会有一个函数 shutdown() 之类的。因此,当我按下 Esc 按钮或关闭变冷的 window 时。就像一个反编译器。我可以在哪里 运行 列出并保存它们的循环槽。但是我没有找到这样的功能。

我正在使用 MacBook Air (2013)

如果您使用 OpenNI/SimpleOpenNI,我推荐一个更好的选择:使用 .oni 格式(它存储深度和 rgb 流)。您所要做的就是:

  1. 录制到 .oni 文件 (fast/realtime)
  2. 在需要时从记录的 .oni 流中读取 depth/color 流。

要录制到 .oni 文件,您有两个选择:

  1. 使用Examples > Contributed Libraries > SimpleOpenNI > OpenNI > RecorderPlay sketch 来录制(this answer底部的一些解释)
  2. 使用 OpenNI SDK 的 NiViewer 实用程序,它也可以 save/load .oni 文件。 (您可以使用 homebrew 轻松安装它:brew install homebrew/science/openni2。在这种情况下,路径类似于 /usr/local/Cellar/openni2/2.2.0.33/share/openni2/tools/NiViewer

获得 .oni 文件后,您可以轻松地以不同的速率读取 it/play 它并访问 depth/rgb 流以保存到磁盘。

关于您现有的计划 帧速率下降是因为在同一个线程中,它每帧编码两个图像并将其写入磁盘。您可以通过以下方式改进:

  1. 保存为未压缩格式(如 tiff)
  2. 线程化图像保存操作(一些想法见this answer底部)