GraphicsMagick - Linux 上強大的影像處理命令列工具


簡介

在當今時代,影像在我們的日常生活中扮演著重要的角色。我們使用它們來溝通、表達我們的創造力,甚至進行科學研究。

然而,隨著每天產生的數字影像數量不斷增加,需要高效的工具來管理和處理這些影像。這就是 GraphicsMagick 的用武之地。

GraphicsMagick 入門

Linux 上的安裝過程

在使用 GraphicsMagick 之前,您需要確保它已安裝在您的 Linux 系統上。安裝過程因您使用的發行版而異。

例如,在基於 Ubuntu 和 Debian 的系統上,您可以使用以下命令在終端中安裝 GraphicsMagick:

sudo apt-get install graphicsmagick  

在其他發行版(如 Fedora 和 CentOS)上,您可以使用這些系統附帶的包管理器。或者,您可以從其網站下載 GraphicsMagick 的原始碼並手動編譯它。

基本的命令列用法和語法

安裝 GraphicsMagick 後,使用它就像開啟終端視窗並鍵入命令一樣簡單。執行 GraphicsMagick 命令的基本語法為:

gm [options] command [command-options] [input-files]  

`gm` 命令後跟修改其行為的選項,例如 `-help` 用於顯示幫助資訊或 `-version` 用於檢查系統上安裝的 GraphicsMagick 的當前版本。在選項之後是 GraphicsMagick 將執行的實際命令或操作,例如 `convert`、`resize`、`crop` 等。

瞭解 GraphicsMagick 支援的檔案格式

GraphicsMagick 支援廣泛的影像檔案格式,包括 JPEG、PNG、GIF、BMP、TIFF 等流行格式,以及一些鮮為人知的格式,如 PNM(行動式任意圖)、PCD(柯達 Photo CD)、PCX(IBM PC 畫筆)等。它還支援原始相機格式,如 CR2(佳能 RAW 版本 2)、NEF(尼康電子格式)以及來自各種相機制造商的其他格式。

這使得它成為攝影師和其他使用數字影像的專業人士的多功能工具。除了處理影像檔案外,GraphicsMagick 還可以讀取和寫入 PDF 文件,這使得它可用於將 PDF 頁面轉換為單個影像檔案或將多個影像合併到單個 PDF 文件等任務。

使用 GraphicsMagick 進行影像處理

影像縮放、裁剪和旋轉

GraphicsMagick 提供了廣泛的影像處理技術,允許使用者調整影像大小、裁剪和旋轉影像。要使用 GraphicsMagick 調整影像大小,使用者只需指定影像的新尺寸(以畫素或百分比表示)。

gm convert input_image.jpg -resize 800x600 output_image.jpg

此命令將“input_image.jpg”調整為寬度 800 畫素,高度 600 畫素,並將輸出儲存為“output_image.jpg”。

gm convert input_image.jpg -crop 400x300+100+50 output_image.jpg

此命令從“input_image.jpg”裁剪一個大小為 400x300 畫素的區域,從座標 (100, 50) 開始,並將輸出儲存為“output_image.jpg”。

gm convert input_image.jpg -rotate 90 output_image.jpg

此命令將“input_image.jpg”順時針旋轉 90 度,並將輸出儲存為“output_image.jpg”。

顏色校正和處理

GraphicsMagick 提供了強大的工具來處理影像中的顏色。使用者可以透過使用命令列引數指定這些引數的值來調整亮度/對比度設定。

GraphicsMagick 還允許更改各個顏色通道的飽和度級別(分別為紅色/綠色/藍色)。除此之外,GraphicsMagick 還提供了用於自動顏色校正的複雜演算法。

gm convert input_image.jpg -brightness-contrast 20x10 -gamma 1.2 -modulate 120,150,100 output_image.jpg

向影像新增文字或水印

水印是線上使用的照片的重要補充,因為它們允許攝影師保護他們的作品免受版權侵犯或盜竊。藉助 GraphicsMagick 的“composite”命令選項,使用者可以輕鬆地在其照片上新增水印或文字疊加。

GraphicsMagick 中的複合命令使使用者能夠指定他們希望新增水印/文字疊加的位置 (x,y);這可以透過相對於四個角之一或中心位置來完成。

