Я пытаюсь преобразовать 1-слойное изображение (в оттенках серого) в 3-слойное изображение RGB. Ниже приведен код, который я использую. Это работает без ошибок, но не создает правильный результат.
from PIL import Image # used for loading images
def convertLToRgb(img):
height = img.size[1]
width = img.size[0]
size = img.size
mode = 'RGB'
data = np.zeros((height, width, 3))
for i in range(height):
for j in range(width):
pixel = img.getpixel((j, i))
data[i][j][0] = pixel
data[i][j][1] = pixel
data[i][j][2] = pixel
img = Image.frombuffer(mode, size, data)
return img
Что я здесь не так делаю? Я не ожидаю цветного изображения, но я ожидаю черно-белого изображения, напоминающего ввод. Ниже приведены входные и выходные изображения: