分类: LINUX
2008-08-29 14:16:49
周末出去玩,照了几张数码相片。上传到网上之前需要缩小一下,以前在Windows里都是用"光影魔术手",在Linux下如何完成这个工作呢?我开始是用GIMP一张的转,但太麻烦了,GIMP支持批处理脚本的,Google关键词"gimp-image-scale"可以找到一些这方面的脚本。不过更方便的是用ImageMagick这个命令行图像处理软件。
先用如下命令装上ImageMagick:
sudoapt-getinstallimagemagick
缩图方法一:convert-resize50%x50%photos\*.JPGsmall\
这种方法转成的图片的文件名变成了数字,如果希望原文件名不变,可以用如下命令(实际上是一个四行合为一行的脚本)。
缩图方法二:forimgin`lsphotos\*.JPG`;doconvert-resize50%x50%$imgsmall-$img;done
感觉要比如以前Windows下的软件方便多了。
注:我之前曾象资料里用-sample参数,而非-resize。但前者可能不仅缩放了大小,还压缩了图像,所以我对缩小后的图片质量不太满意。用convert-h可以显示其所有参数,我后来选用了-resize。
--------------------------------------------------------------------------------------------------------
mageMagicK是一个强大的图象处理工具包。它提供了几个非常方便的命令行命令:display,animate,import,montage,mogrify,identify等,可以进行图象的显示,缩放,旋转,调色,加框,加注释等,还能制作GIF动画,图象索引,能自动生成图象.
1.制作索引图和动画
!/bin/bash
montage-bordercolorred-borderwidth3-label"%f"-tile5x3*.JPGmontage.jpg
mogrify-formatgif*.JPG
displaymontage.jpg
animate*.JPG
2.缩放convert-sample80x40input.jpgoutput.jpg#注意:缩放后图像保持原来的长宽比例convert-sample25%x25%input.jpgoutput.jpg
3.为当前目录的所有图像生成缩略图
forimgin`ls*.jpg`
do
convert-sample25%x25%$imgthumb-$img
done
4.获取文件信息libtiff
tiffinfofilename.tiff
pnginfofilename.png
5.可以使用ImageMagick的identify
identify-verbosesample.png
identify-format"%wx%h"sample.png
6.旋转图像
convert-rotate90input.jpgoutput.jpg
7.更改文件类型
convertinput.jpgoutput.png
8.为图像增加注释文字
convert-fonthelvetica-fillwhite-pointsize36\
-draw''text10,50"Floriade2002,Canberra,Australia"''\
floriade.jpgcomment.jpg
convert-fontfonts/1900805.ttf-fillwhite-pointsize36\
-draw''text10,475"stillhq.com"''\
floriade.jpgstillhq.jpg
9.特殊效果
convert-charcoal2input.jpgoutput.jpg#炭笔
convert-colorize255input.jpgoutput.jpg#着色可以指定三种颜色red/green/blue
convert-implode4input.jpgoutput.jpg#内爆效果
convert-solarize42input.jpgoutput.jpg#曝光,模拟胶片曝光
convert-spread5input.jpgoutput.jpg#随机移动,参数是位移大小
10.一次执行多个操作
convert-sample25%x25%-spread4-charcoal4input.jpgoutput.jpg