Linux下批量缩小图片

简介:
周末出去玩,照了几张数码相片。上传到网上之前需要缩小一下,以前在Windows里都是用"光影魔术手",在Linux下如何完成这个工作呢?我开始是用GIMP一张的转,但太麻烦了,GIMP支持批处理脚本的,Google关键词"gimp-image-scale"可以找到一些这方面的脚本。不过更方便的是用Image Magick这个命令行图像处理软件,我在Ubuntu论坛找到 一篇这方面的文章 .

先用如下命令装上Image Magick: 
sudo apt-get install imagemagick


缩图方法一:convert -resize 50%x50%  photos\*.JPG   small\

这种方法转成的图片的文件名变成了数字,如果希望原文件名不变,可以用如下命令(实际上是一个四行合为一行的脚本)。

缩图方法二:for img in `ls photos\*.JPG`; do convert -resize 50%x50% $img small-$img; done


感觉要比如以前Windows下的软件方便多了。

注:我之前曾象资料里用-sample参数,而非-resize。但前者可能不仅缩放了大小,还压缩了图像,所以我对缩小后的图片质量不太满意。用convert -h可以显示其所有参数,我后来选用了-resize。


后续。。。
过了两天,我看到一篇文章,ubuntu自带的gThumb也可以缩小图片的。我一看,果然。它是界面操作,感觉还是没有convert的命令行来得快。不过,如果你只是偶尔缩小一下图片,也就不必去装其他软件了,就用自带的gThumb好了。使用方法如下:

启动:我习惯进入到图片目录(我装了一个快速进入终端的右键菜单),然后用命令行启动: gthumb *.JPG。这样一启动gthumb所有图片都在那了。当然,也可以用主菜单“应用程序->图像->gThumb图像浏览器”来启动,再选择图片。

全选所有图片,然后“工具->scale images....”,重选一个保存目标。接下去就不用说了。





Ubuntu论坛的原文资料复制如下:

mage MagicK 是一个强大的图象处理工具包。它提供了几个非常方便的命令行命令: display, animate,import, montage,mogrify,identify等,可以进行图象的显示,缩放,旋转,调色,加框,加注释等,还能制作GIF动画,图象索引,能自动生成图象. 

1. 制作索引图和动画 

!/bin/bash 
montage -bordercolor red -borderwidth 3 -label "%f" -tile 5x3 *.JPG montage.jpg 
mogrify -format gif *.JPG 
display montage.jpg 
animate *.JPG 

2. 缩放 convert -sample 80x40 input.jpg output.jpg #注意:缩放后图像保持原来的长宽比例 convert -sample 25%x25% input.jpg output.jpg 
3. 为当前目录的所有图像生成缩略图 

for img in `ls *.jpg` 
do 
convert -sample 25%x25% $img thumb-$img 
done 

4. 获取文件信息 libtiff 

tiffinfo filename.tiff 
pnginfo filename.png 

5. 可以使用 ImageMagick 的 identify 

identify -verbose sample.png 
identify -format "%wx%h" sample.png 

6. 旋转图像 

convert -rotate 90 input.jpg output.jpg 

7. 更改文件类型 

convert input.jpg output.png 

8. 为图像增加注释文字 

convert -font helvetica -fill white -pointsize 36 \ 
-draw 'text 10,50 "Floriade 2002, Canberra, Australia"' \ 
floriade.jpg comment.jpg 
convert -font fonts/1900805.ttf -fill white -pointsize 36 \ 
-draw 'text 10,475 "stillhq.com"' \ 
floriade.jpg stillhq.jpg 

9. 特殊效果 

convert -charcoal 2 input.jpg output.jpg #炭笔 
convert -colorize 255 input.jpg output.jpg #着色 可以指定三种颜色 red/green/blue 
convert -implode 4 input.jpg output.jpg #内爆效果 
convert -solarize 42 input.jpg output.jpg #曝光,模拟胶片曝光 
convert -spread 5 input.jpg output.jpg #随机移动,参数是位移大小 

10. 一次执行多个操作 

convert -sample 25%x25% -spread 4 -charcoal 4 input.jpg output.jpg
目录
相关文章
|
7月前
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
146 0
|
7月前
|
Java Linux Windows
java 图片上绘制文字Graphics2D linux 中文乱码
java 图片上绘制文字Graphics2D linux 中文乱码
257 0
|
4月前
|
Linux
Linux命令行文档查看cat、less、more、head、tail和图片查看
Linux命令行文档查看cat、less、more、head、tail和图片查看
59 0
|
Ubuntu 应用服务中间件 Linux
Linux使用Nginx搭建图片服务器
Linux使用Nginx搭建图片服务器
255 0
|
7月前
|
应用服务中间件 Linux
linux外链的形式访问图片(tomcat访问图片)
linux外链的形式访问图片(tomcat访问图片)
151 0
|
7月前
|
机器人 Linux 数据安全/隐私保护
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
247 0
|
7月前
|
机器人 Linux 数据安全/隐私保护
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)(下)
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
123 0
|
7月前
|
Linux Python Windows
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)(上)
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
82 0
|
SQL 关系型数据库 MySQL
8、Linux C/C++ 实现MySQL的图片插入以及图片的读取
8、Linux C/C++ 实现MySQL的图片插入以及图片的读取
91 0
|
Java Linux 应用服务中间件
Linux搭建图片服务器
Linux搭建图片服务器
164 1