我發現多種方式來改變使用convert
圖像的分辨率:ImageMagick轉換中的sample/resample/scale/resize/adaptive-resize/thumbnail運算符有什麼區別?
-sample
-resample
-scale
-resize
-adaptive-resize
-thumbnail
什麼是那些區別?
如果我需要製作具有固定寬高比(裁剪需要)的各種尺寸的大圖片縮略圖 - 我最好的選擇是什麼?
我發現多種方式來改變使用convert
圖像的分辨率:ImageMagick轉換中的sample/resample/scale/resize/adaptive-resize/thumbnail運算符有什麼區別?
-sample
-resample
-scale
-resize
-adaptive-resize
-thumbnail
什麼是那些區別?
如果我需要製作具有固定寬高比(裁剪需要)的各種尺寸的大圖片縮略圖 - 我最好的選擇是什麼?
調整大小
-resize 400x300+20+30
(如下面的-scale
和-sample
實施例)將輸入到其具有400x300
像素尺寸的輸出圖像。它還將輸出向右移動20個像素,向底部移動30個像素。此外,還有幾個差異-scale
:(!應該在命令行之前使用-resize
發生)
-resize
不支持的-filter
的附加設置。
-filter
確定在放大的情況下用於添加像素的顏色的精確算法,或者在縮小的情況下刪除其中一些鄰居時用於剩餘像素的顏色。
有關受支持的篩選器的列表,只需運行convert -list filter
。
-filter point -resize 400x300
創建與-sample 400x300
完全相同的結果,但運行速度仍然較慢。
如果不是旁邊設置(前)-resize
,轉換會悄悄地默認爲-filter Lanczos
這是比較慢的,但其產生更好的質量(因爲它考慮到了任何新添加的那些所有周圍像素的顏色)比-filter point
產生(其使用最近的鄰居規則來確定新添加的像素的顏色)。
樣品
-sample 400x300
的輸入圖像轉換成具有的400x300
像素尺寸的輸出圖像。不過,也有一些非常重要的差異-resize
:
-sample
不支持的-filter
附加設定;如果無論如何設置,則-filter
簡單地被忽略。
放大時(因爲輸入圖像尺寸可能小於400x300
),像素會以塊的形式進行復制。
縮小時(因爲輸入圖像的尺寸可能大於400x300
),像素採用一種非常簡單的算法進行子採樣:某些行和列僅被跳過。
的幾何參數-sample
不支持任何偏移部分(不同於-resize
,其尊重偏移指令的輸出)。
輸出永遠不會有更多的(不同的)顏色比輸入圖像具有;它可能會有更少的顏色。
因此-sample
非常快(比-resize
更快) - 但輸出質量(通常)糟糕的是:你可以很容易地得到輸出結果中極端blocking和aliasing效果。
-sample
的一個重要特徵是新圖像將不包含任何新顏色,儘管原始圖像中的某些顏色可能會消失。
重新採樣
-resample
作爲參數使用期望XxY
分辨率,不不是XxY
像素幾何目標圖像的。該運營商的目的是維護呈現尺寸的圖像的:假設你的形象的措施可使其在300 DPI設備4英寸,3英寸。然後要求一個-resample 72
-resample 72x72
或將調整的圖像,使得它測量(再次)4英寸乘3英寸72 DPI設備上。
該操作僅適用於該已經存儲在其元數據所需的分辨率(不是所有圖像格式都支持的圖像分辨率的概念 - JPEG,PNG和TIFF這樣做)這樣的圖像。
如果源圖像是在用於圖像分辨率內部支撐缺失,則圖像的(假設的)原始分辨率必須通過-density
在命令行上被指定之前到指定-resample
分辨率的格式。
規模
-scale 400x300
產生等效的結果(但是是快的,因爲它避免了所有的濾波處理),爲不使用-filter box -resize 400x300
。它也完全忽略了任何當前的-filter
設置。
縮小文件時,它簡單地通過相應的輸入像素顏色一起求平均置換像素的顏色改變圖像大小。
放大時,它只是複製所需的附加像素的各自輸入像素。
自適應調整
-adaptive-resize 400x300
不支持(或不忽略,如果設置)的偏移的幾何參數的一部分並且還忽略-gravity
設置如果當下。
-filter [something]
覆蓋)默認使用data-dependent triangulation。縮略圖
-thumbnail
作品就像-resize
確實,有一些不同:
它針對速度進行了優化。
它還刪除任何嵌入的顏色配置文件,以減少縮略圖的文件大小。
以下的答案顯示了-resize
指令數(圖示!)的例子。各圖顯示了不同的結果,取決於確切的大小調整方法的 '精細細節':
神奇的解釋!你能詳細說明樣本和重採樣之間的區別嗎? – 2015-07-15 12:17:33
此URL - [ImageMagick的V6實例 - 調整或縮放](HTTP:// www.imagemagick.org/Usage/resize/)應該可以幫到你。 – Harvey 2012-03-29 02:43:25