python怎么生成图像_如何从Python中的像素值列表创建PNG图像文件?

快速解决

首先,您需要将像素元组放在一个非嵌套列表中:

pixels_out = []

for row in pixels:

for tup in row:

pixels_out.append(tup)

接下来,使用输入图像的属性创建一个新的图像对象,并将数据放入其中:

image_out = Image.new(image.mode,image.size)

image_out.putdata(pixels_out)

最后,保存它:

image_out.save('test_out.png')

基本问题

列表推导生成列表列表,后者由切片生成(i * width:(i 1)* width).您的理解可以更容易:像素= [像素的像素,以像素为单位].显然,这会输出相同的列表,像素,但您可以使用这个想法对像素执行操作,例如pixels = [像素的操作(像素)].

真的,你打败了它.您无需管理图像尺寸.获取列表中的像素,然后将它们放入具有putdata的相同大小的图像中,因为它们通过PIL以相同的方式线性化.

简而言之,这就是您的原始代码段应该是:

from PIL import Image

image = Image.open("test.png")

image_out = Image.new(image.mode,image.size)

pixels = list(image.getdata())

image_out.putdata(pixels)

image_out.save('test_out.png')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值