zoukankan      html  css  js  c++  java
  • ubuntu ImageMagick 图像转换工具

    ImageMagick(简称 IM)是一个支持 GPL 协议的开源免费软件包。
    它由一组命令行工具组成的。
    它可以对超过 100 种的图像格式(包括 DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, 和 TIFF等等),进行读、写、编辑和转换的操作。
    它支持多数主流操作系统,其中包括 UNIX、Mac OS X 和 Windows。
    在ubuntu16.04里面是自带的
    IM 的主页是 http://www.imagemagick.org/ 。你可以在那里下载它的源代码或可执行文件。
    ubuntu下的安装方法:

    sudo apt-get install imagemagick


    先来看看 ImageMagick 能做些什么:

    1、批量旋转、分割,并顺序编号
    2、自动批量切除白边(auto-crop)
    3、自动倾斜校正(deskew)
    4、批量加标注
    5、批量去标注
    6、批量加水印
    7、批量去水印
     
    一、最基本的格式转换


    下面,我将结合与扫书制书有关的图像操作,来说明 IM 的用法。
    前面已经说过,IM 由一组命令行工具组成,具体来说也就是 convert、mogrify、composite、montage、identify、compare、display、animate、stream、import 和 conjure,这 11 个命令。
    其中最常用的,是 convert 和 mogrify。

    1、将 a.gif 转为 png 格式
        convert a.gif a.png
    请注意,convert 命令的基本格式为
        convert 源文件 [参数] 目标文件
    在上面的命令中,源文件是 a.gif,目标文件是 a.png。由于这是最简单的格式转换,所以不需要中间的参数。
    convert 常用于单个文件的转换。上面的命令是它最基本的用法。

    前面说过 IM 支持超过 100 种的文件格式。
    下面的命令,可以列出 IM 所支持的所有格式:
        identify -list format
     
    2、批量文件的格式转换
        mogrify -path newdir -format png  *.gif
    这个命令的作用,是将当前目录下的所有 gif 文件,转换为 png 格式,并将其存放在 newdir 目录下。

    mogrify 是用于批量处理文件的命令。它的基本格式是这样的:
        mogrify 参数 源文件
    mogrify 支持基本的通配符,例如你可以用 a*.png 指代所有以 a 打头的 png 文件,诸如此类。

    再回到刚才的命令:
        mogrify -path newdir -format png  *.gif
    这里的 -path 和 -format 是两个可选择的参数。
    -format 指定输出的文件格式,而 -path 则指定输出的文件目录。

    我在这里先强调一下:如果不加 -path 参数的话,mogrify 有可能会覆盖你的源文件,因此强烈推荐在每个 mogrify 命令里都加上 -path 参数,并在执行之前,先检查整个命令正确性。
     
    二、图像的缩放:使用 -resize
    IM 有好几种缩放图像的方法,在这里我只讲最基本的 resize 命令。

    将一个200x304大小的图像缩小为100x152(长宽各缩短一半)。
        convert page200.png -resize 100x152 page100.png
    上面的 100x152,指定了目标文件的长和宽。

    你也可以只指定目标文件宽度,这样它的高度会等比例放大:
        convert page200.png -resize 100 page100.png
    或者只指定高度:
        convert page200.png -resize x152 page100.png
    以上三句命令,其结果都是一样的。

    你可以用 identify 命令来显示图像的尺寸以及其它一些信息:
        identify page100.png
    其结果为:

    page100.png PNG 100x152 100x152+0+0 8-bit DirectClass 17.9kb

    最后,你还可以通过指定百分比来缩放图像:
        convert page200.png -resize 50% page100.png
        convert page200.png -resize 150% page300.png
    批量缩放图像
        mogrify -path newdir -resize 200% *.png
    这句命令的意思是将当前目录中所有的 png 文件都放大一倍,并存放到 newdir 目录中。

    参考文档:

    http://www.imagemagick.org/script/index.php

  • 相关阅读:
    HDU_5372 树状数组 (2015多校第7场1004)
    《 字典树模板_递归 》
    《神、上帝以及老天爷》
    《Crazy tea party》
    UVA_ Overflow
    UVA_If We Were a Child Again
    UVA_Product
    UVA_Integer Inquiry
    你也可以屌到爆的这样敲代码当黑客!
    大数相加_原创
  • 原文地址:https://www.cnblogs.com/dylancao/p/9517168.html
Copyright © 2011-2022 走看看