ImageMagick開源項目-詳細命令解釋

下面是ImageMagick圖形圖像處理軟件命令行工具的命令行參數的詳細說明。如果你需要某個特定參數的說明,在上面的導航欄中單擊對應名稱,就可以直接跳轉到相應位置。除非另有說明,每個命令參數都可以用於convert和mogrify命令。
 
-adaptive-blur radius[xsigma+bias]
自適應像素模糊操作,在邊緣處效果減弱。
採用給定的半徑(radius)和標準差(sigma)進行高斯模糊處理。如果缺少標準差則默認爲1。
 
-adaptive-resize geometry
使用數據依賴的三角濾波進行圖像的尺寸調整。
有關的幾何參數的詳細信息請參閱Image Geometry。-adaptive-resize命令默認使用數據依賴的三角濾波進行圖像的尺寸調整。你也可以用-filter命令來選擇其它的重採樣算法。這個命令不支持geometry中偏移量(offsets)的設置,並且-gravity參數也是無效的
 
-adaptive-sharpen radius[xsigma+bias]
自適應像素銳化操作,在邊緣處增強效果。
採用給定的半徑(radius)和標準差(sigma)進行高斯銳化處理。如果缺少標準差則默認爲1。
 
-adjoin
將圖像文件加入到一個多圖像的文件中。
此選項是默認啓用的,總是嘗試將圖片組中的所有圖像保存到一個輸出文件中。但是部分文件格式如JPEG和PNG,單個文件並不支持多幀圖像,在這種情況 下,ImageMagick將爲每幀圖像單獨生成一個圖像文件。因此,如果需要生成多個圖像文件,將在用戶給定的文件名後添加一個場景編號,以區分不同圖 像文件。
使用+adjoin表示強迫圖像組中的每幀圖像寫入到單獨的文件中,不管文件格式是否允許儲存多幀圖像(例如GIF,MIFF,和TIFF)。
你也可以採用C語言風格的輸出格式編寫,在文件名中加入'%d'或'%03d'的寫法,就會自動產生+adjoin的效果,並在文件名的相應位置處生成編號。例如:
convert logo: rose: -morph 15 mydmorph.jpg
將生成17張圖像文件(logo和rose兩張,以及-morph命令生成的15張),文件名分別爲:my00morph.jpg,my01morph.jpg,my02morph.jpg,... ...,my16morph.jpg。
總之,ImageMagick默認將會嘗試將所有圖像寫入一個文件中,如果存在下列任一情形,則會保存到多個文件中:
1、輸出圖像格式不允許儲存多幀圖像;
2、命令中包含了+adjoin參數;
3、文件名中出現了特定的參數,如"%d"。
 
-affine sx,rx,ry,sy[,tx,ty]
給聯合旋轉和縮放設置圖形變換矩陣。
這個選項將設置一個圖形轉換矩陣,在隨後的-draw或-transform參數中使用。
矩陣中數值之間採用逗號進行分割。
在變換矩陣內部應該有3x3的元素,但其中三個在輸入時應該省略,因爲他們是不變的常數。從原像素座標(X,Y)變換到新座標(X’,Y’)將使用以下的矩陣方程:

由此產生的圖像的大小將是包含轉換源圖像的最小矩形。參數tx和ty將使圖像產生移動,那些移動出圖像區域的部分則被刪除。
變換矩陣遵從左手像素座標系:正向X和Y方向分別向右和向下;正向旋轉方向是順時針。
如果轉換系數tx和ty省略,系統將默認爲0,0。因此,四個參數就可以完成圖像的旋轉和縮放,但是不會產生平移效果。
參數Sx和Sy分別將在X和Y方向上產生縮放效果。
也可以參考-transform和-distort獲得更多的信息。
-affine sx,0,0,sy
平移(tx, ty)可以寫成下面的形式:
-affine 1,0,0,1,tx,ty
順時針旋轉可以表示爲下列形式,其中c = cos(a), s = sin(a):
-affinec,s,-s,c
多次仿射變換的積累效應也可以通過一次變換來完成。
系統默認會檢測鄰近奇異變換矩陣。如果矩陣行列式的絕對值過小,它將會被拒絕。
 
-alpha type
控制圖像的阿爾法通道(透明通道)。
用於控制是否使用現有的阿爾法通道數據,創建一個新的阿爾法通道,或對其執行其他操作。可以從以下列表中選擇參數類型。
類型 描述
Activate(或On) 啓用圖像的透明通道。注意:一般情況下應該使用Set參數對通道進行操作,而不僅僅啓用,除非你特別需要保留現有的透明通道(但不關閉)。
Deactivate(或Off) 禁用圖像的透明通道。不會刪除或更改現有的數據,只是不能使用這些數據。
Set 激活阿爾法通道。如果它以前關閉,那麼它也將重置爲不透明的通道。如果圖像的阿爾法通道已經打開,將不會產生任何效果。
Opaque 啓用阿爾法通道,並設定它是完全不透明。
Transparent 激活阿爾法通道,並設定它是完全透明的。它將有效地創建一個與原圖大小相同的完全透明的圖像,而所有其原有的RGB通道數據保持不變,但完全透明。
Extract 將阿爾法通道的值複製到其它所有的顏色通道並關閉圖像的透明度,這樣才能產生一個圖像形狀的灰度蒙版。阿爾法通道的數據不會改變只是保持未激活狀態。這是“Copy”操作的逆操作。
Copy 打開阿爾法通道,然後複製圖像的灰度值到阿爾法通道,將灰度蒙版轉換成一個具有形狀的透明蒙版,顏色通道值不會被修改。
Shape 和“Copy”操作的效果一樣,並且還會使用背景色對生成的形狀蒙版進行染色。也就是用相應的透明形狀取代RGB顏色通道。
Background 將任何完全透明的像素設置爲背景顏色,而保持它的完全透明。這可以使一些圖像格式文件,例如PNG,透明像素點較少時的RGB值更均勻,從而可以實現更好的壓縮。
注:+matte命令和"-alpha Off"實現的效果一樣,但是-matte和"-alpha Set"的效果一樣,而不等於"-alpha On"。
 
-annotatedegreestext
-annotate XdegreesxYdegreestext
-annotate XdegreesxYdegrees {+-}tx{+-}tytext
在圖像上添加註釋文字。
這是一個較爲便捷的在圖像上添加註釋文字的方式。如果需要更加精確地控制文本註釋,則需要使用-draw命令。
其中Xdegrees和Ydegrees值分別控制文字的旋轉,而tx和ty設置文字距離圖像左上角的偏移量,也就是起始位置。
使用-annotate degrees或-annotate degreesxdegrees命令將產生未修剪的文本旋轉效果。旋轉方向是正向,這意味如果degrees值爲正就進行順時針旋轉。(這符合通常的數學公約,Y軸正方向指向圖像的下方)。
新(轉化後)圖像的像素座標(X’,Y’)與原始像素座標(X,Y)的對應關係遵從以下的矩陣方程。

如果tx和ty參數缺省,則默認爲0。這將使得文字的左下角位於圖像的左上角處,這可能不是用戶希望的效果。在這種情況下添加-gravity選項,會得到更好效果。
文字可以是任何UTF-8編碼的字符序列。如果命令中的text參數顯示爲'@mytext.txt'的形式,程序將會讀取mytext.txt文件。文件中的文本只保留字符內容,並支持字符格式識別。
 
-antialias
啓用/禁用繪製字體和線條時的抗鋸齒像素渲染。
繪製對象(如文本、線、多邊形等)在默認情況下是抗鋸齒的。使用+antialias選項禁用邊緣像素抗鋸齒渲染。然後這將減少直接繪製時圖像上的生成顏色的數量。也就是說,繪製對象時將沒有混合顏色添加進去。
 
