2024-05-03 12:20:05 发布
网友
我对这一点很陌生,所以为任何误用道歉。在
我用Python编写代码。我有一个二维列表,其中包含图像中每个像素的灰度值。我已经根据需要修改了这些值,现在要将它们保存到新图像中。如何从灰度值数组构造这个新的jpeg?在
我希望他们保存的方式,不覆盖我的原始图像文件,如果可能的话。在
我使用PIL;我用Image.open('filename')打开原始文件,并在两个for循环中使用im.getpixel((i,j))提取每个像素位置的灰度值。在
Image.open('filename')
im.getpixel((i,j))
但是要小心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")
但是要小心jpeg,因为jpeg会丢失很多数据。如果您想保持每个像素的值而不丢失压缩,那么您应该使用png。有关更多信息,请参阅此问题(其中也包含您最初问题的答案):
PIL changes pixel value when saving
像这样的东西应该能让你开始(不是测试):
相关问题 更多 >
编程相关推荐