用命令行选项创建,编辑,构造位图
下面是能被ImageMagick命令行工具识别的命令行选项清单。如果你想要一份特定选项的描述,点击导航条中的选项名就会恰好到达。除非特别注明,每个选项都能被命令convert 和mogrify 识别。
-adaptive-blur radius[xsigma] 自适应模糊 半径[xsigma]
自适应使像素模糊,并减少靠近边缘的影响
使用了高斯操作给定的半径和标准偏差(sigma)。如果sigma没有给出则默认为1
--adaptive-resize geometry 自适应调整大小 大小
使用三角测量数据依赖重新调整图像大小
关于gemotery 参数的更多细节请查看Image Geometry。 -adaptive-resize 选项默认根据数据依赖三角测量。使用 –fliter 选择一个不同的重新抽样算法。 偏移量,如果出现在geometry 字符中,会被忽略,并且 –gravity 选项没有效果。
-adaptive-sharpen radius[xsigma] 自适应锐化 半径[xsigma]
自适应锐化像素,并增加边缘效果
使用了给定半径和标准差的高斯操作符。如果sigma 没有给出则默认为1
convert -adaptive-blur x5 input.jpg blur.jpg
convert -adaptive-blur 4x5 input.jpg blur4.jpg
-adjoin
毗连
连接图像为一个单一的含有多张图像的文件
此选项默认是开启的。尝试保存图像序列的所有图像到一个给定的输出文件。然而,有些格式,诸如JPEG和PNG,不支持每个文件保存多个图像,在那种情况下,ImageMagick强制将每个图像写入单独的文件。就像这样,如果有多张图形需要写入,为了使每个图像的名字各不相同。给定的文件名被修改为在后缀前添加一个 –scene 数字,
使用 +adjoin 迫使每个图像写为单独的文件,不管文件格式是否允许每张图片含多个图像(例如GIF,MIFF,和TIFF)
输出文件名中含有的C-风格的整数格式字符串会自动开启 +adjoin 开关并被用作指定在含有一段数字文件名的地方。这些字符串,诸如 ’%d’ 或 ‘d’ ,与那些使用标准printf() C语言库函数的相似,一个例子,命令
convert logo: rose: -morph 15 mydmorph.jpg
我们创建了一个17张图像的序列(2个给出的加上用 –morph 创建的15张),命名为:my00morph.jpg, my01morph.jpg,my02morph.jpg,…,my16morph.jpg
总结,如果下面任意一种情况存在,ImageMagick会尝试把所有图像写入到一个文件中,但是保存时会存为多个文件。
1、 输出文件的格式不允许多张图像文件
2、 给出了+adjoin 选项,或者
3、输出文件名中出现了printf()整数格式字符串(eg:”%d”).
-affine sx,rx,ry,sy[,tx,ty]
为连接、旋转和测量设置图样变换矩阵
此选项设置了变换矩阵,为随后的 –draw 或 –transform 选项使用。
输入的矩阵以逗号分隔的数字值录入,或者使用引号或没有空格
在内部,变换矩阵有3x3个元素,但是从输入中省略了其中的3个,因为它们是不变的。原图中新(变换后)坐标(x', y')在位置(x,y)处得像素使用下面的矩阵方程式计算。
结果图的大小是包含在源图像中最小矩形的大小。随后的参数tx 和 ty 改变了像素以至于那些被移除图像区域的像素被切除。
变换矩阵遵从反时针方向的像素坐标系统:正的 x和y 方向是向右和向下的,resp.;正向旋转是顺时针方向的。
如果平移系数tx 和 ty 被省略它们默认为0,0 。因此,没有变换4个参数足够用作旋转和测量了。
在x轴和y轴方向通过sx 和 sy 因子测量,分别用下面的方法完成。
查看 –transform和 –distort 方法'Affineprojection 得到更多信息。
-affine sx,0,0,sy
通过位移(tx, ty) 平移像这样完成:
-affine 1,0,0,1,tx,ty
通过让 c=cos(a), s=sin(a) 以一个角度在起点(左上角)顺时针旋转,使用如下.
-affine c,s,-s,c
一系列 –affine 变换的叠加效果能用单独的 –affine 操作符代替完成,使用与之等价的单独变换的矩阵的乘积。
命令试图探测near-singular变换矩阵。如果决定的矩阵的绝对值足够小(编者那就是0了?)就会拒绝。
-alpha
type
控制图像通道的 alpha/matte
用作在图像上设置标记表明是否使用存在的 alpha 通道数据,或者创建一个 alpha通道,或者在 alpha通道上执行其他操作。从下面的清单中选择参数 type
类型 描述
Activate or On 开启图像的透明通道。注意,正常设置应该代替它,除非你特别需要维持当前的(但是特别的被关闭了)透明通道。
Deactivate or Off 关闭图像的透明通道。不删除或改变当前数据,仅仅禁用了该数据。
Set 激活 alpha/matte 通道。如果它先前被关闭,还要把通道重新设置为透明。如果图像已经开启alpha通道,将没有影响
Opaque 开启 alpha/matte通道并且强制为全透明
Transparent 激活alpha/matte通道并且强制为全透明。这有效地创建了一个与原图同样大小的全透明图像
并且源图像的RGB数据仍然完整无缺,但是是全透明的。
Extract 复制 alpha通道值到所有的色彩通道,并且关闭该图像的透明度,为了生成图像形状的灰度遮罩。
Alaph 通道数据完整无缺地留下来,仅仅被禁用了。这与’Copy’相反。
Copy 开启 alpha/matte 通道,然后复制图像的灰度色饱和度到alpha通道,转换灰度蒙版为透明形状的将被染上合适
颜色的蒙版。色彩通道没有被修改。
Shape 就像copy但也用当前背景色给结果蒙版上色。即RGB颜色被取代了,用合适的alpha 蒙版
Background 设置任何全透明像素为背景色,同时保持全透明。这能让一些图像格式诸如PNG更小,因为透明像素的RGB值更均匀,
并因此能更好地压缩。
注意,虽然 +matte 操作与 “-alpha Off” 相同,但是 -matte 操作与”-alpha Set”相同而非与”-alpha On”相同。
-annotate degrees text 注释 度数 正文
-annotate XdegreesxYdegrees text 注释 X轴度数 x Y轴度数 正文
-annotate XdegreesxYdegrees {+-}tx{+-}ty text 注释 XdegreesxYdegrees{+-}tx{+-}ty 正文
用文字注释图像
这很方便为了给图像添加注释。关于文字注释的更多精确控制,请使用 –draw
Xdegrees值和Ydegrees值控制拉伸形变,分别应用到文字上,而tx 和 ty 是偏移量,给出了文字相对于图像左上角的位置。
使用-annotate degrees或-annotate degreesxdegrees 产生没有拉伸形变的旋转文字。旋转的方向是正向的,那意味着如果度数是正的就是顺时针方向旋转(这与通常的数学惯例一致,一旦意识到正的y-方向被习惯地认为在图像中是向下的。)
新像素在图像位置(x,y)处的坐标(变换后)(x’,y’)使用下面的矩阵方程式计算
如果tx 和ty 省略了,就默认为0. 这会让文字的左下部变成在图像的左上部,这可能导致麻烦。在此情况下添加一个 –gravity 选项会有很好的结果。
文字应是任何UTF-8 编码的字符串序列。如果文字是’@mytext.txt’形式的,就从文件mytext.txt读取文字。文件中的文字按照字面意思读取;嵌入的格式字符串不能识别。
-antialias
反锯齿
当描绘字体和线段时开启/关闭 反锯齿像素描绘功能
默认地,对象(e.g文字,线段,多边形,等等。)是反锯齿的当它们被描绘的时候。使用 +antialias 禁止反锯齿边缘像素的增加。这会减少添加到图像上的颜色数量,仅仅是直接描绘时的颜色。即,当描绘这样的对象时没有添加混合色
-append
附加
水平或垂直连接图像
此选项创建一个单一的更长的图像,通过从头到尾连接所有当前图像序列
使用 +append 选项从左到右堆叠图像。
如果它们宽度不同,窄的图像以当前 –background 颜色设置为背景,并且它们彼此间的相对位置能使用当前的 –gravity 设置控制。
-attenuate
value 减少 值
减少(或增强)当添加图像噪声时
-authenticate
password
使用密码解密PDF
使用此选项提供一个密码解密使用MSCAPI 加密后的PDF。使用MSC API 的加密不支持。
不同的加密方法查看 –encipher 和 –decipher
-auto-gamma
自动伽马
自动调整图像的伽马水平
这会计算图像的平均值,然后应用计算后的伽马调整值以使图像剩下的颜色变为50%。
convert -auto-gamma test.jpg auto.jpg
=> 这意味着任何纯灰度图像变成50%的灰度
这对于实际生活中带有很少或没有极暗和极亮区域的图像效果很好,但是对带有大片白色天空或黑色阴影的图像会失败。它对于图表或类卡通图像不起作用。
它使用 –channel 设置,(包括 ‘sync’ 标记使通道同步),决定使用和修改哪种颜色的值。因为默认的 –channel 设置是’RGB,sync’,通道一起使用同一个伽马值修改,保持了颜色。
-auto-level
自动色阶
自动调整图像颜色水平。
这是一个完美的图像恢复操作符。它找出图像的最小和最大颜色值然后应用 –level 操作符把值拉伸到全范围?
此操作符典型的不适用于实际生活中的图片,图像扫描,或JPEG格式的图像,因为一个单一的’out-rider像素’ 能为-level操作符设置一个糟糕的 最小/最大值。另一方面,这是使用色彩拉伸倾斜图像生成颜色查询表的正确方法,变形图像,或者其他数学定义的图像。??
此操作符与 –normalize,-contrast-stretch相似,并且 –linear-stretch 操作符,但是没有这些操作符可能存在的 ‘直方图容器’ 或 ‘剪切’问题。即 –auto-level 在这些操作符中是完美的或者理想的版本。
它使用 –channel 设置,(包括特别的’sync’ 通道同步标记),决定使用或者修改哪种颜色值。因为默认的 +channel 设置的是’RGB,sync’ ,’sync’保证了色彩通道一起被同一个伽马值修改,并保持了颜色,并忽略了透明。
-auto-orient
自适应(旋转)数字照相机图像
此操作符读取并重新设置EXIF图像简介信息,设置自适应并且在图像上执行合适的90度旋转使之朝向图像,为了正确的查看。
此EXIF简介设置通常使用数码相机中的重力传感器设置,然而,直接向下或者向上的图像可能没有一个合适的值。而且方向正确的图像不用重新设置此设置,也许再次调整后结果又不正确了。如果之前EXIF信息被删除了,-auto-orient 操作不会做任何事情。
- -average
求一组图像的平均数,如果图像大小不同一,会出现错误。
- -backdrop
在背景幕布中心显示图像
此背景幕布覆盖整个工作区屏幕并且在查看图像时对于隐藏其他X window活动很有用。背景幕布的颜色被指定为背景色。颜色使用 –fill 选项描述的格式指定。
- -background color
设置背景颜色
背景色使用 –fill 选项描述下的格式指定。 默认的背景色(如果在图像中没有发现或指定)是白色
- -bench iterations
重复整个命令给定的次数并且报告用户时间和已用时间。例如,考虑如下命令和其输出。使用 –duration 运行基准点固定的秒数修改基准,使用 –concurrent 并行运行基准(需要OpenMp功能)???
convert logo: -resize 1000% -bench 5 logo.png
Performance: 5i 0.875657ips 6.880u 0:05.710
在这个例子中,以0.875657次/每秒 的速度完成了5次,用户时间6.88秒,总用时5.71秒。
- -bias value{%}
回旋图像时添加偏差
此选项改变 –convolve的输出以至于正的结果和负的结果与指定的偏差值相关
当处理同时含有正值和负值的回旋时,这对于ImageMagick的non-HDRI编辑是很重要的。
This is especially the case with convolutions involving high pass filters or edge detection。
没有输出偏差,负值会被减为零。
当使用带有HDRI 编辑时间设置的ImageMagick时, 不需要-bias,因为ImageMagick能够不减小色彩值范围(0..QuantumRange)存储/处理任何负片效果.
在High Dynamic-Range Images 查看ImageMagick 中关于HDRI补充的讨论。For more about HDRI go the ImageMagick Usage pages or this Wikipedia entry.
- -black-point-compensation 黑点补偿
使用黑点补偿
- -black-threshold value{%} 黑色阀值 值 {%}
强制使在阀值以下的像素变黑并且维持在阀值点或其上的像素不变。
阀值的值可以以百分数形式给出,或者是一个在[0,QuantumRange] 范围内的整数的绝对值,且此值与要求的 -–channel 值一致。查看 –threshold 获取更多关于阀值和结果值的细节。
- -blend geometry
通过给出的绝对值或百分比混合一张图像成为另一张图像
composite -blend 60% test.jpg 016.jpg ff.jpg
Blend 会根据给出的百分比和每像素透明度把图像平均到一起(‘加’)。如果只给出一个百分数,它会设置混合后的图像或源图像的比重,而背景图像正好占相反的比重数。即 –blend 30% 使用70%的目标图像混合30%的源图像。因此它与 –blend 30x70%相等。
-blue-primary x,y
设置最初的绿色染色点
-blue-shift factor
模拟月光下的午夜场景。因子以1.5开始。
convert -blue-shift 2 test.jpg result.jpg
-blur radius 模糊 半径
-blur radiusxsigma 模糊 半径xsigma
减少图像噪声并且减少细节水平
Convolve the image with a Gaussian or normal distribution using the given Sigma value. 方程式是:
Sigma的值是一个重要的参数,并且决定将要发生的实际模糊数量。
半径仅被用作决定阵列的大小,该阵列会包含计算出的高斯分布。它应该是一个整数。如果没有给出,或设置为0,IM将会计算可能的最大半径并为高斯分布提供有意义的结果
半径越大操作就会越慢。然而,半径太小的话,and sever aliasing effects may result. 作为一个准则,半径至少应该是 Sigma值的两倍大,尽管3倍会产生更准确的结果。
此选项不同于 –gaussian-blur 仅仅通过利用分布的不同特点。这里我们在水平方向应用单一规格的高斯矩阵,然后在垂直方向重复此过程。
The -virtual-pixel setting will determine how pixels which are outside the image proper are blurred into the final result
-virtual-pixel 设置会决定图像外面的像素如何恰当的模糊到最后的图像中。The -virtual-pixel setting will determine how pixels which are outside the image proper are blurred into the final result.
-blur Width[xHeight[+Angle]]
Variably blur and image according to the overlay mapping.
Each pixel in the overlaid region is replaced with an Elliptical Weighted Average (EWA) of the source image, scaled according to the grayscale mapping
The ellipse is weighted with sigma set to the given Width and Height. The Height defaults to the Width for a normal circular Guassian weighting. The Angle will rotate the ellipse from horizontal clock-wise.
The -virtual-pixel setting will determine how pixels which are outside the image proper are blurred into the final result.
- -border geometry
用一种颜色边框包围图像
使用 gravity 参数的size部分设置宽和高。查看Image Geometry获得关于geometry参数的全部细节。偏移量被忽略。
在-bordercolor 设置之前设置边框颜色。
- -border操作受到当前 –compose 设置的影响并且假定这是使用默认的’覆盖’混合方法。
它在覆盖这个纯净源图像中间生成合适尺寸的使用当前-bordercolor上色的图像。It generates a image of the appropriate size colors by the current -bordercolor before overlaying the original image in the center of this net image.这意味着使用默认的‘覆盖’构成法任何透明部分可能会被当前的 –bordercolor 设置代替。This means that with the default compose method of 'Over' any transparent parts may be replaced by the current -bordercolor setting.
一并查看 –frame 选项,它有更多功能。
- -bordercolor color
设置边框颜色
color由在-fill 选项下描述的格式指定
默认的边框颜色是#DFDFDF,这是灰色的阴影。
- -borderwidth geometry
设置边框宽度 [animate,display]
-brightness-contrast brightness
-brightness-contrast brightness{xcontrast}{%}}
调整图像亮度和/或对比度
亮度和对比度应用改变到输入图像。它们不是绝对的设置。亮度或对比度为0意味着没有变化。亮度对比度各自范围都在-100到+100之间。正的值增加亮度或对比度而负值减少亮度或对比度。为了只控制对比度,设置亮度为0.为了只控制亮度,设置对比度为0。或仅仅关闭此开关。
你还可以使用 –channel 去控制对哪个通道应用亮度 和/或 对比度变化。默认是应用同一个变化到所有通道上。
Brightness and Contrast arguments are converted to offset and slope of a linear transform and applied using -function polynomial "slope,offset".
The slope varies from 0 at contrast=-100 to almost vertical at contrast=+100. 对于亮度为0和对比度为-100,结果完全是中度灰。对于亮度为0和对比度为+100,结果会接近但是不是很接近中度灰阀值;that is the linear transformation is a very steep vertical line at mid gray.
Negative slopes, i.e. negating the image, are not possible with this function. All achievable slopes are zero or positive.
偏移量从亮度为-100时的-0.5到亮度为+100时的+0.5.因此,当对比度为0并且亮度为100时,结果完全为白色,类似地,当对比度为0并且亮度为-100时,结果完全为黑色。
因为参数的值域在-100到+100之间,添加%号对于省略它没有区别。
- -cache threshold
(此选项已经被 –limit选项代替)
- -caption string
给图像添加说明文字
此选项设置图像的文字元数据。This option sets the caption meta-data of an image read in after this option has been given. 修改一个已经在内存中的图像的说明文字,使用 “-set caption”.
说明文字可以包含在Format and Print Image Properties 列出的特殊格式字符串。当说明文字最终指定到单独的图像上时这些属性被扩展了。
如果字符串的第一个字符是@,则图像说明文字从@字符后的文件名中读取。注释按字面意思从文件读入;嵌入的格式字符不被识别。
说明文字元数据在图像自身上是不可见的。要识别请使用 –annotate 或 –draw 选项代替。
例如,
-caption “%m:%f %wx%h” bird.miff
产生出图像说明文字MIFF:bird.miff 512x480(假定此图像bird.miff宽为512且高为480)。
- -cal 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, or CMYKA. 中选择。
上面的通道也能被指定为用逗号分隔的列表或者被缩写为一系列字母'R', 'G', 'B', 'A', 'O', 'C', 'M', 'Y', 'K'. 例如,仅仅选择红色和蓝色通道你可以使用两者之中的任一个:
- -channel Red,Blue
或者你可以使用缩写形式
- -channel RB
出现在图像中的所有通道能使用特殊通道类型All指定。不是所有操作有 ‘通道能力’的,但是一般地,任何一般的灰度图像操作,会知道此设置。查看单独的操作文档。
在正常通道选择之上,可指定一个额外的标记 ‘Sync’. This is turned on by default and if set means that operators that understand this flag should perform: cross-channel syncronization of the channels. 如果没有指定,然后多数灰度操作会彼此完全独立地应用它们的图像处理操作到每个单独的通道上(就如用剩下的 –channel 设置指定).
例如,对于操作诸如-auto-level和-auto-gamma,色彩通道被以同样的方式一起修改以至于颜色会保持同步。如果没有设置,每个通道会被单独地和独立地修改,这可能导致色彩变形。
- -morphology ‘Convolve’方法和 –compose 数学方法,也懂得‘同步’标记,根据alpha通道(如果存在)修改色彩像素的行为。那就是说,它会在知道完全透明色不应该对结果有贡献时修改图像
基本地,默认,操作同步地对色彩通道起作用,并且把透明看作是特殊的, 除非 –channel 设置被修改,为了移除‘同步’标记的影响。每个操作怎么做到这依靠的是操作当前的工具。How each operator does this depends on that operators current implementation. 在此时不是所有的操作知道这个标记,但是那是变化的
使用 –list channel 打印通道类型
默认地,ImageMagick设置 –channel 的类型为‘RGBK,sync’,它指定操作在除了透明通道的所有色彩通道上起作用,并且所有色彩通道将被用同样的方式修改,知道透明with a understanding of transprancy(依赖于正被应用的操作)。 带有‘加号’形式的 +channel 会重新设置回到默认值。
受到 –channel 选项影响的选项包括如下。
-auto-gamma, -auto-level, -black-threshold, -blur, -clamp, -clut, -combine, -composite (Mathematical compose methods only), -convolve, -contrast-stretch, -evaluate, -function, -fx, -gaussian-blur, -hald-clut, -motion-blur, -morphology, -negate, -normalize, -ordered-dither, -radial-blur, -random-threshold, -separate, -threshold, and -white-threshold.
注意,有些操作在 +channel 默认的设置起作用时表现不同verses ANY user defined -channel setting(包括默认的相等)。这些操作还没有理解新的 “同步”标记。
例如, -threshold 会在阀值之前默认为灰度图像For example -threshold will by default gray-scale the image before thresholding, 如果没有定义 –channel 设置。这还不是 ‘同步’标记控制This is not 'Sync flag controlled, yet.
并且,有些操作诸如 –blur,-gaussian-blur,会修改它们持有的色彩通道如果‘alpha’通道也被 –channel 开启。一般地,这么做是为了保证 全透明 颜色被看作 全透明,因此任何潜在的 ‘hidden’ 颜色对最终结果没有影响。典型地导致 ‘’halo’ 效果。The newer -morphology convolution equivalents however does have a understanding of the 'Sync' flag and will thus handle transparency correctly by default.
因为在图像中alpha 通道是可选的,有些操作会读取图像色彩通道为灰度透明遮罩,当图像没有透明通道存在时,并且 –channel 设置告诉操作者使用alpha通道应用该操作。 -clut 操作是这方面的一个好例子。
- -clamp
从0到总深限制图像颜色
- -charcoal factor 炭笔 因子
模拟炭笔描绘
- -chop geometry
从图像内部移除像素
查看 Image Geometry 获得关于 geometry参数的全部细节。在给出的 geometry参数的尺寸部分,宽和高给出了要移除的列和行的数量。Geometry参数的 偏移量部分受到 –gravity的影响,如果存在偏移量的话。
- -chop 选项移除整个行和列,并且向左上方移动剩余的拐角处的块去关闭缝隙。
虽然它能移除内部像素的行和列,它更典型的用作与 –gravity 设置一起使用并且 零偏移量为了从图像中移除单一边缘。把它与从图像相反面移除相等像素的 –shave 相比较。
使用 –chop 会有效地毁坏给出同样 geometry和 –gravity设置的 –splice的结果
- -clip
应用剪切路径如果存在路径的话
如果有剪切路径存在,它会应用到随后的操作中
例如,在命令
convert –clip –negate cockatoo.tif negated.tif
只有在剪切路径之内的像素被负片了
-clip 功能需要 XML 库。如果不存在 XML库,此选项会被忽略。
-clip-mask
Clip the image as defined by this mask.
把所给图像作为一个在当前图像序列中的当前图像上的 ‘do-not-modify’遮罩。假定clipmask是一个已经在内存中的同样大小的灰度图像,任何白色区域都不会被后面的任何一个图像处理操作修改,知道遮罩被移除。在遮罩中的黑色像素区域会被正常修改。
在某些方式下,这与定义一个矩形区域相似,或者在一个三幅混合图像中使用负的图像遮罩操作。
- -clip-path id
Clip along a named path from the 8BImageMagick profile.
这几乎与 –clip 是同一的
- -clone index(s)
复制图像
在圆括号中(在操作正常使用的地方)it will make a clone of the images from the last 'pushed' image sequence,,并且把它们添加到当前图像序列的末尾。在圆括号之外(不推荐)它从当前图像序列复制图像。
通过序列中的图像的索引号指定图像。第一张图像是索引0.负的索引相对与序列的末尾;例如,-1 代表序列中的最后一张图像。用破折号(例如0-4)指定一列图像。用逗号但没有空格(例如0,2,5)隔开多个索引.。’0—1实际会复制所有图像。
+clone 会单纯地复制图像序列的最后一张图像,因此它与使用参数 -1 相同。
-cut
使用第二张图像中的每个相符的通道作为颜色检索表替换第一张图像中的通道值。