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

用Python缩放和显示图像的最快方法是什么?,python,animation,matplotlib,image-scaling,Python,Animation,Matplotlib,Image Scaling,我需要以20fps左右的速度显示int16的二维numpy.array。使用Matplotlib的imshow可以阻止任何超过10fps的速度。显然,缩放和插值存在一些问题。我要补充的是,阵列的尺寸未知,但可能会在30×400左右 这些是来自传感器的数据,应该具有实时显示功能,因此数据必须在运行中重新采样。显示30x400个数据点的最快方法是: 使用OpenGL颜色数组 如果您可以快速将数据转换为OpenGL所理解的颜色数组,您可以创建一个描述四边形的顶点数组,每个传感器一个,然后更新您的颜色数

我需要以20fps左右的速度显示int16的二维numpy.array。使用Matplotlib的imshow可以阻止任何超过10fps的速度。显然,缩放和插值存在一些问题。我要补充的是,阵列的尺寸未知,但可能会在30×400左右


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

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

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

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

使用pygame Pygame支持将Numpy/Numarray转换为曲面,Pygame可以转换这些曲面,这涉及到重采样,重采样后您可以将其显示在屏幕上

杂项
使处理opengl变得非常简单

谢谢,但是数据需要重新采样,因为这是传感器数据的实时显示。所以我正确地理解了这一点。您可以输入10x10个传感器点。你想放大它在大屏幕上显示吗?所以问题不是如何重新采样。这是如何快速创建30x400数据点的大屏幕显示。嗯,图像需要缩放成更多或更少的平方,但我想OpenGL可以解决这个问题。是的,您可以为OpenGL选择正交显示。