前提:
使用import matplotlib.pyplot as plt
,确定输入的图像是灰度图。
原因:
因为 Matplotlib 的 plt.imshow()
函数默认会将单通道图像(灰度图)显示为伪彩色图像,使用默认的颜色映射(colormap)来渲染图像。
解决方法(我希望代码可以自适应灰度图和彩色图,根据原图正常显示):
# 自适应显示
if img.mode == 'L': # 灰度图
plt.imshow(img, cmap='gray') # 使用灰度颜色映射
else: # 彩色图
plt.imshow(img) # 直接显示