【发布时间】:2012-01-27 23:27:33
【问题描述】:
我将图像的像素存储在单个多处理中。整数数组可以索引为
self.data[x*height + y]
因为这很方便与 IPC 一起使用。
我正在尝试使用 PIL 的 putdata() 将像素保存到文件中,以使其比使用 putpixel() 或 [] 索引更快。但是我无法弄清楚 putdata() 需要哪种格式的图像数据。
我认为 putdata() 可以使用相同类型的索引
def write(self):
im = Image.new("RGB", (self.width, self.height))
imagedata = [self.intToRGB(self.data[i*self.height + j])
for i in range(self.width)
for j in range(self.height)]
im.putdata(imagedata)
im.save(self.filename, "PNG")
self.intToRGB() 返回一个元组(r, g, b)。
但是上面的代码导致了一个 -90 度旋转的图像,并且有很多重复。
如果我像这样使用 putpixel() 而不是 putdata():
pic = im.load()
for i in range(self.width):
offset = i * self.height
for j in range(self.height):
pic[i, j] = imagedata[i * self.height + j]
它产生
【问题讨论】:
标签: python python-imaging-library