我有一个尺寸为 (100*100) 的标签矩阵,存储为一个 numpy 数组,我想用 pyglet 显示该矩阵。
我最初的想法是使用函数 pyglet.image.ImageData() 使用这个矩阵来形成一个新的 pyglet 图像。它需要图像数据的缓冲区作为输入,但是我不知道如何从 numpy 数组中获取正确格式化的缓冲区。
有人知道吗?
附言。我目前的解决方案:
3d_label = numpy.empty([100,100,3])
3d_label[:,:,0] = label * 255 # value range of label is [0,1]
3d_label[:,:,1] = label * 255
3d_label[:,:,2] = label * 255
image_data = ctypes.string_at(id(3d_label.tostring())+20, 100*100*3)
image = pyglet.image.ImageData(100, 100, 'RGB', image_data, -100*3)
用numpy从3个[100*100]矩阵构造一个[100*100*3]矩阵的更好方法吗?