PIL: использование fromarray() с двоичными данными и запись цветного текста

У меня есть основная проблема с Python-библиотекой PIL. У меня есть некоторые .txt файлы, содержащие только 0 и 1 значения, расположенные в матрицах. Я преобразовал "двоичные" данные в изображение с помощью функции Image.fromarray(), включенной в PIL. Формат моих данных вырабатывает черные и белые изображения, если я умножаю их на 255, и это хорошо для меня. Теперь я хочу добавить текст к изображению, используя соответствующую текстовую функцию, включенную в PIL, но я хочу, чтобы этот текст был цветным. Ясно, что я не могу этого сделать, потому что изображение, полученное из fromarray, имеет цветовую палитру в оттенках серого. Как я могу его изменить?

Ответ 1

Вы можете получить изображение RGB из монохроматического типа:

from PIL import Image
from numpy import eye                                                            
arr = (eye(200)*255).astype('uint8') # sample array
im = Image.fromarray(arr) # monochromatic image
imrgb = Image.merge('RGB', (im,im,im)) # color image
imrgb.show()