-append
垂直或水平地加入當前圖像。
此選項將創建一個多張圖像連接而成的圖像文件,將圖像組中所有的圖像從上至下的連接。使用+append選項則是從左至右的效果。
如果它們是不相同的寬度,窄的圖像空白部分將用設置的背景顏色進行填充,它們彼此的相對位置可以由-gravity參數進行設置。
 
-attenuate value
減弱或加強圖像中增加的噪聲
 
-authenticate password
使用密碼對PDF文件進行解壓。
使用此選項對採用MSC API加密的PDF文檔進行解密。但是不支持使用MSC API進行加密。
需要採用不同的加密方式,可以參考-encipher和-decipher。
 
-auto-gamma
自動調整圖像的伽瑪水平。
程序將計算圖像的平均值,然後計算出最合適的伽瑪值,使圖像中存在的平均顏色約佔所有顏色的50%。
這意味着,任何全“灰色”的圖像變爲50%的灰色。
這非常適用於真實生活中的照片圖像和畫面中極端暗區或亮區較少的圖像,而對存在大量明亮的天空或陰影的圖像效果就很不好。同樣它也不適合處理圖表或卡通圖案。
還可以使用-channel來設置需要處理的顏色和通道(命令中可以包括sync標誌來實現通道的同步)。系統的默認設置是'RGB,sync',通道將修改爲相同的伽瑪值並保持顏色。
 
-auto-level
自動地調整圖像的色彩層次(圖像曲線)。
這是一個“完美”的標準分佈運算器。它可以精確地找到最小和最大顏色值,然後使用-level對圖像直方圖進行拉伸,以覆蓋整個範圍。
這個操作並不適用於真實生活中的照片圖像、掃描的圖像或JPEG格式的圖片,因爲每個單一的突出像素都可能被設定爲最小/最大值,使它缺乏代表性。另一方面,它可以用來很好的生成梯度均勻的顏色查找表或其它通過數學運算生成的圖像。
這個命令與-normalize、-contrast-stretch和-linear-stretch非常相似,但沒有其它這些命令存在的“直方圖分級”或“裁剪”的問題。可以認爲-auto-level是其中最完美和理想的版本。
它也可以使用-channel來設置需要處理的顏色和通道(命令中可以包括sync標誌來實現通道的同步)。系統的默認的+channel設置是'RGB,sync',通道將修改爲相同的伽瑪值並保持顏色,並且忽略透明度。
 
-auto-orient
自動調整(旋轉)數碼相機照片的方向。
該操作讀取和復位EXIF配置文件中的方向參數,然後適時執行90度旋轉,以使圖像始終保持正確的查看方向。
這EXIF配置文件通常由數碼相機中的重力感應器進行設置,但是垂直向上或向下的拍攝的圖像可能並不會得到一個正確的方向值。使用自動調整方向可能也不能得到正確的校正。如果圖像中的EXIF配置文件被去除以後,-auto-orient命令將不會產生任何效果。
 
-average
對一組圖像進行平均操作。
如果圖像的尺寸不同將會產生錯誤。
 
-backdrop
在背景的中央顯示圖像。[animatedisplay]
背景將覆蓋了整個工作站的屏幕並隱藏其它活動的X窗口,這對觀看圖像非常有用。背景顏色通過-background命令進行設置,具體顏色種類可以參考-fill命令下的介紹。
 
-background color
設置背景顏色。
具體顏色種類可以參考-fill命令下的介紹。默認背景色是白色。
 
-bench iterations
測量執行效果。
設置所有命令的重複次數,並輸出運行時間。例如,根據下面的命令和它的輸出,可以修改-duration以在特定時間基準點執行,或者使用-concurrent完成程序的並行處理(需要具有OpenMP功能)。
convert logo: -resize 1000% -bench 5 logo.png
Performance[4]: 5i 0.875657ips 6.880u 0:05.710
在這個例子中,程序以每秒0.875657次迭代的速度完成了5次迭代,使用分配給用戶的6.88秒時間,總運行時間爲5.71秒。
 
-bias value{%}
進行圖像卷積操作時,設定偏置。
這個參數將對卷積的輸出進行移動,使正負結果與偏置量相關。
這個命令對ImageMagick進行非HDRI編譯時處理同時包含正負值的卷積操作非常重要,特別是涉及高通濾波器的卷積或邊緣檢測的情況下。如果沒有輸出偏置,負值就會全部歸零。
當ImageMagick使用HDRI編譯設置時,就不需要設定偏置量,因爲ImageMagick是能夠存儲/處理任何負值,而不會將之轉換爲顏色值範圍內的數值(0-QuantumRange)。
有關HDRI的更多信息請參考ImageMagick的用法頁或Wikipedia條目。
 
-black-point-compensation
進行黑點補償。
 
-black-threshold value{%}
所有低於閾值的像素全部變爲黑色,高於閾值的像素則保持不變。
閾值可以是百分比或一個絕對整數值(0-QuantumRange), [0]對應至所需頻道的價值。更多信息請參閱-threshold命令。
 
-blend geometry
以給定的絕對值或百分比將一張圖像融合到另一張中。[composite]
該命令將根據給定的百分比和每個像素的透明度對多張圖像進行平均操作。如果只有一個百分比值則賦給“資源”圖像,而背景圖像使用其餘全部值。如-blend 30%指合併30%的“資源”圖像與70%的“目的”圖像。因此,等同於-blend 30x70%。
 
-blue-primary x,y
主要藍色點染色
 
-blue-shift factor
模擬夜晚月光照射的場景,數值從1.5開始。
 
-blur radius
-blur radiusxsigma+bias
圖像模糊操作。
採用高斯或正態分佈對圖像進行卷積,需要給定標準差(Sigma),方程如下:

Sigma值是一個重要參數,它將確定實際發生模糊的範圍。
Radius僅用於確定計算時高斯分佈數組的大小。它應該是一個整數。如果沒有給出,或設置爲零,IM將會計算可能的最大半徑的高斯分佈。
Radius值越大操作速度越慢。但是如果取值太小,則可能導致鋸齒失真效果。作爲一個指導原則,Radius至少應該兩倍於Sigma值,雖然三倍將可以產生一個更精確的結果。
此選項不同於-gaussian-blur命令那樣簡單地利用分佈的可分性屬性。在這裏,我們應用水平方向上的一維高斯矩陣,然後在垂直方向上重複該過程。
-virtual-pixel設置將決定圖像外的像素如何進行模糊。
 
-blur Width[xHeight[+Angle]]
根據圖像覆蓋映射產生的可變模糊。[composite]
重疊區域中的每個像素都會用源圖像的橢圓加權平均(EWA)值進行替換,並根據灰度映射進行縮放。
橢圓採用給定的Width和Height。Height默認等於Width進行普通的圓形高斯加權。Angle參數將從水平方向順時針旋轉橢圓形。
 
-border geometry
設置有顏色的圖像邊框。
可以設置圖像上下和兩側的邊框寬度。有關的幾何參數的詳細信息,請參閱Image Geometry。此命令忽略偏移量。
通過在前面加入-bordercolor命令來設置邊框的顏色。
-border命令將會受到-compose命令的影響,默認設定爲“Over”的覆蓋方式。
可以參考-frame選項,它具有更多的功能。
 
-bordercolor color
設置邊框的顏色。
顏色值採用-fill命令中指定的色彩格式。
默認的邊框顏色是#DFDFDF(灰色)。
 
