Вы можете использовать аргумент cmap в Matplotlib, чтобы легко отображать изображения в оттенках серого .
В следующем примере показано, как использовать этот аргумент на практике.
Пример: отображение изображения в оттенках серого в Matplotlib
Предположим, у меня есть следующее изображение с именем shape.JPG , которое я хотел бы отобразить в Matplotlib:

Я могу использовать следующий синтаксис для отображения этого изображения с использованием исходных цветов:
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
image=Image. open('shapes.JPG')
plt.imshow (image)
plt.show()

Обратите внимание, что это изображение полностью совпадает с изображением, которое у меня было в файле.
Чтобы отобразить изображение в оттенках серого, я должен использовать аргумент cmap='grey' следующим образом:
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
#open image
image=Image. open('shapes.JPG')
#convert image to black and white pixels
gray_image=image. convert('L')
#convert image to NumPy array
gray_image_array=np.asarray (gray_image)
#display image on grayscale
plt.imshow (gray_image_array, cmap='gray')
plt.show()

Теперь изображение преобразовано в оттенки серого.
Примечание.Аргумент «L» преобразует изображение в черно-белые пиксели. Без предварительного использования этой строки кода изображение не будет отображаться в оттенках серого.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Matplotlib:
Как показать линии сетки на графиках Matplotlib
Как рисовать прямоугольники в Matplotlib
Как увеличить размер графика в Matplotlib
Как установить галочки оси в Matplotlib