pygame,为什么它不能显示灰度图片

时间:2017-08-26 12:23:44

标签: numpy pygame

我正在使用pygame来显示灰度图像。但是,它不能显示灰度图像,输出就在这里

enter image description here

图像是numpy数组,其形状为80X80,代码在这里

surf_1 = pygame.surfarray.make_surface(pic_1)
surf_2 = pygame.surfarray.make_surface(pic_2)
surf_3 = pygame.surfarray.make_surface(pic_3)
surf_4 = pygame.surfarray.make_surface(pic_4)

self.screen.blit(surf_1, (120, 40))
self.screen.blit(surf_2, (210, 40))
self.screen.blit(surf_3, (300, 40))
self.screen.blit(surf_4, (390, 40))

我的问题是如何显示真实的灰度图像而不是蓝绿色图像。

更新

以下是将RGB转换为灰度的代码,它来自互联网,我不知道确切来源,对不起。

def rgb2gray(rgb, img_shape):
    gray = np.dot(rgb[..., :3], [0.299, 0.587, 0.114])
    return gray.reshape(*img_shape)

0 个答案:

没有答案