-borderwidth geometry
設置邊框寬度。[animatedisplay]
 
-brightness-contrast brightness
-brightness-contrast brightness{xcontrast}{%}}
調整圖像的亮度/對比度。
可以對輸入圖像的亮度和對比度值進行調整。它們都可以不用設置爲絕對的數值。如果亮度或對比度的值爲零意味着沒有變化。每個值的範圍都是-100 至+100。正值會增加亮度或對比度,而負值則會減少亮度或對比度。如果只調整對比度,需將亮度設置爲0。如果只控制亮度,則設置對比度爲0或不填寫第二 個參數。
你也可以使用-channel命令來控制需要進行哪些通道的亮度/對比度調整。默認情況是對所有通道都進行相同的變化。
亮度和對比度值分別轉換爲圖像曲線線性變換的偏移和斜率,也可以使用函數多項式中的偏移和斜率來實現(-function polynomial "slope,offset")。
對比度爲-100時曲線斜率爲0度,當對比度變化100時斜度變爲垂直的。如果亮度=0、對比度=-100,結果是純灰色。而如果亮度=0、對比度=100,結果也很相似,但達不到純灰色的程度,因爲線性變換中曲線在中央呈非常陡峭的垂直狀態。
而這個功能無法實現負斜率,即反色的圖像。所有可以實現的斜率都爲零或正值。
亮度=-100對應-0.5的偏移,亮度=0對應0的偏移,亮度=+100則對應+0.5的偏移。因此,當對比度=0、亮度=100時,結果將是純白色。同樣,當對比度=0、亮度=-100時,結果是純黑色。
由於參數值的範圍是-100到+100,所以是否加入%沒有太大的意義。
 
-cache threshold
這個命令在新版中已經更換爲了-limit。
 
-caption string
指定圖像的標題。
如果設置此選項後,程序將讀取圖像元數據中的標題信息。要修改圖像內存中已有使用標題需使用“-set caption”命令。
標題中還可以包含特殊格式的字符,在-format格式說明中有詳細介紹。這些屬性在最後分配給圖像時會自動進行擴展。
如果string參數中的第一個字符是@,圖片標題將會從以@之後字符串爲文件名的文件中讀取。並且從文件中讀取的評論文字不會嵌入字符格式。
元數據中的標題信息不會在圖像中顯示出來。如果需要顯示的話,必須使用-annotate或-draw命令。
例如:
-caption "%m:%f %wx%h" bird.miff
產生的圖片標題是MIFF:bird.miff 512x480(假設bird.miff圖像寬度爲512,高度爲480)。
 
-cdl filename
使用顏色列表文件進行顏色校正。
下面是一個顏色校正集的例子:
<?xml version="1.0" encoding="UTF-8"?>
<ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2">
<ColorCorrection id="cc06668">
<SOPNode>
<Slope> 0.9 1.2 0.5 </Slope>
<Offset> 0.4 -0.5 0.6 </Offset>
<Power> 1.0 0.8 1.5 </Power>
</SOPNode>
<SATNode>
<Saturation> 0.85 </Saturation>
</SATNode>
</ColorCorrection>
</ColorCorrectionCollection>
 
-channel type
指定隨後其它參數可以起作用的圖像顏色通道。
可選參數包括:Red, Green, Blue, Alpha, Cyan, Magenta, Yellow, Black, Opacity, Index, RGB, RGBA, CMYK, CMYKA。
上面的通道可以指定爲以逗號分隔的列表形式,也可以簡寫爲大寫字母'R', 'G', 'B', 'A', 'O', 'C', 'M', 'Y', 'K'直接串聯的形式。例如,如果只選擇紅色和藍色通道,你可以使用:
-channel Red,Blue
或者你也可以使用簡寫形式:
-channel RB
如果需要使用圖像中存在的所有通道,可以指定通道類型爲ALL。並非所有參數都可以指定通道進行處理,但一般可以產生灰度變換的參數都能進行通道設置。具體信息需要查看參數介紹。
 
在完成普通的通道選擇之後,還可以指定一個額外的同步(sync)標誌。它是默認打開的,對於支持這個標誌的參數,設置同步意味着:必須對多個通道進行跨 通道的同步。如果沒有設置同步,那麼對於大多數進行灰度變換的參數而言,都將對每個通道(就是-channel中指定的通道)進行單獨的圖像處理操作。
例如,在進行-auto-level和-auto-gamma操作時,所有的顏色通道會用完全相同的方式進行修改,使各種顏色保持同步。如果沒有設置同步,那麼每個通道將單獨進行修改,這可能會導致色彩失真。
另外,-morphology命令中的Convolve方法和-compose命令中的數學方法,在根據透明通道(如果存在)進行像素色彩修改時,同樣支持同步標誌。這樣就可以讓圖像處理程序知道完全透明的顏色不應該出現在最終結果中。
基本在默認情況下,參數都設置爲顏色通道同步,並將透明通道做特殊處理,除非-channel設置被修改,特意要消除同步標誌的效果。每個參數具體如何同步的取決於它本身的設置,而且並非所有參數都支持這個標誌,但我們會努力改變這種情況。
需要了解最詳細的通道類型,可以使用-list channel命令。
 
默認情況下,ImageMagick的通道都設置爲“RGBK,sync”,即除透明通道之外的所有顏色通道,並且所有顏色通道都結合它們的透明度(取決於具體操作),採用完全相同的方式進行修改。+channel的寫法表示重置爲默認值。
可以進行通道設置的選項包括:-auto-gamma, -auto-level, -black-threshold, -blur, -clamp, -clut, -combine, -composite (僅限數學合併方法), -convolve, -contrast-stretch, -evaluate, -function, -fx, -gaussian-blur, -hald-clut, -motion-blur, -morphology, -negate, -normalize, -ordered-dither, -radial-blur, -random-threshold, -separate, -threshold, -white-threshold。
警告,在使用+channel時,部分選項可能出現不同的效果,仍然推薦用戶採用-channel進行通道設置(包括完成默認設置)。以上可能由於這些選項尚未更新同步標誌的最新定義。
例如-threshold命令默認轉換爲灰度圖像之後才進行閾值操作,如果沒有進行通道設置,它就不會產生同步效果。
另外一些選項如-blur、-gaussian-blur,如果啓用了阿爾法通道,那麼它對其它顏色通道的處理方法將發生變化。一般來說,這樣做是爲了確 保完全透明的顏色始終保持它的完全透明,從而任何“隱藏”色對最終結果都不會產生影響,否則可以產生所謂的光環效應。但是,新版的-morphology 卷積等式實現了對同步標誌的支持,從而可以默認對透明度完成正確的處理了。
由於圖像內的阿爾法通道是可選的,一些命令會將圖像的顏色通道作爲阿爾法通道的灰度蒙版讀入,如果當前圖像沒有阿爾法通道,-channel設置就會告訴命令使用阿爾法通道進行操作。-clut命令就是一個很好的例子。
 
-clamp
將圖像色彩值限制在0-量子深度的範圍內。
 
-charcoal radius
-charcoal radiusxsigma+bias
生成炭筆畫效果。
 
-chop geometry
從圖像內部刪除像素。
有關幾何參數的詳細信息,請參閱geometry參數。幾何參數中尺寸部分的寬度和高度決定了需要刪除的列和行。而幾何參數偏移量部分(如果存在)將受到-gravity設置的影響。
-chop選項將會刪除整行整列,其餘部分會向左和向上移動,來彌補空位。
雖然它可以刪除內部的行列像素,但是通常還是和-gravity選項一起使用,並且偏移量設定爲0,用來刪除圖像單側的邊緣。與此相似,-shave命令則是從圖像兩側刪除數目相等的像素。
使用-chop可以將具有相同幾何參數和-gravity設置的-splice命令產生的效果消除。
 
