资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
用 ImageMagick 命令行处理图片ImageMagick 是强大的图像处理工具,他的强大之处在于 Linux 与生俱来的命令行特性,基于命令行的一系列工具可以让你完成、处理常见的图像操 作,诸如生成缩略图,缩放,查看信息,加注标题,水印等等,功能上绝不亚于很多自诩出色 GUI 工具,学习使用ImageMagick 是有益的,至少可以体 会 CLI 的强大和简洁的行事风格。这里列举一些使用ImageMagick 的例子来说明如何在命令行界面下处理图像。确信你的 Linux 装有 ImageMagick 的最快方法是rpm -qi ImageMagick(如果你的系统不是基于 RPM 的,请执行display 或 animate 命令,确保你是在 X Windows 环境下)生成缩略图和缩放!ImageMagick 的 convert 命令简直是万能的!生成缩略图,convert -sample 100x20 input.jpg output.jpg上述命令生成一个 100x20 的缩略图更好的方法是用等比例缩放,像这样,统一生成 14 的缩略图,convert -sample 25%x25% input.jpg output.jpg如果写成脚本,就是像这个样子,for img in ls *.jpgdo convert -sample 25%x25% $img thm$imgdone这样可以对一个目录下的 JPG 文件一起生成缩略图了!convert 还可以直接用来生成图片,这个在一些特殊的时候有用,例如,可以用下面的命令生成法国国旗图案,convert -size 20x40 xc:red xc:white xc:blue +append flag.png转化图像格式就更加方便,convert input.png output.jpg这就是 Linux,简单直接!还有旋转,convert -rotate 90 input.jpg output.jpg还有加注图片,convert -font fonts/font.ttf -stroke color -fill color -pointsize size -draw text 10,10 String input.jpg output.jpg-font 指定字体,因为这样我加注文字,-stroke 描边用的颜色,-fill 填充用的颜色,这里用 none 就可以画出空心字了,-pointsize 加注字体大小,像素数,-draw 是用来画,这里是文字,下面的位置 10,10 是以图片左上角为原点坐标的。convert 还可以做出很多其他的艺术效果,这里不再详述,可以参见相关手册。用 convert 给图片加边框convert -raise 5x5 input.jpg output.jpgconvert +raise 5x5 input.jpg output.jpg以上命令分别用,边缘颜色的来达到处理边缘的效果!convert -bordercolor red -border 5x5 input.jpg output.jpg简单的加上 5 个像素宽的红边!其他的边框会比这个复杂,包括参数 mattecolor 的使用等等,参见相关手册。composite 来组合图片,例如,composite gravity SouthEast toplogo.png image.png image_logo.jpg图片底部是 South,右边是 East。ImageMagick 包括一组命令行工具来操作图片。你大部份习惯每次编辑图片都提供图形用户接口 (GUI) 编辑图像就像 GIMP 和 PhotoShop 一样。 然而,一个图形用户接口不总是方便的。 假如你想要从一个网页动态地处理一个图像,或者你在不同时间生成一样的或不同的图像,想要对许多图像或重复特定应用相同的操作。 对于操作的这些类型,处理公用程序命令行工具是一个好的选择。在下面的段落中,可以找到命令行工具的简单短描述。点击程序名称可以得到关于这个程序的具体用法。 如果你想得到更多的关于 ImageMagick,请仔细阅读以下命令行工具的使用方法:convert转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,生成缩略图等。identify描述一个或较多图像文件的格式和特性。mogrify按规定尺寸制作一个图像,模糊,裁剪,抖动等。Mogrify 改写最初的图像文件然后写到一个不同的图像文件。composite根据一个图片或多个图片组合生成图片。montage创建一些分开的要素图像。在含有要素图像任意的装饰图片,如边框、结构、图片名称等。compare在算术上和视觉上评估不同的图片及其它的改造图片。display如果你拥有一个 X server 的系统,它可以按次序的显示图片animate利用 X server 显示动画图片import在 X server 或任何可见的窗口上输出图片文件。 你可以捕获单一窗口,整个的荧屏或任何荧屏的矩形部分。conjure解释执行 MSL (Magick Scripting Language) 写的脚本。ImageMagick 是一个强大的命令行图像处理软件,配合 dos 命令,就可以批量对大量图片进行处理了。可以去官方网站 http:/www.imagemagick.org 下载最新版本的 ImageMagick,安装后就可以在 dos 窗口中采用 convert 命令对图片进行转换了,命令格式如下:convert +/-命令和命令的参数 * 其中命令的执行是有顺序的,按照从左至右的顺序依次执行,比如:convert 1.jpg -crop 300x300+0+0 -resize 200x200 -colors 100 +profile * 1.png表示:把 1.jpg 先从左上角(0,0)裁剪一块 300x300 的部分,然后把这部分缩小到 200x200,然后把颜色缩减到 100 色,最后生成 1.png。+profile *意味着在图片文件里不存储附加信息,以减小图片体积。注意,-resize 会试图保留原图的视觉比例,因此不一定生成的图片和你指定的尺寸一定匹配,比如,如果 2.jpg 大小是 400x200,那么如果用下面的命令:convert 2.jpg -resize 100x100 2.png那么生成的图片 2.png 的实际大小是 100x50。常用的命令有:-crop 宽 x 高+起点横坐标+ 起点纵坐标:裁剪图-resize 宽 x 高! :改变尺寸,如果使用惊叹号,表示不保留视觉比例,强行改变尺寸匹配给定的宽和高-colors 颜色数:设定图片采用的颜色数,如果是生成 png 或 gif 图片应指定这个参数-quality 质量:设定 jpeg 图片输出质量,推荐采用 80,此命令仅用于输出格式是 jpg 的情况,不应省略,省略的话默认质量是 95,生成图片过大+profile *:图片中不存储附加信息,必须使用,否则生成图片过大配合 dos 命令就可以进行批量处理了,可以采用批处理文件或者使用 for 循环,对于简单的操作,推荐采用 for 循环,使用方法举例:for %I in (*.jpg) do convert %I -resize 200x200 -colors 20 +profile * %nI.png把当前目录下所有 jpg 文件改变大小到 200x200,并降低颜色到 20 色,生成对应的 png 文件,for 命令的详细解释请使用 for /?查看。Image MagicK 是一个强大的图象处理工具包。它提供了几个非常方便的命令行命令: display, animate,import, montage,mogrify,identify 等,可以进行图象的显示,缩放,旋转,调色,加框,加注释等,还能制作 GIF 动画,图象索引,能自动生 成图象. 制作索引图和动画 !/bin/bashmontage -bordercolor red -borderwidth 3 -label %f -tile 5x3 *.JPG montage.jpgmogrify -format gif *.JPGdisplay montage.jpganimate *.JPG缩放 convert -sample 80x40 input.jpg output.jpg #注意:缩放后图像保持原来的长宽比例 convert -sample 25%x25% input.jpg output.jpg 为当前目录的所有图像生成缩略图 for img in ls *.jpgdoconvert -sample 25%x25% $img thumb-$imgdone获取文件信息 libtiff tiffinfo filename.tiffpnginfo filename.png可以使用 ImageMagick 的 identify identify -verbose sample.png identify -format %wx%h sample.png 旋转图像 convert -rotate 90 input.jpg output.jpg更改文件类型 convert input.jpg output.png为图像增加注释文字 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 特殊效果 convert -charcoal 2 input.jpg output.jpg #炭笔convert -colorize 255 input.jpg output.jpg #着色 可以指定三种颜色 red/green/blueconvert -implode 4 input.jpg output.jpg #内爆效果convert -solarize 42 input.jpg output.jpg #曝光,模拟胶片曝光convert -spread 5 input.jpg output.jpg #随机移动,参数是位移大小一次执行多个操作 convert -sample 25%x25% -spread 4 -charcoal 4 input.jpg output.jpg topImageMagick FAQ 摘要如何让 animate 在显示图片的过程保持窗口的标题不变 animate -title My Image Sequence images.import 抓得的图片与 X 服务器上显示的不一致怎么办? import -descend image.miff如何动画显示 YUV 图片序列? animate -geometry 352x240 -scene 0-71 yuv3:frame%d如果只看一个 RGB 图片的红色通道(red channel)? display -gamma 1.0,0.0,0.0 image.miff如何改变 PostScript 默认纸张大小 ?要改变默认的 612x792 大小,修改 magick/image.h 中的 PSPageGeometry 的值并重编译. 如何自左至右无边无框无文字半三幅画连接在一起? convert +append image1.pp
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号