用Python缩放和显示图像的最快方法是什么?

时间:2020-03-06 14:32:16  来源:igfitidea点击:

我需要以20fps左右的速度显示int16的二维numpy.array。使用Matplotlib的imshow扼流圈可达到10fps以上的速度。缩放和插值显然存在一些问题。我应该补充一点,数组的尺寸是未知的,但可能约为三十乘四百。

这些是来自传感器的数据,应该具有实时显示功能,因此必须实时对数据进行重新采样。

解决方案

显示30x400数据点的最快方法是:

使用OpenGL颜色阵列

如果我们可以快速将数据转换为OpenGL所理解的颜色阵列,则可以创建一个描述四边形的顶点阵列,每个传感器一个,然后更新颜色阵列并将其以正交方式绘制在屏幕上。

使用OpenGL纹理

如果可以快速将数据点转换为opengl纹理,则可以绘制一个具有固定UV坐标的四边形,该四边形已绑定到该纹理。

使用pygame

Pygame支持将Numpy / Numarray转换为曲面,然后Pygame可以转换涉及重新采样的曲面,在重新采样之后,我们可以在屏幕上将其变灰。

杂项

pyglet使处理opengl非常容易