gpt4 book ai didi

python - 使用 python,如何在窗口中显示 RGB 值矩阵?

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:28 25 4
gpt4 key购买 nike

我已经计算了图像的 RGB 三元组矩阵,我想知道在交互式窗口中显示它们的最直接的技术。我怀疑pygame会参与其中。尽量减少使用 pip 的技术将被优先考虑。

result = numpy.zeros([height,width, 3], dtype=numpy.uint8)
pyopencl.enqueue_copy(queue, result, result_g).wait()

surface = pygame.display.set_mode((width, height), pygame.DOUBLEBUF)
# now what?

最佳答案

我能够使用的解决方案是这样的:

result = numpy.zeros([height,width, 3], dtype=numpy.uint8)
pyopencl.enqueue_copy(queue, result, result_g).wait()

surface = pygame.display.set_mode((width, height), pygame.DOUBLEBUF)
rgb2 = numpy.transpose(rgb, (1,0,2))
pygame.pixelcopy.array_to_surface(surface, rgb2)
pygame.display.flip()

转置是必要的,因为我的 opencl 内核计算出的图像排列为 result[y,x,:] = (r,g,b) 而 array_to_surface 需要 result[x, y,:] (这与大多数帧缓冲区的工作方式相反)。如果我想避免转置,我可以更改 opencl 内核以按列主顺序存储内容。

此解决方案仅有效,因为我的表面与图像的尺寸完全相同。当表面和像素矩阵具有不同尺寸时,我将投票支持任何其他有效的良好解决方案(因为有人在搜索时可能会找到这篇文章)。

关于python - 使用 python,如何在窗口中显示 RGB 值矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36750306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com