【问题标题】:Real Time Append to Image实时附加到图像
【发布时间】:2015-09-13 08:20:24
【问题描述】:

我需要从计算机麦克风捕获音频数据,对其进行处理,然后实时绘制。处理每一帧将产生一个一维数组,我想在图像中显示该数组,其中数组中的每个值都映射到一种颜色。下一个音频帧进行类似处理,然后显示在图像的下一行,依此类推。在 matlab 中,可以使用 imagesc 函数来实现这一点。我还希望用户能够上下滚动以查看当前或以前的数据。 我相信我需要在文件或数据库中缓冲处理过的数据,然后如上所述异步更新绘图。 我正在尝试使用 C# 实现上述所有目标。

我的问题是:生成图像/情节的最佳方式是什么?我做了很多研究(Microsoft Chart、VTK、几篇 codeproject 文章..),但找不到我想要的。

另外,在这种情况下最好使用什么数据库?

【问题讨论】:

    标签: c# .net matlab real-time data-visualization


    【解决方案1】:

    我认为没有一个组件可以完全按照您的描述进行操作。在大多数框架/捆绑包中,所有图像都由本地系统调用(最终)可视化,这些调用接受跨步、缓冲区等,全部由 HANDLE 驱动。因此,您可以在下次生成带有新行的新图像,或者只是通过将上一张图像堆叠到新图像来自己绘制它。

    滚动(AKA 窗口化)并非微不足道,但在内存中已预先创建的图像已修复时再次成为可能。但是,请注意,基于 GDI+ 的图像(.NET 位图)对于超过 9000 像素的大小是有限的。请考虑使用 IPP、AForge 图像等替代方案。

    我建议您自己绘制行,因为在您的任务中,由于行模糊,重新调整大小将成为一个问题。 所以,总而言之,你可能需要自己做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-20
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多