這篇就記一些有用過的情境, 免得每次還要查 user manual.
1. 將含有多頁影像的 TIF 檔分解成一頁一檔案, 注意是 +adjoin, 不是 -adjoin
gm convert largeinputfile.tif +adjoin singlepageoutput%02d.tif
magick convert input.tif output-%04d.png
2. 將圖檔的某一部分截取成為另一個檔案,
多頁型 TIF 也可以產出另一個
多頁型 TIF
gm convert -crop 2580x1818+730+10 original.tif output.tif
.................widthxheight+xoffset+yoffset
3. 原圖轉 90度. 負號為逆時針, 正號順時針, 多頁型 TIF 也可以一次轉所有分頁
gm mogrify -rotate -90 *.tif
magick convert input.png -rotate "-90" output.png
4. 如果要處理大量圖檔, 可以用CMD 的 FOR 指令
例如將 PNG 轉 GIF
FOR %I in (*.png) DO GM convert %I %~nI.gif
%I 會傳回 xxxxxx.png, %~nI 會只取用
xxxxxx
ps. 如果在 batch file 使用 FOR, 其變數要用 %% 來取代 %
5. 有時圖檔會有些歪斜, ImageMagick 有提供自動微調, 可以試
試
magick convert AAA.TIF -deskew 40% BBB.TIF
6. 改變色彩深度
有時不需要用到 24 bits 或是 32bits. 若是想改 8 bits 或是 1 bit?
可以試試
如果圖檔已經是只有黑或白
用 magick convert input.tif -depth 1 output.tif
如果需要一個臨界值
magick convert input.tif -separate -black-threshold 128 -depth 1 output.tif
ps. output.tif 可能會含有數個 channel, 列印時會輸出 2~3頁
另外可以使用 -colors 降低顏色深度, 如 8 bits. 可用如下
magick convert input.png -colors 255 output.png
7. 當 convert 成不同檔案格式時, magick 有時會轉成無壓縮, 這時候需要指定
壓縮方法
-compress type
type 有 None, BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE or Zip.
如果檔案格式不支持你指定的 type. magick 會採用 None
8. 有時候想一個圖檔分割成兩個
圖檔, 例如水平中間從上到下切一刀.
這時候可以用 -crop
水平比例x垂直比例
magick convert input.png -crop 50%x100% output.png
9. 原稿泛黃, 要 OCR容易誤判, 如何去除特定顏色?
這時候可以用 -fuzz 10% "#rrggbb"
顏色值可以用小畫家取得, 濃淡色各幾點, 找中間值.
10% 是
顏色
範圍, 需要實驗求值, 以免刪除要保留的圖文.
convert input.tif -fuzz 20% -fill white -opaque "#fff8cf" output.tif
10. 圖片上傳到 google photo, 會被修改, 想了解跟原圖差多少? 可以用 compare
Mean Square Error (MSE)
gm compare -metric mse original.miff compare.miff
create an annotated difference image use:
gm compare -highlight-style assign -highlight-color purple -file diff.miff original.miff compare.miff
magick compare rose.jpg reconstruct.jpg difference.png
待續...