Linux系统下在命令行中压缩JPEG图像的方法
linux  /  管理员 发布于 7年前   118
如今拍照设备(如智能手机、数码相机)拍出来的图片分辨率越来越大。甚至3630万像素的Nikon D800已经冲入市场,并且这个趋势根本停不下来。如今的拍照设备不断地提高着照片分辨率,使得我们不得不压缩后,再上传到有储存限制、带宽限制的云。
事实上,这里有一个非常简单的方法压缩JPEG图像。一个叫“jpegoptim”命令行工具可以帮助你“无损”美化JPEG图像,让你可以压缩JPEG图片而不至于牺牲他们的质量。万一你的存储空间和带宽预算真的很少,jpegoptim也支持“有损”压缩来调整图像大小。
如果要压缩PNG图像,参考这个指南的例子。
安装jpegoptim
Ubuntu, Debian 或 Linux Mint:
复制代码代码如下: $ sudo apt-get install jpegoptim
Fedora:
复制代码代码如下: $ sudo yum install jpegoptim
CentOS/RHEL安装,先开启EPEL库,然后运行下列命令:
复制代码代码如下:$ sudo yum install jpegoptim
无损压缩jpeg图像
为了无损地压缩一副JPG图片,使用:
复制代码代码如下:$ jpegoptim photo.jpg
photo.jpg 2048x1536 24bit N ICC JFIF [OK] 882178 --> 821064 bytes (6.93%), optimized.
注意,原始图像会被压缩后图像覆盖。
如果jpegoptim不能无损美化图像,将不会覆盖它:
复制代码代码如下:$ jpegoptim -v photo.jpg
photo.jpg 2048x1536 24bit N ICC JFIF [OK] 821064 --> 821064 bytes (0.00%), skipped.
如果你想保护原始图片,使用"-d"参数指明保存目录
复制代码代码如下:$ jpegoptim -d ./compressed photo.jpg
这样,压缩的图片将会保存在./compressed目录(以同样的输入文件名)
如果你想要保护文件的创建修改时间,使用"-p"参数。这样压缩后的图片会得到与原始图片相同的日期时间。
复制代码代码如下:$ jpegoptim -d ./compressed -p photo.jpg
如果你只是想看看无损压缩率而不是真的想压缩它们,使用"-n"参数来模拟压缩,然后它会显示出压缩率。
复制代码代码如下: $ jpegoptim -n photo.jpg
有损压缩JPG图像
万一你真的需要要保存在云空间上,你还可以使用有损压缩JPG图片。
这种情况下,使用"-m<质量>"选项,质量数范围0到100。(0是最好质量,100是最差质量)
例如,用50%质量压缩图片:
复制代码代码如下: $ jpegoptim -m50 photo.jpg
photo.jpg 2048x1536 24bit N ICC JFIF [OK] 882178 --> 301780 bytes (65.79%), optimized.
在牺牲质量的基础上,将会得到一个更小的图片。
一次压缩多张JPEG图像
最常见的情况是需要压缩一个目录下的多张JPEG图像文件。为了应付这种情况,你可以使用接下来的脚本。
复制代码代码如下: #!/bin/sh
# 压缩当前目录下所有*.jpg文件
# 保存在./compressed目录
# 并拥有与原始文件同样的修改日期
for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号