Превратите изображение в оттенки серого в PythonPython

Программы на Python
Anonymous
Превратите изображение в оттенки серого в Python

Сообщение Anonymous »

Я новичок в тензорном потоке и керасе и пытаюсь создать модель CNN для набора данных номеров домов Street View (SVHN). Набор данных содержит цветные изображения, и я хочу преобразовать их в оттенки серого. Я нашел в Интернете код, который утверждает, что изображение преобразуется в оттенки серого, но он просто меняет цвета.
Люди читают второе изображение с серой цветовой картой. Есть ли способ на самом деле превратить это изображение в оттенки серого?
(Я не знаю, как обрабатывать изображение на таких языках программирования. Если это глупый вопрос, пожалуйста, простите меня и дайте краткое объяснение.)
Ниже я предоставил изображения и код, буду благодарен за любую помощь.
Код:

Код: Выделить всё

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

#Read picture:
picture = plt.imread('google.jpg')

print("google logo's shape is: ",picture.shape) #(500, 500, 3)

#saving picture as an np array:
pic_array = np.array(picture)

#Turning image to grayscale
grayscale_pic = np.expand_dims(np.dot(pic_array[...,:3],[0.299, 0.587, 0.144]),axis = 0)

#Dimensions shifted, (probly my mistake):
grayscale_pic = np.moveaxis(grayscale_pic, 0, -1)

print("shape of grayscale pic = ", grayscale_pic.shape) # (500, 500, 1)

plt.imshow(picture)         #Figure_1
plt.show()
plt.imshow(grayscale_pic)   #Figure_2
plt.show()
Изображение

Вернуться в «Python»