利用Guetzli批量压缩图片

今天玩了下谷歌的开源图片压缩工具Guetzli,发现单张图片压缩效果还是不错的,就写了个简单的python脚本,批量压缩图片

前提条件

1.安装好Guetzli,可以使用命令行工具
2.python环境

简单的代码

# -*- coding: utf-8 -*-

import os

dir_name = "你选择的图片文件夹"


def get_file_name(file_dir):
    for root, dirs, files in os.walk(file_dir):
        print(root)
        # print(dirs)
        # print(files)
    return files


files = get_file_name(dir_name)
print(files)
os.chdir(dir_name)
for file in files:
    cmd = "guetzli --quality 85 --verbose " + file + " " + file
    os.system(cmd)
效果


压缩之前

压缩后
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
谷歌在开源社区发布了一款最新的JPEG图片编辑器Guetzli,其压缩能力强大。 ­  谷歌表示,Guetzli在将无损图片转换成JPEG格式的过程中,步骤与传统编辑器(如:libjepg)无异,但通过新型算法对图片的色彩和细腻度进行了优化,从而在画质与文件体积方面取得了完美平衡。 Guetzli,在瑞士德语中是“cookie(曲奇)”的意思,是一个针对数码图像和网页图像的 JPEG 编码器,能够通过产生更小的 JPEG 文件来达到更快的在线体验,并且同时保持与当前浏览器,图像处理应用和 JPEG 标准的兼容性。Google 称 Guetzli 创建高质量的 JPEG 图像文件的大小比当前的压缩方法要再小 35%。 JPEG 图像的视觉质量与它的多阶段压缩过程有关:色彩空间变换,离散余弦变换,以及量化等等。Guetzli 具体针对量化阶段,图像视觉质量损失越多,输出图像尺寸越小。Guetzli 努力通过一个搜索算法,来克服 JPEG 格式的精神视觉模型与 Guetzli 的精神视觉模型之间的差别,以一种更全面更详细的方式来结合色彩感知和视觉掩蔽,从而在最小化损失和最小化图像尺寸中达到平衡。不过,尽管 Guetzli 可以使图像尺寸更小,但创建压缩图像所花费的时间要与目前的方法更长。 上图为 16x16 像素样本,是挂在蓝天下的一根电话线,传统 JPEG 算法经常会遇到的失真状况。左边是未压缩的原图,中间为较小尺寸的 libjpeg,右边是失真更少的 Guetzli 。 Google 还表示在实验中把压缩图像的尺寸设为常数,相比于 libjpeg 输出的图像,在人工评估时大家总是更偏好 Guetzli 产生的图像,即使当 libjpeg 的图像和 Guetzli 的大小相同甚至更大一些。这点让他们觉得压缩速度慢一点也是值得的。       经笔者测试,Guetzli压缩极其耗时,采用单线程,125KB的图片压缩耗时达2分钟。github也有一群用户抱怨压缩极慢,8M的图片耗时20分钟。 看来被广大开发者应用还得解决性能问题才行,这样的耗时很多人都无法接受。 标签:guetzli  libjepg  谷歌
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值