在Linux中批量縮小圖片的技巧 zt

本文內容已被 [ halfsugar ] 在 2007-08-25 04:22:35 編輯過。如有問題,請報告版主或論壇管理刪除.

周末出去玩,照了幾張數碼相片。上傳到網上之前需要縮小一下,以前在Windows裏都是用"光影魔術手",在Linux下如何完成這個工作呢?我開始是用 GIMP一張的轉,但太麻煩了,GIMP支持批處理腳本的,Google關鍵詞"gimp-image-scale"可以找到一些這方麵的腳本。不過更方便的是用Image Magick這個命令行圖像處理軟件,我在Ubuntu論壇找到一篇這方麵的文章.

先用如下命令裝上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, animate,import, montage,mogrify,identify等,可以進行圖象的顯示,縮放,旋轉,調色,加框,加注釋等,還能製作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 10,50 "Floriade 2002, Canberra, Australia"' \

floriade.jpg comment.jpg

convert -font fonts/1900805.ttf -fill white -pointsize 36 \

-draw 'text 10,475 "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

請您先登陸,再發跟帖!