Numpy pygame,为什么它可以';不显示灰度图

Numpy pygame,为什么它可以';不显示灰度图,numpy,pygame,Numpy,Pygame,我正在使用pygame显示灰度图像。但是,它不能显示灰度图像,输出在这里 这些图像是numpy数组,其形状是80X80,代码在这里 surf_1=pygame.surfarray.make_surface(图1) surf_2=pygame.surfarray.make_surface(图2) surf_3=pygame.surfarray.make_surface(图3) surf_4=pygame.surfarray.make_surface(图4) 自我屏幕blit(surf_1,(12

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

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

surf_1=pygame.surfarray.make_surface(图1)
surf_2=pygame.surfarray.make_surface(图2)
surf_3=pygame.surfarray.make_surface(图3)
surf_4=pygame.surfarray.make_surface(图4)
自我屏幕blit(surf_1,(120,40))
自我屏幕blit(surf_2,(210,40))
自我屏幕blit(surf_3,(300,40))
自我屏幕blit(冲浪4,(390,40))
我的问题是如何显示真实的灰度图像而不是蓝绿色图像

更新 这是将RGB转换成灰度的代码,它来自互联网,我不知道确切的来源,很抱歉

def rgb2gray(rgb、img_形状):
灰色=np.点(rgb[…,:3],[0.299,0.587,0.114])
返回灰色。重塑(*img_形状)

你能告诉我们你用来将图像转换成灰度的代码吗?@skrx,我更新了这个问题。如果使用matplotlib显示图像,如果确实添加了
cmap=plt.cm.gray
,则会出现相同的问题
plt.imshow(gray\u img,cmap=plt.cm.gray)
可以显示灰度图像。请查看中的
grayscale
函数。@skrx,我不认为是灰度函数导致此问题发生。但是,如果您在不使用
cmap=plt.cm.gray
的情况下使用
plt.imshow
函数,即使使用
matplotlib
也会再次出现同样的问题。您可以向我们展示用于将图像转换为灰度的代码吗?@skrx,我更新了问题。如果使用matplotlib显示图像,如果确实添加了
cmap=plt.cm.gray
,则会出现相同的问题
plt.imshow(gray\u img,cmap=plt.cm.gray)
可以显示灰度图像。请查看中的
grayscale
函数。@skrx,我不认为是灰度函数导致此问题发生。但是,如果在不使用
cmap=plt.cm.gray
的情况下使用
plt.imshow
函数,即使使用
matplotlib