我正在使用pygame来显示灰度图像。但是,它不能显示灰度图像,输出就在这里
图像是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)