-clip
應用編輯路徑(如果該路徑存在)。
如果編輯路徑是存在的,它將應用於後續操作。
例如,在命令中
convert -clip -negate cockatoo.tif negated.tif
只有在編輯路徑中的像素才進行反色。
-clip功能要求提供XML庫。如果XML庫不存在,該選項將被忽略。
 
-clip-mask
爲圖像引入可編輯蒙版
用給定的編輯蒙版指定當前圖像序列中不可修改的區域。假設編輯蒙版是一張與內存中圖像尺寸相同的灰度圖像,那麼任何白色的區域將不能被任何圖像處理參數修改,直到蒙版被刪除。在編輯蒙版黑色區域的像素將可以被正常修改。
在某些方面,這和使用-region命令定義矩形區域,或是-composite中三張圖像的合併操作很類似(儘管不完全相同)。
 
-clip-path id
導入8BImageMagick文件中的編輯路徑。
和-clip命令的功能幾乎一樣。
 
-clone index(s)
克隆圖像。
這個命令通常放在括號內使用,它會克隆最後讀入內存的一組圖像序列(也就是括號中的圖像序列),並將它們添加到當前圖像序列的後面。如果在括號外使用(不推薦)該命令,則會克隆當前圖像序列中所有的圖像。
可以指定圖像序列中的圖像索引號,記住第一個圖像的索引爲0,而負的索引號將會從末尾反向開始,例如-1代表圖像序列的最後一張。還能使用破折號指定一個 範圍內的圖像(如0-4)。用逗號(但不能用空格)可以分隔多個索引號(如0,2,5)。而“0--1”表示克隆序列中所有圖像。
+clone選項表示克隆圖像序列中的最後一個圖像,因此也相當於使用參數“-1”。
 
-clut
使用第二張圖像中的修正通道替代第一張圖像中的通道值,來作爲顏色查找表。
第二張(LUT)圖像通常是一個漸變的圖像,包含應該如何修改每個通道的直方圖映射。通常它是使用替換顏色的一張單一行或列的圖像。如果圖像超過單獨的一行或一列,那麼它的值將取自從左上角到右下角的對角線。
顏色查找表還可以特別方便地使用-interpolate選項來進一步控制,而且並不需要達到ImageMagick安裝質量水平的長度。插​​值設置中最好的方法是bilinear和bicubic,分別可以實現平滑的色彩漸變,和非平滑的直接整數值顏色查找表。
這個操作符特別適合用來以一個指定的顏色梯度從CLUT圖像中替換出灰度圖。
只有-channel選項設置的通道纔會進行通道值的替換。特別由於默認的通道設置只有RGB,這意味着透明度(阿爾法通道)不會受到影響,除非修改通道 設置。當設置了阿爾法通道後,它將被-clut命令用和其它通道一樣的方式進行處理,這意味着阿爾法通道值將被原始圖像的阿爾法通道值所替代。
如果被修改的圖像或查找表圖像中都不包含透明度(即阿爾法通道是關閉狀態),但-channel設置中卻包括了阿爾法通道,那麼程序就會假定圖像代表灰度 漸變,以此來替換阿爾法值。這就是說你可以使用一張灰度顏色查找表來調整現有圖像的阿爾法通道,或者你也可以使用包含了需要的顏色和透明度的顏色查找表來 給灰度圖像着色。
另外,-hald-clut選項還可以根據顏色查找表將全綵RGB值從2D平面圖像轉換爲3D彩色立方體。
 
-coalesce
義GIF動畫序列每一幀圖像的外觀,生成像“電影剪輯”似的動畫。
根據-dispose的元數據來覆蓋圖像序列中的每個圖像,並在動畫序列的每個點上重現這幀動畫。所有圖像都應具有相同的尺寸,並分配了適當的GIF設置來使圖片像GIF動畫一樣持續工作。這些幀比高度優化的GIF圖像覆蓋更容易查看和處理。
動畫可以在使用了-layers命令的optimize方法處理後進行重新優化,雖然不能確保優化後的GIF動畫比原來更好。
 
-colorize value
使用-fill選項中指定的顏色和value指定的值對圖像進行着色處理。
指定的着色值可以是百分比的形式。也可以使用逗號分隔着色值來指定應用於每個R、G、B通道的值(例如“-colorize 0,0,50”)。
 
-colormap type
定義色圖的類型。[animatedisplay]
它的類型可以爲shared或private。
此選項僅適用於默認的X服務器的視覺設置是僞彩色或灰度色。更多詳情,請參閱-visual選項。默認情況下,共享色圖是分配的。圖像與其它X客戶端共享 這些顏色。有些圖像的顏色是近似的,因此你的圖像可能會和預期效果看起來非常不同。如果選擇private類型,圖像的顏色就會和定義的效果完全一樣。但 是,其它客戶端可能就會失去漂亮的顏色。
 
-colors value
設置圖像的首選顏色值。
圖像中的實際顏色值可能達不到你的要求,而從來不會有超過要求的情況。注意,它是一個色彩還原選項。如果圖像中的顏色值比value指定的值要小的話,將 會刪除所有重複或閒置的色彩。並且現有調色板的順序可能會改變。從彩色圖像轉換到灰度圖像時,在減少顏色數目數目之前先轉換爲灰度顏色空間會更加有效。有 關詳細信息,請參閱色彩還原算法。
 
-color-matrix matrix
對圖像進行顏色修正。
此選項允許進行飽和度調整、色調旋轉、透明度以及其它各種效果。雖然允許使用可變大小的變換矩陣,但通常對RGBA圖像都使用5x5的矩 陣,CMYKA(或偏置的RGBA)圖像使用6x6的矩陣。這和Adobe Flash中使用的矩陣類似,除了偏移量是在第6列而不是第5列(支持CMYKA圖像)而且偏移量是歸一化的(Flash中的值除以255)。
例如,爲圖像添加帶偏移量的對比度,試試下面的命令:
convert kittens.jpg -color-matrix \
" 1.5 0.0 0.0 0.0, 0.0, -0.157 \
       0.0 1.5 0.0 0.0, 0.0, -0.157 \
       0.0 0.0 1.5 0.0, 0.0, -0.157 \
       0.0 0.0 0.0 1.0, 0.0,  0.0 \
       0.0 0.0 0.0 0.0, 1.0,  0.0 \
       0.0 0.0 0.0 0.0, 0.0,  1.0" kittens.png
 
-colorspace value
設置圖像的顏色空間。
可選項包括:
   CMY          CMYK         Gray         HSB
   HSL          HWB          Lab          Log
   OHTA         Rec601Luma   Rec601YCbCr  Rec709Luma
Rec709YCbCr  RGB          sRGB         Transparent
   XYZ          YCbCr        YCC          YIQ
   YPbPr        YUV