這是一個示例命令,將帶有“Sample Watermark”文字的紅色水印新增到名為“input.jpg”的影像中,並將其儲存為“output.jpg”:

gm convert input.jpg -fill "red" -pointsize 30 -draw "text 10,10 'Sample Watermark'" output.jpg

請確保根據您的要求調整座標 (x 和 y) 和其他引數。

GraphicsMagick 的高階功能

一次批次處理多個影像

GraphicsMagick 的批次處理功能允許您使用單個命令同時處理多個影像。當處理大量影像或時間緊迫時,這尤其有用。

要使用此功能,請建立一個文字檔案,其中列出要處理的所有影像的名稱。然後,執行以下命令:

gm batch -file [text_file_name] [command]. 

我們可以建立一個名為“resize_and_compress.txt”的文字檔案,列出所有這些影像,並執行以下命令:

gm batch -file resize_and_compress.txt -resize 800x600 -quality 80. 

這將把所有列出的影像調整為 800x600,並將它們的質量級別設定為 80。

從影像序列建立動畫 GIF 或影片檔案

GraphicsMagick 還提供了一個強大的動畫功能,允許您從影像序列建立動畫 GIF 或影片檔案。這非常適合建立簡單的動畫或延時影片。要從影像序列建立動畫 GIF,只需執行以下命令:

gm convert -delay 10 -loop 0 *.jpg output.gif. 

`-delay` 引數指定每個幀應顯示多長時間(以十分之一秒為單位),`-loop` 引數告訴 GraphicsMagick 是否無限迴圈 (0) 或只播放一次 (1)。`*.jpg` 引數列出當前目錄中的所有 JPEG 檔案,而 `output.gif` 指定輸出檔名。

在不同的影像格式之間轉換

GraphicsMagick 支援各種影像格式,包括 JPEG、PNG、GIF、BMP、TIFF 等。但是,有時您可能需要將影像從一種格式轉換為另一種格式。

要使用 GraphicsMagick 執行此操作,只需執行以下命令:

gm convert [input_file] [output_file]

其中 `[input_file]` 是輸入檔案的名稱,`[output_file]` 是輸出檔案的所需名稱。GraphicsMagick 將根據其副檔名自動檢測輸入檔案格式,並根據指定的副檔名將其轉換為相應的輸出格式。

例如,假設您有一個名為“input.jpg”的 JPEG 格式影像,並且您想將其轉換為 PNG 格式並將其儲存為“output.png”。您將使用以下命令:

gm convert input.jpg output.png

這會將影像從 JPEG 格式轉換為 PNG 格式,並將其儲存為當前目錄中的“output.png”。

GraphicsMagick 的利基應用

在 Web 開發中使用 GraphicsMagick 最佳化 Web 影像

在當今的數字世界中,快速響應的網站對於吸引訪問者並保持他們的興趣至關重要。但是,大型影像檔案會大大降低網站載入速度,並對使用者體驗產生負面影響。

這就是 GraphicsMagick 發揮作用的地方。憑藉其強大的影像最佳化功能,GraphicsMagick 可以減少影像檔案大小,同時保持視覺質量,使其成為 Web 開發人員的理想工具。

GraphicsMagick 提供了幾項功能,使 Web 開發人員能夠高效地最佳化 Web 影像。例如,該工具可以將影像調整為指定尺寸,而不會扭曲其縱橫比或降低解析度質量。

在科學研究中使用 GraphicsMagick 分析和處理影像

GraphicsMagick 也廣泛用於科學研究,以分析和處理表示為影像的複雜資料集。該工具提供了高階視覺化功能,使研究人員能夠以前所未有的細節直觀地探索資料。例如,研究人員使用 GraphicsMagick 生成具有多個維度的資料集的 2D 或 3D 圖,以及建立資訊豐富的圖形,如散點圖或熱圖。

結論

GraphicsMagick 是一個功能強大的 Linux 影像處理命令列工具,它提供了廣泛的功能來處理和最佳化影像。通過了解最佳化影像質量同時最大程度地減少檔案大小的最佳實踐、排除常見問題以及訪問有關高階功能的更多學習資源,您可以最大程度地利用此強大工具。

更新於:2023-08-23

273 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.