微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python批量压缩图片大小怎么做?Python如何批量压缩图片

压缩图片并不是说将图片压缩成zip、rar这种格式,而是在不降低图片质量的情况下通过压缩这种方式来减少图片大小。而我们可以使用python开发批量压缩图片大小的程序,下文所介绍的就是这个程序的实现方法,想要学习的可以看一下作为参考资料。

1.那么这个python程序只需要写在py文件之中即可,首先需要导入三个库和模块。分别是用来读取图片的Pillow、将图片转为流式输出的io模块、以及实现动态质量处理的模块dynamic_quality。这几个模块和库全部都是第三方所有的,需要先使用pip工具将它们下载安装好才可以,代码如下:

from PIL import Image
from io import StringIO
import dynamic_quality

2.然后就是调用Image模块之中的方法open来打开图片图片打开之后需要用其调用copy()函数复制出来一个对象才可以,而这个复制出来对象不会对原图像造成影响。然后再使用thumbnail()方法将复制图像缩放到和原图像一样的大小,不过需要设置平滑属性以免图像失真,代码如下:

im = Image.open("photo.jpg")
new_photo = im.copy()
new_photo.thumbnail(im.size,resample=Image.ANTIALIAS)

3.接下来就是实现图片压缩的关键了,定义变量并且给它赋值字典对象,这个字典对象是用来设置动态质量参数的。最后使用这个设置该对象属性quality的值为85或者其他质量数值都可以,并且还可以通过optimize参数以及progressive参数来让图片打开时调用cpu加载减少图片大小,详细代码示例如下:

save_args = {'format':im.format}
if im.format=='JPEG':
  save_args['quality'].value=85
  save_args['optimize']=True
  save_args['progressive=True']=True
new_photo.save("copy_photo.jpg",**save_args)

以上就是关于“Python批量压缩图片大小怎么做?Python如何批量压缩图片”的全部内容了,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