如果需要顯示更詳細的顏色空間,可以使用-list colorspace命令查看。
如果需要更精確的RGB、CMYK和grayscale顏色空間轉換,可以使用-profile選項。
RGB到其它顏色空間的轉換公式
CMY
C=QuantumRange−R
M=QuantumRange−G
Y=QuantumRange−B
CMYK —首先仍然使用上面的CMY轉換公式
K=min(C,Y,M)
C=QuantumRange*(C−K)/(QuantumRange−K)
M=QuantumRange*(M−K)/(QuantumRange−K)
Y=QuantumRange*(Y−K)/(QuantumRange−K)
Gray
Gray = 0.29900*R+0.58700*G+0.11400*B
HSB — 色調(Hue)、飽和度(Saturation)、亮度(Brightness)
顏色空間形如一個尖端向下的圓錐體
H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green
S=distance from axis outward
B=distance along axis from bottom upward; B=max(R,G,B); intensity-like
HSL —色調(Hue)、飽和度(Saturation)、亮度(Lightness)
顏色空間形如尖端分別朝上和朝下的雙錐體
H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green
S=distance from axis outward
L=distance along axis from bottom upward; L=0.5*max(R,G,B) + 0.5*min(R,G,B); intensity-like
HWB — 色調(Hue)、白度(Whiteness)、黑度(Blackness)
Hue (complicated equation)
Whiteness (complicated equation)
Blackness (complicated equation)
LAB
L (complicated equation relating X,Y,Z)
A (complicated equation relating X,Y,Z)
B (complicated equation relating X,Y,Z)
LOG
I1 (complicated equation involving logarithm of R)
I2 (complicated equation involving logarithm of G)
I3 (complicated equation involving logarithm of B)
OHTA — 主要參數的近似轉換公式
I1=0.33333*R+0.33334*G+0.33333*B; intensity-like
I2=(0.50000*R+0.00000*G−0.50000*B)*(QuantumRange+1)/2
I3=(−0.25000*R+0.50000*G−0.25000*B)*(QuantumRange+1)/2
Rec601Luma
Gray = 0.29900*R+0.58700*G+0.11400*B
Rec601YCbCr
Y=0.299000*R+0.587000*G+0.114000*B; intensity-like
Cb=(−0.168736*R-0.331264*G+0.500000*B)*(QuantumRange+1)/2
Cr=(0.500000*R−0.418688*G−0.081312*B)*(QuantumRange+1)/2
Rec709Luma
Gray=0.21260*R+0.71520*G+0.07220*B
Rec709YCbCr
Y=0.212600*R+0.715200*G+0.072200*B; intensity-like
Cb=(−0.114572*R−0.385428*G+0.500000*B)*(QuantumRange+1)/2
Cr=(0.500000*R−0.454153*G−0.045847*B)*(QuantumRange+1)/2
sRGB
if Rs ≤ .04045 then Rs=R/12.92 else Rs=((R+.055)/1.055)^2.4
if Gs ≤ .04045 then Gs=B/12.92 else Gs=((G+.055)/1.055)^2.4
if Bs ≤ .04045 then Bs=B/12.92 else Bs=((B+.055)/1.055)^2.4
XYZ
X=0.4124240*R+0.3575790*G+0.1804640*B
Y=0.2126560*R+0.7151580*G+0.0721856*B
Z=0.0193324*R+0.1191930*G+0.9504440*B
YCC
Y=(0.29900*R+0.58700*G+0.11400*B) (with complicated scaling); intensity-like
C1=(−0.29900*R−0.58700*G+0.88600*B) (with complicated scaling)
C2=(0.70100*R−0.58700*G−0.11400*B) (with complicated scaling)
YCbCr
Y=0.299000*R+0.587000*G+0.114000*B; intensity-like
Cb=(−0.168736*R−0.331264*G+0.500000*B)*(QuantumRange+1)/2
Cr=(0.500000*R−0.418688*G−0.081312*B)*(QuantumRange+1)/2
YIQ
Y=0.29900*R+0.58700*G+0.11400*B; intensity-like
I=(0.59600*R−0.27400*G−0.32200*B)*(QuantumRange+1)/2
Q=(0.21100*R−0.52300*G+0.31200*B)*(QuantumRange+1)/2
YPbPr
Y=0.299000*R+0.587000*G+0.114000*B; intensity-like
Pb=(−0.168736*R−0.331264*G+0.500000*B)*(QuantumRange+1)/2
Pr=(0.500000*R−0.418688*G−0.081312*B)*(QuantumRange+1)/2
YUV
Y=0.29900*R+0.58700*G+0.11400*B; intensity-like
U=(−0.14740*R−0.28950*G+0.43690*B)*(QuantumRange+1)/2
V=(0.61500*R−0.51500*G−0.10000*B)*(QuantumRange+1)/2
 
-combine
將多張圖像合併成到一張圖像中
合併的圖像通道(在-channel中設置)將按順序從序列中圖像的灰度值中獲得。對於默認的RGB通道設置,意味着第一張圖像將分配給紅色通道,第二張給綠色通道,第三張給藍色通道。
如果通道設置是相同的話,這個選項可以被看作是-separate的逆操作。因此,在下面的例子中,最終圖像應該是原圖的副本。
convert original.png -channel RGB -separate sepimage.png
convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB -combine imagecopy.png
 
-comment string
在圖像中嵌入評論。
此選項將會在讀入的圖像元數據中添加評論。要修改圖像元數據中已經存在的評論內容,需要使用“-set comment”命令。
評論中可以包含程序允許的特殊字符格式。它們可以在評論最後分配到每張圖像時根據具體屬性進行擴展。
如果第一個字符是@,圖像評論將從以它後面字符爲文件名的文件中讀取字符串。但是從文件中讀取的評論文字不會識別字符嵌入的格式。
圖像元數據中的評論對於圖像本身是不可見的。如果要顯示出來應該使用-annotate或-draw選項。
例如:
-comment "%m:%f %wx%h" bird.miff
這條命令將會產生一條圖像評論MIFF:bird.miff 512x480(假設bird.miff圖像的寬度爲512像素、高度爲480像素)。
 
-compose operator
設置圖像合併類型。
可以參考阿爾法通道合併的講解獲得更詳細的信息。
此設置會影響合併兩個(或更多)圖像操作命令對圖像的處理方式。這些命令包括:-composite, -layers composite, -flatten, -mosaic, -layers merge, -border, -frame, -extent。
它也是composite命令的主要選項之一。
 
-composite
執行兩張圖像阿爾法通道的合併,還包括一個可選的蒙版。
根據當前的-compose設置,將第一張destination圖像重疊至第二張source圖像上。其中source圖像的位置通過-geometry選項來設置。
如果存在第三張圖像,它將被視爲與destination圖像相關的一個灰度蒙版。這個蒙版可以在destination圖像中設置允許進行修改的區域。不過,對於displace合併方式,蒙版將用來提供一個單獨的Y位移圖像。
如果-compose選項需要更多的數字參數或標誌,那麼可以通過使用“-set 'option:compose:args'”來進行設置。
還有一些合併方式可以修改覆蓋區域外的destination圖像。你可以通過設置“-set 'option:compose:outside-overlay'”爲false來禁止這種行爲。
 
-compress type
寫圖像文件時,使用type指定的像素壓縮類型。
選項包括:None, BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE, Zip。
如果需要顯示壓縮類型的完整列表,使用-list compress命令。
+compress選項表示採用非壓縮格式對二進制圖像進行儲存。默認採用指定的圖像文件的壓縮類型。
如果設置了LZW壓縮方式但該方式並不可用,那麼圖像會採用一種非壓縮的LZW格式,並且可以使用LZW解碼器讀取。但這可能會導致產生的GIF文件比預期大。
Lossless方式指的是無損JPEG壓縮,前提是使用可以支持它的新版JPEG庫。但一般不推薦使用無損JPEG格式。
當需要寫ICO文件時,你可以通過指定Zip壓縮格式來讓圖像使用PNG格式進行編碼。
使用-quality選項設置JPEG、PNG、MIFF和MPEG編碼器採用的壓縮級別。使用-sampling-factor選項設置JPEG、MPEG和YUV編碼器進行色度通道採樣時的採樣因子。
 
