PIL: использование fromarray () с двоичными данными и запись цветного текста - PullRequest
11 голосов
/ 17 января 2011

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

1 Ответ

14 голосов
/ 17 января 2011

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

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