用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非常容易