-contrast
提高或降低圖像的對比度。
此選項增強了圖像的亮區和暗區之間的差異。用-contrast選項來提高圖像對比度,或使用+contrast選項降低圖像的對比度。
如果需要更加明顯的效果,你可以重複使用此選項:
convert rose: -contrast -contrast rose_c2.png
 
-contrast-stretch black-point
-contrast-stretch black-point{xwhite-point}{%}}
通過拉伸強度值的範圍來提高圖像的對比度。
如果使用了拉伸,圖像中最黑的像素會達到純黑色,而最白的像素會達到純白色。或者如果使用了百分比,最黑的像素會達到純黑色的相應%,最白的像素也會達到純白色的相應%。
在此前的ImageMagick v6.4.7-0版本中,-contrast-stretch會將最黑的像素變爲純黑色,而所有小於白色的像素都變爲純白色。或者如果使用了百分比,所有小於白色相應%的像素都會變爲純白色。
注意,如果設置爲-contrast-stretch 0,那麼圖像的最小和最大拉伸值將分別修改爲0和QuantumRange,這樣將不會有任何數據丟失,因爲沒有在任何一端進行裁剪。所有,它和 -normalize選項並不相同,後者等同於“-contrast-stretch 0.15x0.05%”(ImageMagick v6.4.7-0之前的版本“-contrast-stretch 2%x99%”)。
選項內部的工作原理是首先創建一個直方圖,然後使用該圖來修改圖像。因此原始數據在匹配這個直方圖時,部分顏色可能會被合併到一起。
如果在默認的+channel設置下,所有的通道都會進行同樣的歸一化操作,以保持顏色的完整性。指定任何其它的-channel通道設置,都會使RGB通道獨立進行歸一化操作。
參考-auto-level選項,可以獲得一張完美拉伸的數學圖像。
這個操作符仍然處於不斷更新中。
 
-convolve kernel
採用用戶提供的卷積內核對圖像進行卷積。
內核是一個用逗號分隔的整數(無空格)矩陣,順序從左至右,從頂行開始。目前,只支持奇數尺寸的內核,因此指定內核中的參數個數必須是3^2=9,5^2=25,7^2=49等。
注意,-convolve選項支持偏置量設置。此參數通過對卷積進行移動,使結果的正負和用戶指定的偏置量相關。這對於ImageMagick進行包含正 負數卷積的非HDRI編譯來說非常重要。特別是涉及高通濾波器的卷積或邊緣檢測的情況下,如果沒有輸出偏置,那麼所有負值都會剪切爲零。
當ImageMagick使用HDRI編譯設置時,偏置量就是沒有必要的,因爲ImageMagick是能夠存儲和處理任何負數結果,而不用剪裁至顏色值的範圍(0 .. QuantumRange)。有關HDRI的用法請參看Wikipedia條目。
 
-crop geometry
在圖像中剪出一個或多個矩形區域。
有關幾何參數的詳細信息,請參閱geometry。
geometry的寬度和高度參數指的圖像進行裁剪後剩餘的區域尺寸,偏移量中的x和y參數(如果存在),指的裁剪後圖像的左上角在原始圖像中的座標位置。若要指定需要刪除的像素,可以使用-shave命令代替。
如果在幾何參數的後面加上“!”,這意味着畫布尺寸將和你指定的大小完全相同。
如果裁剪的圖像並不在原圖的畫布範圍內,將返回一張特殊的包含一個透明像素的圖像,和一個警告信息。
另外,可能有必要使用+repage選項重置圖像信息,刪除-crop操作中產生的信息。
 
-cycle amount
根據amount值替換色圖。
amount定義了色圖中每個條目移動的座標數。
 
-debug events
啓用調試打印輸出。
events參數指定要記錄哪些事件。它可以None、All、Trace或以逗號分隔的列表,列表值包括:Accelerate, Annotate, Blob, Cache, Coder, Configure, Deprecate, Exception, Locale, Render, Resource, Security, TemporaryFile, Transform, X11, User。
例如,打印日誌緩存和BLOB事件,使用下面的命令:
convert -debug "Cache,Blob" rose: rose.png
雖然用戶域通常是空的,但開發人員可以記錄用戶在它們的私有ImageMagick副本中的事件。
要打印調試選項的完整方便列表,可以使用-list debug。
使用-log選項來指定調試輸出的格式。
使用+debug關閉所有的日誌記錄。
調試也可以採用設置MAGICK_DEBUG環境變量的方法。 MAGICK_DEBUG環境變量允許的值與-debug選項的值是相同的。
 
-decipher filename
解碼,恢復以前編碼(-encipher)的像素。
從filename指定的文件中獲取口令。
瞭解更多信息,請參閱ImageMagick: Encipher or Decipher an Image網頁。
 
-deconstruct
找到圖像之間改變的區域。
給定尺寸相同的一組圖像序列(比如使用-coalesce選項產生的),將第二張之後的圖像用與當前圖像不同的那部分小圖替代。
處理之後的圖像序列可用於優化動畫序列,雖然當動畫中的一部分會從不透明變爲透明時,它就不能在GIF動畫中正確的工作。
這個選項實際上等同於-layers選項中的compare-any方法。
 
-define key{=value}...
添加具體的全局設置,一般用來控制編碼器和圖像處理操作。
此選項將爲編/解碼器創建一個或多個定義,在讀/寫圖像數據時使用。這些定義通常用來控制超出正常定義的圖像文件格式編碼器模塊和圖像處理操作。定義的具體設置將在-verbose選項信息中列出。
如果定義中缺少了value值,就會爲該名稱創建一個空值定義的標誌,這可以用來控制開/關某個選項。使用+define key來刪除先前創建的定義。使用+define "*"來刪除所有創建的定義。
相同的手工設置,也可以使用“-set "option:key" "value"”命令,它在定義值中同樣支持圖像屬性的格式化輸出。
其中option和key參數是大小寫不敏感的(它們在解碼器中都會轉換爲小寫),但value值是大小寫敏感的。
並且這個設置是全局的,對所有圖像和操作都有效。
下面的定義只是一部分可選設置:
compose:args=arguments
爲使用convert命令進行-compose...-composite操作時設置固定的參數值。
distort:scale=value
設置-distort選項的輸出縮放因子。
distort:viewport=WxH+X+Y
設置-distort選項的視口參數。
dcm:display-range=reset
爲DCM圖像格式設置顯示範圍的最小和最大像素值。
dot:layout-engine=value
給DOT圖像格式(如neato)設置指定的佈局引擎。
jpeg:extent=value
限制JPEG文件的最大尺寸,例如-define jpeg:extent=400kb。
jpeg:size=geometry
設置JPEG圖像的尺寸提示,例如-define jpeg:size=128x128。在大型JPEG圖像的尺寸縮減時,它對提高性能和減少內存需求非常有用。
jp2:rate=value
指定寫JPEG-2000文件時使用的壓縮因子。壓縮因子是壓縮比率的倒數。有效範圍從0.0到1.0,其中1.0表示進行無損壓縮。如果定義了,那麼該值將覆蓋-quality設置。quality設置爲75等同於rate設置爲0.06641。
mng:need-cacheoff
將MNG流的重播關閉。
png:bit-depth=value
png:color-type=value
設置PNG格式輸出所需的位深度和顏色類型。你可以強制PNG編碼器使用於通常設置不同的位深度和顏色類型,但前提是這樣不會造成任何圖像質量的損失。任 何降低圖像質量的企圖都會被認爲是一個錯誤,然後不會進行PNG的寫文件操作。例如,如果你有張1比特的黑與白圖像,你可以使用defines選項將它寫 成8位灰度索引圖,甚至是64位的RGBA圖像。但如果你有一張16萬色的圖像,就不能將它強制寫成一張灰度圖或帶索引的PNG圖像。如果你非要實現這個 目標,那麼必須在PNG編碼之前使用-depth、-colors或-type指令來降低圖像的質量。請注意在帶有索引的PNG文件中,“位深度”指的是 每個索引中的位數,可以是1、2、4或8。而這些文件中的顏色樣本總是8位深度。
png:compression-filter=value
有效值範圍是0到7,其中0-4是相應的PNG濾波器,5表示自適應濾波(除了帶有色圖的圖像),6指爲所有圖像自適應濾波,7表示進行MNG壓縮。
png:compression-level=value
有效值爲0到9,0提供最少但最快的壓縮,9通常提供最好的壓縮但總是最慢的。
png:compression-strategy=value
有效值爲0到4,默認情況使用哈夫曼濾波,RLE和固定的ZLIB壓縮策略。如果你使用老版本的zlib,將不支持Z_RLE(1.2.0之前)或Z_FIXED(1.2.2.2之前),那麼設置爲3和4,將會使用zlib的默認策略。
png:format=value
有效值爲png8、png24和png32。這個屬性可以指定具體要使用的PNG格式,而通常在輸出文件名的前面加上格式的方法很不方便,例如寫成“PNG-編碼ICO文件”。
png:exclude-chunk=value
png:include-chunk=value
附屬塊被排除或包含在PNG輸出中。
value值可以使用附屬塊的類型如BKGD,或用逗號分隔的多個類型,或者最簡單的all和none。雖然PNG附屬塊名是大小寫敏感的,但如果願意你可以全部使用小寫名字。
“包含塊”和“排除塊”定義隻影響PNG編碼器的操作,並不影響PNG解碼器的效果。
作爲一個特例,如果sRGB的排除塊操作中包含了gAMA,那麼只有伽馬值爲1/2.2時gAMA纔會寫入,因爲如果PNG文件中沒有包含色彩信息,大多數解碼器會假設爲sRGB和gamma=1/2.2。由於列表是由左到右處理的,你可以通過單一的定義來實現:
-define png:include-chunk=none,gAMA
另一種特殊情況,如果sRGB塊沒有被排除並且PNG編碼器確信圖像中包含sRGB ICC配置文件,那麼PNG編碼器會寫入sRGB塊,而不是整個3144字節的ICC配置文件。如果要強制PNG編碼器將sRGB配置文件作爲iCCP塊 寫入輸出PNG文件中,那麼必須排除sRGB塊。
關鍵的PNG塊IHDR、PLTE、IDATIEND不能被排除。清單中出現任何這些條目將會被忽略。
如果輔助的PNG tRNS塊被排除並且圖像具有透明度,那麼PNG的顏色類型將被強制設定爲4或6(GRAY_ALPHA或RGBA)。如果圖像不透明,那麼無論tRNS塊添加與否,都不會對輸出圖像的PNG顏色類型產生影響。
-strip選項等同於以下的PNG輸出:
-define png:include-chunk=none,trns,gama
默認設置是包括所有已知的PNG配套塊,外加ImageMagick的私有vpAg(virtual page)塊,並排除所有ImageMagick未知的PNG塊,不論圖片的PNG描述規範中的“copy-safe”狀態是如何設定的。
任何在“包含塊”和“排除塊”列表中出現的ImageMagick不知道的PNG塊都將會被忽略。目前已知的ImageMagick的配套塊包括 bKGD, cHRM, gAMA, iCCP, oFFs, pHYs, sRGB, tEXt, tRNS, vpAg, zTXt。
你也可以把日期寫入列表中來實現添加或排除“Date:create”和“Date:modify”文本塊,通常在輸出的PNG圖像中ImageMagick插入了這個塊。
png:preserve-colormap
使用現有圖像的色圖(colormap)。通常情況PNG編碼器將會嘗試優化調色板,刪除未使用的條目,並且首先刪除透明顏色。如果設置了這個標誌,這種行爲就會受到限制。
ps:imagemask
如果ps:imagemask標誌進行了定義,那麼PS3和EPS3編碼將會爲雙層圖像的PostScript文件創建imagemask選項而不是創建image選項。
quantum:format=type
將類型設置爲浮點數(floating-point)可以指定一個浮點格式的原始數據文件(如GRAY:)或使HDRI模式下MIFF和TIFF圖像保持 其中的負值。如果包含了“-depth 16”設置,其結果就是一個單精度的浮點格式。如果包含了“-depth 32”,結果是雙精度的浮點格式。
showkernel=1
輸出(標準錯誤)生成的-morphology內核中的所有相關信息。
tiff:quantum:polarity=min-is-black
tiff:quantum:polarity=min-is-white
切換光度測定的解釋
tiff:rows-per-strip=value
設置每帶(strip)中包含的行數
tiff:tile-geometry=WxH
設置金字塔形TIFF文件的拼接尺寸,需要在輸出文件(outputname)前添加後綴PTIF。
例如,要創建一個PostScript文件,將只呈現出一個雙層圖像的黑色像素,那麼使用:
convert bilevel.tif -define ps:imagemask eps3:stencil.ps
設置圖像的註冊表屬性可以通過在圖像的前綴registry:後添加註冊表值來實現。例如要給工作文件設置一個臨時的路徑,使用:
-define registry:temporary-path=/data/tmp
 
-delay ticks
-delay ticksxticks-per-second {<} {>}
在暫停後顯示下一張圖片。
此選項對於調節動畫圖像序列的跳(ticks)/跳每秒(ticks-per-second)的時間非常有用,前一張圖片必須在下一張圖片顯示前到期。默認情況是圖像序列中的每張圖像之間的顯示沒有延遲。默認跳每秒的值爲100。
使用“>”表示只有圖像當前的值大於設定的延遲時才改變圖像的延遲。“<”表示只有當前的延遲值小於給定的值時才改變圖像的延遲。例如,如果 您指定“30>”並且現在圖像的延遲值爲20,那麼圖像的延遲將不會改變。但是,如果現在圖像的延遲值是40或50,那麼命令就會將它改爲30了。 最好將給定的延遲值用引號括起來,以防止“<”或“>”被你的shell程序解釋爲文件重定向標誌了。
 
-delete indexes
根據指定的索引號從圖像序列中刪除圖像。
指定序列中圖像的索引號。第一個圖像的索引號爲0。負值索引號是相對序列的尾部進行計數的,例如,-1代表該序列的最後一張圖像。可以使用破折號來指定一 個範圍的圖像(如0-4)。還可以用逗號分隔不同的索引號(如0,2)。使用+delete命令將刪除當前圖像序列的最後一張圖像。
 
-density width
-density widthxheight
設置圖像在設備中顯示的水平和垂直分辨率。
此選項會在文件編碼成光柵圖像時指定圖像的分辨率,並且在讀入矢量格式如PostScript、PDF、WMF、SVG等成爲光柵圖像時指定畫布的分辨 率。圖像分辨率爲輸出設備或光柵圖像的顯示提供了使用的度量單位。默認度量單位是點數每英寸(DPI)。-units選項也可以選擇點數每釐米作爲度量單 位。
默認分辨率爲72 DPI,這就相當於每個像素包含一個點(Macintosh和Postscript標準設置)。電腦屏幕通常是72或96 DPI,而打印機通常支持150、300、600或1200 DPI。要確定你的顯示器分辨率,可以用一把尺子來測量屏幕的寬度(單位英寸),然後除以屏幕的水平像素(如1024x768顯示屏中的1024)。
如果文件格式支持的話,此選項還可用於更新圖像的分辨率。請注意,Photoshop存儲和獲取圖像分辨率將從一個專有嵌入的配置文件中得到。如果此配置文件被從圖像中刪除,那麼Photoshop將使用前一張圖像的分辨率,而忽略標準文件頭中指定的圖像分辨率。
-density選項設置的屬性,並不會改變基本的光柵圖像。它可以通過調整像素的規模來實現校正桌面出版系統顯示尺寸的目的。如果要在不同的分辨率下顯示相同的尺寸,那麼需要使用-resample選項來調整圖像尺寸。
 
-depth value
圖像的深度。
它是指一像素的顏色樣本中包含的數據比特位。使用此選項來指定未知深度的原始圖像的深度,如GRAY、RGB或CMYK,或改變任何讀入內存的圖像的深度。
 
-descend
降低窗口的層級來獲得圖像
 
-deskew threshold
拉伸圖像。對於大多數圖像採用40%的門限值。
使用“-set option:deskew:auto-crop width”命令來自動裁剪圖像的寬度。設置的參數是圖像背景的像素寬度(如40)。
 
-despeckle
減少圖像中的斑點。
 
-direction type
設置文本從左至右或者從右至左的方向。
 
-displace horizontal-scale
-displace horizontal-scalexvertical-scale
根據置換圖對圖像像素進行位移操作。[composite]
使用此選項,重疊圖像和選擇蒙版如下都可以作爲置換圖,它們將用來取代查找表,控制背景圖像中覆蓋區域的每個點是否可以被看見。置換圖就像是一個“鏡頭”,可以重定向閃光燈照射的方向原始的背景圖像之後的圖像呈現出來。
置換圖中的任何純灰色區域將不會使圖像中的像素髮生位移。黑色區域將使查詢點產生最大的負位移,而白色區域會讓查詢點產生最大的正位移。
請注意,它是背景圖像中被替換部分的查找表,而不是圖像本身的位移。例如置換圖中包含白色的區域將會讓查詢點實現正位移,從而生成的目標圖像副本將處於向右/向下的正確位置。看起來就像是原圖被移動到向左/向上的地方。理解這一點對於理解置換圖是如何工作的非常重要。
給定的參數定義了在一個特定的置換圖中可以產生的最大像素位移。如果位移值非常的大,它也可以允許背景圖像中的查詢點超出置換圖本身的界限區域。這就讓你可以很容易地將原始圖像覆蓋區域外的部分複製到區域內。
“%”標誌表示位移量相對於疊加圖像的百分比(100%=半寬/圖像高度)。使用“!”可以將百分比參數的參考圖像尺寸換爲目標圖像的。這些標誌在IM v6.5.3-5版本中加入的。
通常情況下提供單一的灰度位移圖,給定的比例值將決定一個位移發生的方向(正值或負值)。但是,如果你還指定了第三張圖像,通常是用作蒙版的,那麼合併圖 像(composite image)將用於控制水平X位移,而蒙版圖像(mask image)用於垂直Y位移。這允許你定義完全不同的X和Y方向的位移值,並且可以查找scale範圍內的任何一點。換句話說,就是每個像素都可以查找它 附近任何其它像素,來產生複雜的二維位移而不是簡單的一維向量位移。
此外,除了IM v6.4.4-0版本中的提供兩個單獨圖像的方式,你還可以使用覆蓋圖像的red通道來指定水平或X位移,green通道指定垂直或Y位移。
在IM v6.5.3-5版本中,任何覆蓋圖像中的阿爾法通道都將用來作爲目標圖像的透明度蒙版。但是不會影響覆蓋區域外的部分。
 
-display host:display[.screen]
指定連接的X服務器。[animatedisplay]
這個選項在convert命令中是用來從X服務器上獲取圖像或字體。
 
-dispose method
定義創建或讀入的GIF圖像處理設置。
層處理方法定義了每幀顯示的圖像被修改的方式,它發生在動態圖像的當前幀結束顯示後(在它的延遲後),但在下一幀動畫覆蓋到顯示屏上前。
下面是有效的方法:
未定義(Undefined)0無指定的處理方法(相當於“None”)。
無(None)1不進行處理,只只簡單的覆蓋下一幀圖像。
背景(Background)2清除幀區域中的背景顏色。
之前(Previous)     3    將圖像清理到這個幀疊加前的狀態。
你也可以使用上面給出的數字,它是GIF格式內部使用的代表上述設置的編號。
要打印處置方法的完整列表,請使用“-list dispose”。
使用+dispose命令將關閉該設置,並阻止重置該層處置方法的圖像被讀入。
使用-set 'dispose'的方法來設置已經讀入在內存中圖像的處理方法。
 
-dissimilarity-threshold value
子圖像匹配的最大RMSE(默認爲0.2)。[compare]
 
-dissolve src_percent[xdst_percent]
根據給定的百分比將圖像溶解到另一張圖像中。[composite]
合併圖像的不透明度將乘以給定的百分比,然後與主體圖像進行合併(Over方法)。如果src_percent大於100,那麼會對主體圖像進行溶解,當值達到200時主體圖像將變得完全透明。如果選項中的兩個百分比都給定了,那麼每個圖像都將溶解到給定的百分比。
請注意,如果選項中一個百分比都沒給定,那麼兩個不透明圖像將溶解爲“50,50”,產生出75%的透明度。對於50%+50%的兩個圖像的融合,你需要使用溶解值“50,100”來實現。
 
-distort method arguments
使用給定的方法和所需的參數對圖像進行扭曲操作。
參數(arguments)是一個字符串,其中包含了使用逗號或空格分隔的浮點數列表。浮點數的個數和含義取決於所使用的扭曲方法(method)。
下列的扭曲類型可供選擇:
方法(Method) 描述(Description)
ScaleRotateTranslateSRT 扭曲圖像時,首先將一個給定的“中心”進行縮放和旋轉,然後再將“中心”按順序轉換到新的位置。它是“Affine”扭曲類型的替代方法,但沒有剪切效果。它還提供了一個更好的方法來實現旋轉或將小圖像平鋪到一張更大的背景中(IE 2維動畫)。
參數的個數確定了每個參數的具體含義,包括縮放、旋轉、轉換等操作。
#參數的意義
1:角度(旋轉)
2:縮放,角度
3:X,Y,角度
4:X,Y,縮放,角度
5:X,Y,縮放X,縮放Y,角度
6:X,Y,縮放,角度,新建X,新建Y
7:X,Y,縮放X,縮放Y,角度,新建X,新建Y
這實際上是2維線性仿射(Affine)或AffineProjection扭曲的一種替代方法。
Affine 通過移動至少3個或更多的控制點(定義見下文)來對圖像進行線性扭曲。理想的情況下是根據這三個點提供3組或12個浮點值,使圖像完成線性縮放、旋轉、剪切和轉換。相關信息請參閱“AffineProjection”和“SRT”扭曲。
如果給定了超過3組的控制點對(12個),那麼將使用最小二乘法來實現線性仿射扭曲的最佳匹配。如果只有2個控制點對(8個),那麼只能進行兩個點的圖像 平移旋轉和縮放操作,不會進行任何的剪切、翻轉或變化結果圖像的寬高比。如果只提供了一個控制點對,那麼圖像只會完成移動(可以進行浮點數,即非整數的移 動)。
這種扭曲,不包括任何形式的透視畸變。
AffineProjection 使用給定6個計算係數的仿射矩陣,形成了一個源圖像到目標圖像的仿射方程進行圖像的線性扭曲。
s
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章