python从RGB元组创建图像

时间:2017-12-24 15:52:34

标签: python image drawing draw

我有一个带有图像数据的多字节.txt文件:

(198, 252, 247) (255, 255, 250) (254, 253, 248) (251, 252, 246) (247, 248, 240) ... 
(100, 144, 247) (255, 200, 250) (254, 253, 248) (251, 252, 246) (247, 248, 240) ... 

如何将这些数据读入元组?

lst = [((198, 252, 247), (255, 255, 250)), (second line), (thrid) ...]

并最终使用Image模块

将每一行绘制回图像文件

2 个答案:

答案 0 :(得分:2)

只需读取每一行,从中提取三元组值,然后将它们转换为整数。

import re

triplet = r'\((\d+), (\d+), (\d+)\)' # regex pattern

image = []
with open('image.txt') as fp:
    for line in fp:
        image.append([(int(x), int(y), int(z)) for x, y, z in re.findall(triplet, line)])

修改

要实际绘制图像,请查看this question。但是,这应该有效:

from PIL import Image

width, height = len(image[0]), len(image)
data = sum(image, []) # ugly hack to flatten the image

im = Image.new('RGB', (width, height))
im.putdata(data)
im.save('image.png')

答案 1 :(得分:0)

首先,您需要扫描并拆分文件中的数据,然后您可以从数据中解析元组(字符串元组),然后使用PIL创建图像对象

ccc