如何从灰度权重列表构造jpeg

2024-05-03 12:20:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我对这一点很陌生,所以为任何误用道歉。在

我用Python编写代码。我有一个二维列表,其中包含图像中每个像素的灰度值。我已经根据需要修改了这些值,现在要将它们保存到新图像中。如何从灰度值数组构造这个新的jpeg?在

我希望他们保存的方式,不覆盖我的原始图像文件,如果可能的话。在

我使用PIL;我用Image.open('filename')打开原始文件,并在两个for循环中使用im.getpixel((i,j))提取每个像素位置的灰度值。在


Tags: 文件代码图像image列表pil图像文件方式
2条回答

但是要小心jpeg,因为jpeg会丢失很多数据。如果您想保持每个像素的值而不丢失压缩,那么您应该使用png。有关更多信息,请参阅此问题(其中也包含您最初问题的答案):

PIL changes pixel value when saving

像这样的东西应该能让你开始(不是测试):

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")

相关问题 更多 >