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

  • 相关阅读:
    是否需要代码规范
    上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?
    作业二--------个人编程项目:四则运算。
    学习进度总结————王烁130201218
    作业一:建立博客、自我介绍、速读教材、学习进度总结
    论实习之后的感悟
    作业九 ——报告及总结
    作业四: 结对编程项目---四则运算
    代码复审
    PSP记录个人项目耗时情况
  • 原文地址:https://www.cnblogs.com/dylancao/p/9517168.html
Copyright © 2011-2022 走看看