周末出去玩,照了幾張數位相片。上傳到網上之前需要縮小一下,以前在Windows裡都是用"光影魔術手",在Linux下如何完成這個工作呢?我開始是用GIMP一張的轉,但太麻煩了,GIMP支援批處理指令碼的,Google要害詞"gimp-image-scale"可以找到一些這方面的指令碼。不過更方便的是用Image
Magick這個命令列影像處理軟體
先用如下命令裝上Image Magick:
sudo apt-get install imagemagick
縮圖方法一:convert -resize 50%x50% photos\*.JPG small\
這種方法轉成的圖片的檔案名稱變成了數字,假如希望原檔案名稱不變,可以用如下命令(實際上是一個四行合為一行的指令碼)。
縮圖方法二:for img in `ls photos\*.JPG`; do convert -resize 50%x50% $img
small-$img; done
感覺要比如以前Windows下的軟體方便多了。
註:我之前曾象資料裡用-sample參數,而非-resize。但前者可能不僅縮放了大小,還壓縮了映像,所以我對縮小後的圖片品質不太滿足。用convert
-h可以顯示其所有參數,我後來選用了-resize。
後續。。。
過了兩天,我看到一篇文章,ubuntu內建的gThumb也可以縮小圖片的。我一看,果然。它是介面操作,感覺還是沒有convert的命令列來得快。不過,如果你只是偶然縮小一片,也就不必去裝其他軟體了,就用內建的gThumb好了。使用方法如下:
啟動:我習慣進入到圖片目錄(我裝了一個快速進入終端的右鍵菜單),然後用命令列啟動:
gthumb
*.JPG。這樣一啟動gthumb所有圖片都在那了。當然,也可以用主菜單"應用程式->映像->gThumb映像瀏覽器"來啟動,再選擇圖片。
全選所有圖片,然後"工具->scale
images....",重選一個儲存目標。接下去就不用說了。
Ubuntu論壇的原文資料複製如下:
mage MagicK 是一個強盛的圖象處理工具包。它提供了幾個非常方便的命令列命令:
display animateimport
montagemogrifyidentify等,可以進行圖象的顯示,縮放,旋轉,調色,加框,加註釋等,還能製作GIF動畫,圖象索引,能自動產生圖象.
1. 製作索引圖和動畫
!/bin/bash
montage -bordercolor red -borderwidth 3 -label "%f" -tile 5x3 *.JPG
montage.jpg
mogrify -format gif *.JPG
display montage.jpg
animate *.JPG
2. 縮放 convert -sample 80x40 input.jpg output.jpg
#注重:縮放後映像保持原來的長寬比例 convert -sample 25%x25% input.jpg
output.jpg
3. 為目前的目錄的所有映像產生縮圖
for img in `ls *.jpg`
do
convert -sample 25%x25% $img thumb-$img
done
4. 擷取檔案資訊 libtiff
tiffinfo filename.tiff
pnginfo filename.png
5. 可以使用 ImageMagick 的 identify
identify -verbose sample.png
identify -format "%wx%h" sample.png
6. 旋轉映像
convert -rotate 90 input.jpg output.jpg
7. 變更檔類型
convert input.jpg output.png
8. 為映像增加註釋文字
convert -font helvetica -fill white -pointsize 36 \
-draw 'text 1050 "Floriade 2002 Canberra Australia"' \
floriade.jpg comment.jpg
convert -font fonts/1900805.ttf -fill white -pointsize 36 \
-draw 'text 10475 "stillhq.com"' \
floriade.jpg stillhq.jpg
9. 特別效果
convert -charcoal 2 input.jpg output.jpg #炭筆
convert -colorize 255 input.jpg output.jpg #著色 可以指定三種顏色
red/green/blue
convert -implode 4 input.jpg output.jpg #內爆效果
convert -solarize 42 input.jpg output.jpg #曝光,模仿膠片曝光
convert -spread 5 input.jpg output.jpg #隨機移動,參數是位移大小
10. 一次執行多個操作
convert -sample 25%x25% -spread 4 -charcoal 4 input.jpg output.jpg