我对此很陌生,因此对任何术语滥用表示歉意。
我正在用 Python 编码。我有一个二维列表,其中包含图像中每个像素的灰度值。我已根据需要修改了这些值,现在想将它们保存到新图像中。如何从我的灰度值数组构建这个新的 jpeg?
如果可能的话,我希望它们以不会覆盖我的原始图像文件的方式保存。
我正在使用 PIL;我用两个 for 循环打开了原始文件,Image.open('filename')
并在每个像素位置提取了灰度值。im.getpixel((i,j))
我对此很陌生,因此对任何术语滥用表示歉意。
我正在用 Python 编码。我有一个二维列表,其中包含图像中每个像素的灰度值。我已根据需要修改了这些值,现在想将它们保存到新图像中。如何从我的灰度值数组构建这个新的 jpeg?
如果可能的话,我希望它们以不会覆盖我的原始图像文件的方式保存。
我正在使用 PIL;我用两个 for 循环打开了原始文件,Image.open('filename')
并在每个像素位置提取了灰度值。im.getpixel((i,j))
这样的事情应该让你去(未经测试):
old_image = Image.open("old.jpg")
old_data = old_image.load()
new_image = Image.new("RGB", old_image.size)
new_data = new_image.load()
width, height = old_image.size
for x in range(width):
for y in range(height):
new_data[x, y] = old_data[x, y]
new_image.save("new.jpg")
不过要小心 jpeg,因为 jpeg 会丢失很多数据。如果您想保留每个像素的值而不会因压缩而损失,那么您应该使用 png。有关更多信息,请参阅此问题(其中也包含您原始问题的答案):