我需要以20fps左右的速度显示int16的二维numpy.array。在10fps以上的任何东西上使用Matplotlib的imshow扼流圈。显然存在缩放和插值的一些问题。我应该补充说,数组的尺寸是未知的,但可能大约是三十四百。
这些来自传感器的数据应该具有实时显示,因此必须动态地重新采样数据。
答案 0 :(得分:6)
显示30x400数据点的最快方法是:
如果您可以快速将数据转换为OpenGL理解为颜色数组的数据,您可以创建一个描述四边形的顶点数组,每个传感器一个,然后更新颜色数组并在屏幕上以正交方式绘制。
如果您可以快速将数据点转换为opengl纹理,则可以使用绑定到此纹理的固定UV坐标绘制一个四边形。
Pygame支持将Numpy / Numarray转换为曲面,Pygame可以转换这些涉及重新采样的曲面,重新采样之后你可以在屏幕上进行blit。
pyglet使得处理opengl非常容易