ImageMagick不僅僅是圖像查看器,還提供了多種圖像編輯工具和選項。
本教程將詳細介紹如何在 ImageMagick 中使用 display 命令和其他命令行工具。 -- Greg Pittman本文導航
-display 命令 …… 08%
-convert 命令 …… 45%
-montage 命令 …… 77%
編譯自: https://o/article/17/8/imagemagick作者: Greg Pittman
譯者: geekpi
了解使用此輕量級圖像編輯器查看和修改圖像的常見方法。
在最近一篇關于輕量級圖像查看器[1]的文章中,作者 Scott Nesbitt 提到了 display,它是 ImageMagick[2] 中的一個組件。ImageMagick 不僅僅是一個圖像查看器,它還提供了大量的圖像編輯工具和選項。本教程將詳細介紹如何在 ImageMagick 中使用 display 命令和其他命令行工具。
現(xiàn)在有許多優(yōu)秀的圖像編輯器可用,你可能會想知道為什么有人會選擇一個非 GUI 的、基于命令行的程序,如 ImageMagick。一方面,它非??煽?。但更大的好處是,它允許你建立一個以特定的方式編輯大量圖像的方式。
這篇對于常見的 ImageMagick 命令的介紹應該讓你入門。
display 命令
讓我們從 Scott 提到的命令開始:display。假設你有一個目錄,其中有很多想要查看的圖像。使用以下命令開始 display:
cd Picturesdisplay *.JPG
這將按照字母數(shù)字順序順序加載你的 JPG 文件,每張放在一個簡單的窗口中。左鍵單擊圖像可以打開一個簡單的獨立菜單(ImageMagick 中唯一的 GUI 功能)。
display menu
你可以在 display 菜單中找到以下內(nèi)容:
File 包含選項 Open、Next、Former、Select、Save、Print、Delete、New、Visual Directory 和 Quit。 Select 來選擇要顯示的特定文件,Visual Directory 顯示當前工作目錄中的所有文件(而不僅僅是圖像)。如果要滾動顯示所有選定的圖像,你可以使用 Next 和 Former,但使用鍵盤快捷鍵(下一張圖像用空格鍵,上一張圖像用退格)更容易。
Edit 提供 Undo、Redo、Cut、Copy 和 Paste,它們只是輔助命令進行更具體的編輯過程。 當你進行不同的編輯功能看看它們做什么時 Undo 特別有用。
View 有 Half Size、Original Size、Double Size、Resize、Apply、Refresh 和 Restore。這些大多是不用說明的,除非你在應用其中之一后保存圖像,否則圖像文件不會更改。Resize 會打開一個對話框,以像素為單位,帶有或者不帶尺寸限制,或者是百分比指定圖片大小。我不知道 Apply 會做什么。
Transform 顯示 Crop、Chop、Flop、Flip、Rotate Right、Rotate Left、Rotate、Shear、Roll 和 Trim Edges。Chop 使用點擊拖動操作剪切圖像的垂直或水平部分,將邊緣粘貼在一起。了解這些功能如何工作的最佳方法是操作它們,而不是看看。
Enhance 提供 Hue、Saturation、Brightness、Gamma、Spiff、Dull、Contrast Stretch、Sigmoidal Contrast、Normalize、Equalize、Negate、Grayscale、Map 和 Quantize。這些是用于顏色和調(diào)整亮度和對比度的操作。
效果 有 Despeckle、Emboss、Reduce Noise、Add Noise、Sharpen、Blur、Threshold、Edge Detect、Spread、Shade、Raise 和 Segment。這些是相當標準的圖像編輯效果。
F/X 選項有 Solarize、Sepia Tone、Swirl、Implode、Vignette、Wave、Oil Paint 和 Charcoal Draw,在圖像編輯器中也是非常常見的效果。
Image Edit 包含 Annotate、Draw、Color、Matte、Composite、Add Border、Add Frame、Comment、Launch 和 Region of Interest。Launch _ 將打開 GIMP 中的當前圖像(至少在我的 Fedora 中是這樣)。 _Region of Interest 允許你選擇一個區(qū)域來應用編輯。按下 Esc 取消選擇該區(qū)域。
Miscellany 提供 Image Info、Zoom Image、Show Preview、Show Histogram、Show Matte、Background、Slide Show 和 Preferences。 Show Preview 似乎很有趣,但我努力讓它工作。
Help 有 Overview、Browse Documentation 和 About Display。 Overview 提供了大量關于 display 的基本信息,并且包含大量內(nèi)置的鍵盤快捷鍵,用于各種命令和操作。在我的 Fedora 中,Browse Documentation 沒有作用。
雖然 display 的 GUI 界面提供了一個稱職的圖像編輯器,但 ImageMagick 還提供了 89 個命令行選項,其中許多與上述菜單項相對應。例如,如果我顯示的數(shù)碼相片目錄中的圖像大于我的屏幕尺寸,我不用在顯示后單獨調(diào)整大小,我可以指定:
display -resize 50% *.JPG
上面菜單中的許多操作都可以通過在命令行中添加一個選項來完成。但是還有其他的選項在菜單中沒有,包括 -monochrome,將圖像轉(zhuǎn)換為黑白(不是灰度),還有 -colors,你可以指定在圖像中使用多少種顏色。例如,嘗試這些:
display -resize 50% -monochrome *.JPG
display -resize 50% -colors 8 *.JPG
這些操作會創(chuàng)建有趣的圖像。試試增強顏色或進行其他編輯后減少顏色。記住,除非你保存并覆蓋它們,否則原始文件保持不變。
convert 命令
convert 命令有 237 個選項 - 是的, 237 個! - 它提供了你可以做的各種各樣的事情(其中一些 display 也可以做)。我只會覆蓋其中的幾個,主要是圖像操作。你可以用 convert 做的兩件簡單的事情是:
convert DSC_0001.JPG d
convert *.bmp *.png
第一個命令將單個文件(DSC_0001)從 JPG 轉(zhuǎn)換為 PNG 格式,而不更改原始文件。第二個將對目錄中的所有 BMP 圖像執(zhí)行此操作。
如果要查看 ImageMagick 可以使用的格式,請輸入:
identify -list format
我們來看幾個用 convert 命令來處理圖像的有趣方法。以下是此命令的一般格式:
convert inputfilename [options] outputfilename
你有多個選項,它們按照從左到右排列的順序完成。
以下是幾個簡單的選項:
convert monoc -monochrome monoc
monochrome example
convert DSC_0008.jpg -charcoal 1.2 c
charcoal example
-monochrome 選項沒有關聯(lián)的設置,但 -charcoal 變量需要一個相關因子。根據(jù)我的經(jīng)驗,它需要一個小的數(shù)字(甚至小于 1)來實現(xiàn)類似于炭筆繪畫的東西,否則你會得到很大的黑色斑點。即使如此,圖像中的尖銳邊緣也是非常明顯的,與炭筆繪畫不同。
現(xiàn)在來看看這些:
convert DSC_0032.JPG -edge 3 edge_demo.jpg
convert DSC_0032.JPG -colors 4 reduced4_demo.jpg
convert DSC_0032.JPG -colors 4 -edge 3 reduced+edge_demo.jpg
edge and reduced colors example
原始圖像位于左上方。在第一個命令中,我使用了一個 -edge 選項,設置為 3(見右上角的圖像) - 對于我的喜好而言小于它的數(shù)字都太精細了。在第二個命令(左下角的圖像)中,我們將顏色的數(shù)量減少到了 4 個,與原來沒有什么不同。但是看看當我們在第三個命令中組合這兩個時,會發(fā)生什么(右下角的圖像)!也許這有點大膽,但誰能預期到從原始圖像或任何一個選項變成這個結(jié)果?
-canny 選項提供了另外一個驚喜。這是另一種邊緣檢測器,稱為“多階算法”。單獨使用 -canny 可以產(chǎn)生基本黑色的圖像和一些白線。我后面跟著一個 -negate 選項:
convert DSC_0049.jpg -canny 0x1 -negate canny_egret.jpgconvert DSC_0023.jpg -canny 0x1 -negate canny_
canny demo
這有點極簡主義,但我認為它類似于一種筆墨繪畫,與原始照片有相當顯著的差異。它并不能用于所有圖片。一般來說,它對有銳利線條的圖像效果最好。不是焦點的元素可能會消失。注意白鷺圖片中的背景沙灘沒有顯示,因為它是模糊的。同樣注意下船舶圖片,雖然大多數(shù)邊緣顯示得非常好,因為沒有顏色,我們失去了圖片的整體形象,所以也許這可以作為一些數(shù)字著色,甚至在印后著色的基礎。
montage 命令
最后,我想談一下 montage (蒙太奇)命令。我已經(jīng)在上面展示了這個例子,我將單個圖像組合成復合圖片。
這是我如何生成炭筆的例子(請注意,它們都在一行):
montage -label %f DSC_0008.jpg c -geometry +10+10-resize 25% -shadow -title 'charcoal demo' c
-label 選項會在每個圖像下方標記它的文件名(%f)。不用 -geometry 選項,所有的圖像將是縮略圖大?。?20 像素寬),+10+10 負責邊框大小。接下來,我調(diào)整了整個最終組合的大?。?resize 25%),并添加了一個陰影(沒有設置,因此是默認值),最后為這次 montage 操作創(chuàng)建了一個標題(-title)。
你可以將所有圖像名稱放在最后,最后一個圖像的名稱將是 montage 操作所保存的文件名。這可用于為命令及其所有選項創(chuàng)建別名,然后我可以簡單地鍵入該別名、輸入適當?shù)奈募纯?。我偶爾會這么做來減少 montage 操作需要輸入的命令長度。
在 -canny 的例子中,我對 4 張圖像進行了蒙太奇操作。我添加了 -tile 選項,確切地說是 -tile 2x,它創(chuàng)建了有兩列的蒙太奇。我可以指定一個 matrix、-tile 2x2 或 -tile x2 來產(chǎn)生相同的結(jié)果。
ImageMagick 還有更多可以了解,所以我打算寫更多關于它的文章,甚至可能使用 Perl[3] 腳本運行 ImageMagick 命令。ImageMagick 具有豐富的文檔[4],盡管該網(wǎng)站在示例或者顯示結(jié)果上還不足,我認為最好的學習方式是通過實驗和更改各種設置和選項來學習。
(題圖: o)
作者簡介:
Greg Pittman - Greg 是肯塔基州路易斯維爾的一名退休的神經(jīng)科醫(yī)生,對計算機和程序設計有著長期的興趣,從 1960 年代的 Fortran IV 開始。當 Linux 和開源軟件相繼出現(xiàn)時,他開始學習更多,并最終做出貢獻。他是 Scribus 團隊的成員。
via: https://o/article/17/8/imagemagick
作者:Greg Pittman[5] 譯者:geekpi 校對:wxy
本文由 LCTT 原創(chuàng)編譯,Linux中國 榮譽推出
點擊“了解更多”可訪問文內(nèi)鏈接
1.《convert命令,干貨看這篇!ImageMagick 入門:使用命令行來編輯圖片》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《convert命令,干貨看這篇!ImageMagick 入門:使用命令行來編輯圖片》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/2487616.html