Если вы хотите просто преобразовать формат, вам поможет следующий метод:
В python3, используя PILLOW и Numpy:
From PIL import Image
import numpy as np
im = Image.open(path/to/image, 'r').convert('L')
im = np.stack((im,)*3, axis=-1)
im = Image.fromarray(im)
im.save(path/to/save)
Но если вы хотите раскрасить изображение, знайте, что раскраска - это известная проблема перевода изображения. Даже если существует несколько подходов в зависимости от предметной области, я не знаю ни одного метода, который бы раскрашивал изображения любого типа.
Некоторым способом сделать это является обучение нейронной сети, но для этого вам нужно иметь набор данных черно-белого изображения и цветных изображений. Вот несколько подходов: