Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python PIL保存不同大小的原始图像_Python_Image_Image Processing_Python Imaging Library - Fatal编程技术网

python PIL保存不同大小的原始图像

python PIL保存不同大小的原始图像,python,image,image-processing,python-imaging-library,Python,Image,Image Processing,Python Imaging Library,我正在用python与PIL合作一个项目。 只需打开并保存图像,输出图像就会比原始图像更大(以字节为单位),保持相同的分辨率,我不知道为什么 from PIL import Image img = Image.open("photo.png") img.save("photo2.png", "PNG") 有人知道为什么会这样吗?我需要它们完全相同。PNG是一种压缩无损格式。原始图像可能是使用不同的压缩设置保存的 看看下面的例子,你可以试试: img.save("photo2.png", "P

我正在用python与PIL合作一个项目。 只需打开并保存图像,输出图像就会比原始图像更大(以字节为单位),保持相同的分辨率,我不知道为什么

from PIL import Image
img = Image.open("photo.png")
img.save("photo2.png", "PNG")


有人知道为什么会这样吗?我需要它们完全相同。

PNG是一种压缩无损格式。原始图像可能是使用不同的压缩设置保存的

看看下面的例子,你可以试试:

img.save("photo2.png", "PNG", optimize=True)

默认情况下,使用
compress\u level=6


请注意,
optimize
选项包括将压缩级别设置为9。但它也试图找到最佳的编码器设置。

我想你不会改变图像,否则大小会不同。如果你不改变图像,为什么不复制它呢

shutil.copyfile(source, destination)  

这并没有解决问题。。。实际上,原始图像必须具有不同的压缩设置,这在Python图像库(PIL)中是不可用的。我所做的是使用photo2.png作为原始版本。。。ty任何一个
libpng
库都会丢失除压缩以外的可能设置。PIL可能无法全部使用它们。
shutil.copyfile(source, destination)