发布于2019-09-11 19:42 阅读(554) 评论(0) 点赞(10) 收藏(0)
我想直接使用压缩的JPEG图像。我知道使用PIL / Pillow我可以在保存时压缩图像,然后回读压缩图像 - 例如
from PIL import Image
im1 = Image.open(IMAGE_FILE)
IMAGE_10 = os.path.join('./images/dog10.jpeg')
im1.save(IMAGE_10,"JPEG", quality=10)
im10 = Image.open(IMAGE_10)
但是,我想要一种方法来做到这一点,而无需无关的写和读。是否有一些Python包带有一个函数,它将图像和质量数作为输入并返回具有给定质量的图像的jpeg版本?
对于内存文件类的东西,你可以使用StringIO
。看一看:
from io import StringIO # "import StringIO" directly in python2
from PIL import Image
im1 = Image.open(IMAGE_FILE)
# here, we create an empty string buffer
buffer = StringIO.StringIO()
im1.save(buffer, "JPEG", quality=10)
# ... do something else ...
# write the buffer to a file to make sure it worked
with open("./photo-quality10.jpg", "w") as handle:
handle.write(buffer.contents())
如果您检查photo-quality10.jpg
文件,它应该是相同的图像,但JPEG压缩设置的质量为10%。
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/108049/a34f18d9af2ee0b47172/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!