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 目錄中。
參考文檔: