ImageMagick provides a suite of command-line utilities for creating,
converting, editing, and displaying images:
Note, a format delineated with + means that if more than one
image is specified, it is composited into a single multi-image file. Use
+adjoin
if you want a single image produced for each frame.
Your installation might not support all of the formats in the list. To get
an up-to-date listing of the formats supported by your particular
configuration, run "convert -list format".
By default, the image format is determined by its magic number, i.e., the
first few bytes of the file. To specify
a particular image format, precede the filename with an image format name
and a colon (i.e.ps:image) or specify the image type as the
filename suffix.
The magic number takes precedence over the filename suffix
and the prefix takes precedence over the magic number and the suffix
in input files.
The prefix takes precedence over the filename
suffix in output files. To read the "built-in" formats (GRANITE, H, LOGO,
NETSCAPE, PLASMA, and ROSE) use a prefix (including the colon) without a
filename or suffix. To read the XC format, follow the colon with a color
specification. To read the CAPTION format, follow the colon with a text
string or with a filename prefixed with the at symbol (@).
Finally, when running on platforms that allow it, precede the image file name
with | to pipe to or from a system command (this feature is not
available on VMS, Win32 and Macintosh platforms). Use a backslash or
quotation marks to prevent your shell from interpreting the |.
Use an optional index enclosed in brackets after an input file name to specify
a desired subimage of a multi-resolution image format like Photo CD
(e.g. "img0001.pcd[4]") or a range for MPEG images
(e.g. "video.mpg[50-75]"). A subimage
specification can be disjoint (e.g. "image.tiff[2,7,4]"). For
raw images, specify a subimage with a geometry
(e.g. -size 640x512 "image.rgb[320x256+50+50]").
Surround the image name with quotation marks to prevent your shell
from interpreting the square brackets.
Single images are written with the filename you specify. However, multi-part
images (e.g., a multi-page PostScript document with +adjoin specified)
are written
with the filename followed by a period (.) and the scene number. You
can change this behavior by embedding a %d, %0Nd, %o, %0No, %x,
or %0Nx printf
format specification in the file name. For example,
When running a commandline utility, you can
prepend an at sign @ to a filename to read a list of image
filenames from that file. This is convenient in the event you have too
many image filenames to fit on the command line.
Options are processed in command line order. Any option you specify on
the command line remains in effect for the set of images that follows,
until the set is terminated by the appearance of any option or -noop.
Some options only affect the decoding of images and others only the encoding.
The latter can appear after the final group of input images.
This is a combined list of the commandline options used by the ImageMagick
utilities (animate, composite, convert, display, identify,
import, mogrify and montage).
In this document, angle brackets ("<>") enclose variables and curly
brackets ("{}") enclose optional parameters. For example,
"-fuzz <distance>{%}" means you can use the
option "-fuzz 10"
or "-fuzz 2%".
- -adjoin
-
join images into a single multi-image file
By default, all images of an image sequence are stored in the same
file. However, some formats (e.g. JPEG) do not support more than one image
and are saved to separate files. Use +adjoin to force this
behavior.
- -affine <matrix>
-
drawing transform matrix
This option provides a transform matrix {sx,rx,ry,sy,tx,ty} for
use by subsequent -draw or -transform options.
- -annotate <x-rotate>x<y-rotate>{+-}<x>{+-}<y> text
-
annotate an image with text
This is a convenience option for annotating your image with text. For
more precise control over your text annotations, use -draw.
- -antialias
-
remove pixel aliasing
By default antialiasing algorithms are used when drawing objects (e.g. lines)
or rendering vector formats (e.g. WMF and Postscript). Use +antialias to
disable use of antialiasing algorithms. Reasons to disable antialiasing
include avoiding increasing colors in the image, or improving rendering speed.
- -append
-
append a set of images
This option creates a single image where the images in the original set
are stacked top-to-bottom. If they are not of the same width,
any narrow images will be expanded to fit using the background color.
Use +append to stack images left-to-right. The set of images
is terminated by the appearance of any option.
If the -append
option appears after all of the input images, all images are appended.
- -authenticate <string>
-
decrypt image with this password
Use this option to supply a password for decrypting an image or an
image sequence, if it is being read from a format such as PDF that supports
encryption. Encrypting images being written is not supported.
- -average
-
average a set of images
The set of images
is terminated by the appearance of any option.
If the -average
option appears after all of the input images, all images are averaged.
- -backdrop <color>
-
display the image centered on a backdrop.
This backdrop covers the entire workstation screen and is useful for hiding
other X window activity while viewing the image. The color of the backdrop
is specified as the background color.
The color is specified using the format described under the -fill
option.
Refer to
"X Resources", below,
for details.
- -background <color>
-
the background color
The color is specified using the format described under the -fill
option.
- -blue-primary <x>,<y>
-
blue chromaticity primary point
- -blur <radius>{x<sigma>}
-
blur the image with a Gaussian operator
Blur with the given radius and
standard deviation (sigma).
- -border <width>x<height>
-
surround the image with a border of color
See -geometry for details
about the geometry specification.
- -bordercolor <color>
-
the border color
The color is specified using the format described under the -fill
option.
- -borderwidth <geometry>
-
the border width
- -box <color>
-
set the color of the annotation bounding box
The color is specified using the format described under the -fill
option.
See -draw for further
details.
- -cache <threshold>
-
(This option has been replaced by the -limit option)
- -channel <type>
-
the type of channel
Choose from: Red, Green, Blue, Alpha,
Cyan, Magenta, Yellow, Black,
RGB, RGBA, CMYK, or CMYKA.
By default, ImageMagick applies operations all channels, except the opacity channel, in an image. Use
this option to apply an operation to only select channels of an image. For
example to only negate the alpha channel of an image, use -channel Alpha -negate.
- -charcoal <factor>
-
simulate a charcoal drawing
- -chop <width>x<height>{+-}<x>{+-}<y>{%}
-
remove pixels from the interior of an image
Width and height give the number of columns and rows to remove,
and x and y are offsets that give the location of the
leftmost column and topmost row to remove.
The x offset normally specifies the leftmost column to remove.
If the -gravity option is present with NorthEast, East,
or SouthEast
gravity, it gives the distance leftward from the right edge
of the image to the rightmost column to remove. Similarly, the y offset
normally specifies the topmost row to remove, but if
the -gravity option is present with SouthWest, South,
or SouthEast
gravity, it specifies the distance upward from the bottom edge of the
image to the bottom row to remove.
The -chop option removes entire rows and columns,
and moves the remaining corner blocks leftward and upward to close the gaps.
- -clip
-
apply the clipping path, if one is present
If a clipping path is present, it will be applied to subsequent operations.
For example, if you type the following command:
convert -clip -negate cockatoo.tif negated.tif
only the pixels within the clipping path are negated.
The -clip feature requires the XML library. If the XML library
is not present, the option is ignored.
- -coalesce
-
merge a sequence of images
Each image N in the sequence after Image 0 is replaced with the image
created by flattening images 0 through N.
The set of images
is terminated by the appearance of any option.
If the -coalesce
option appears after all of the input images, all images are coalesced.
- -colorize <value>
-
colorize the image with the fill color
Specify the amount of colorization as a percentage. You can apply separate
colorization values to the red, green, and blue channels of the image with
a colorization value list delimited with slashes (e.g. 0/0/50).
- -colormap <type>
-
define the colormap type
Choose between shared or private.
This option only applies when the default X server visual is PseudoColor
or GRAYScale. Refer to -visual for more details. By default,
a shared colormap is allocated. The image shares colors with other X clients.
Some image colors could be approximated, therefore your image may look
very different than intended. Choose Private and the image colors
appear exactly as they are defined. However, other clients may
go technicolor when the image colormap is installed.
- -colors <value>
-
preferred number of colors in the image
The actual number of colors in the image may be less than your request,
but never more. Note, this is a color reduction option. Images with less
unique colors than specified with this option will have any duplicate or
unused colors removed. The ordering of an existing color palette may be
altered. When converting an image from color to grayscale, convert the
image to the gray colorspace before reducing the number of colors since
doing so is most efficient. Refer to <a
href="quantize.html">quantize for more details.
Note, options -dither, -colorspace, and -treedepth
affect the color reduction algorithm.
- -colorspace <value>
-
the type of colorspace
Choices are:
CMYK, GRAY, HSL, HWB, OHTA, RGB,
Transparent, XYZ, YCbCr, YIQ, YPbPr,
or
YUV.
Color reduction, by default, takes place in the RGB color space. Empirical
evidence suggests that distances in color spaces such as YUV or YIQ correspond
to perceptual color differences more closely than do distances in RGB space.
These color spaces may give better results when color reducing an image.
Refer to quantize for more details.
The Transparent color space behaves uniquely in that it preserves
the matte channel of the image if it exists.
The -colors or -monochrome option, or saving to a file
format which requires color reduction, is required for this option to
take effect.
- -combine
-
combine one or more images into a single image
The
grayscale value of the pixels of each image in the sequence is assigned in
order to the specified hannels of the combined image. The typical
ordering would be image 1 => Red, 2 => Green, 3 => Blue, etc.
- -comment <string>
-
annotate an image with a comment
Use this option to assign a specific comment to the image, when writing
to an image format that supports comments. You can include the
image filename, type, width, height, or other image attribute by embedding
special format characters listed under the -format option.
The comment is not drawn on the image, but is embedded in the image
datastream via a "Comment" tag or similar mechanism. If you want the
comment to be visible on the image itself, use the -draw option.
For example,
-comment "%m:%f %wx%h"
produces an image comment of MIFF:bird.miff 512x480 for an image
titled bird.miff and whose width is 512 and height is 480.
If the first character of string is @, the image comment
is read from a file titled by the remaining characters in the string.
- -compose <operator>
-
the type of image composition
The description of composition uses abstract terminology in order to
allow the the description to be more clear, while avoiding constant
values which are specific to a particular build configuration. Each image
pixel is represented by red, green, and blue levels (which are equal for
a gray pixel). MaxRGB is the maximum integral value which may be stored
in the red, green, or blue channels of the image. Each image pixel may
also optionally (if the image matte channel is enabled) have an
associated level of opacity (ranging from opaque to transparent), which
may be used to determine the influence of the pixel color when
compositing the pixel with another image pixel. If the image matte
channel is disabled, then all pixels in the image are treated as opaque.
The color of an opaque pixel is fully visible while the color of a
transparent pixel color is entirely absent (pixel color is ignored).
By definition, raster images have a rectangular shape. All image rows are
of equal length, and all image columns have the same number of rows. By
treating the alpha channel as a visual "mask" the rectangular image may
be given a "shape" by treating the alpha channel as a cookie-cutter for
the image. Pixels within the shape are opaque, while pixels outside the
shape are transparent. Pixels on the boundary of the shape may be between
opaque and transparent in order to provide antialiasing (visually smooth
edges). The description of the composition operators use this concept of
image "shape" in order to make the description of the operators easier to
understand. While it is convenient to describe the operators in terms of
"shapes" they are by no means limited to mask-style operations since they
are based on continuous floating-point mathematics rather than simple
boolean operations.
By default, the Over composite operator is used. The following
composite operators are available:
Over
In
Out
Atop
Xor
Plus
Minus
Difference
Multiply
Bumpmap
The behavior of each operator is described below.
Over
The result will be the union of the two image shapes, with opaque areas
of change-image obscuring base-image in the region of
overlap.
In
The result is simply change-image cut by the shape of
base-image. None of the image data of base-image will be in
the result.
Out
The resulting image is change-image with the shape of
base-image cut out.
Atop
The result is the same shape as base-image, with
change-image obscuring base-image where the image shapes
overlap. Note this differs from over because the portion of
change-image outside base-image's shape does not appear in
the result.
Xor
The result is the image data from both change-image and
base-image that is outside the overlap region. The overlap region
will be blank.
Plus
The result is just the sum of the image data. Output values are cropped
to MaxRGB (no overflow). This operation is independent of the matte
channels.
Minus
The result of change-image - base-image, with underflow
cropped to zero. The matte channel is ignored (set to opaque, full
coverage).
Difference
The result of abs(change-image - base-image). This is
useful for comparing two very similar images.
Multiply
The result of change-image * base-image. This is useful for
the creation of drop-shadows.
Bumpmap
The result base-image shaded by change-image.
- -compress <type>
-
the type of image compression
Choices are: None, BZip, Fax,
Group4,
JPEG, Lossless,
LZW, RLE or Zip.
Specify +compress to store the binary image in an uncompressed format.
The default is the compression type of the specified image file.
If LZW compression is specified but LZW compression has not been enabled,
the image data will be written
in an uncompressed LZW format that can be read by LZW decoders. This
may result in larger-than-expected GIF files.
"Lossless" refers to lossless JPEG, which is only available if
the JPEG library has been patched to support it. Use of lossless JPEG is
generally not recommended.
Use the -quality option to set the compression level to be used by
JPEG, PNG, MIFF, and MPEG encoders. Use the -sampling-factor
option to set the sampling factor to be used by JPEG, MPEG, and YUV encoders
for downsampling the chroma channels.
- -contrast
-
enhance or reduce the image contrast
This option enhances the intensity differences between the lighter and
darker elements of the image. Use -contrast to enhance
the image
or +contrast to reduce the image contrast.
For a more pronounced effect you can repeat the option:
convert rose: -contrast -contrast rose_c2.png
- -convolve <kernel>
-
convolve image with the specified convolution kernel
The kernel is specified as a comma-separated list of integers, ordered
left-to right, starting with the top row.
The order of the kernel is determined by the square root of the
number of entries. Presently only square kernels are supported.
- -crop <width>x<height>{+-}<x>{+-}<y>{%}
-
preferred size and location of the cropped image
See -geometry for details
about the geometry specification.
The width and height give the size of the image that remains after cropping,
and x and y are offsets that give the location of the top left
corner of the cropped
image with respect to the original image. To specify the amount to be
removed, use -shave instead.
If the x and y offsets are present, a single image is
generated, consisting of the pixels from the cropping region.
The offsets specify the location of the upper left corner of
the cropping region measured downward and rightward with respect to the
upper left corner of the image.
If the -gravity option is present with NorthEast, East,
or SouthEast
gravity, it gives the distance leftward from the right edge
of the image to the right edge of the cropping region. Similarly, if
the -gravity option is present with SouthWest, South,
or SouthEast
gravity, the distance is measured upward between the bottom
edges.
If the x and y offsets are omitted, a set of tiles of the
specified geometry, covering the entire input image, is generated. The
rightmost tiles and the bottom tiles are smaller if the
specified geometry extends beyond the dimensions of the input image.
- -cycle <amount>
-
displace image colormap by amount
Amount defines the number of positions each colormap entry is
shifted.
- -debug <events>
-
enable debug printout
The events parameter specifies which events are to be logged. It
can be either None, All, or a comma-separated list
consisting of one or more of the following domains: Annotate,
Blob, Cache, Coder, Configure,
Deprecate, Exception, Locale, Render,
Resource, TemporaryFile, Transform, X11,
or User.
For example, to log cache and blob events, use
convert -debug "Cache,Blob" rose: rose.png
The "User" domain is normally empty, but developers can log "User" events
in their private copy of ImageMagick.
Use the -log option to specify the format for debugging output.
Use +debug to turn off all logging.
An alternative to using -debug is to use the MAGICK_DEBUG
environment variable. The allowed values for the MAGICK_DEBUG
environment variable are the same as for the -debug option.
- -deconstruct
-
break down an image sequence into constituent parts
This option compares each image with the next in a sequence and
returns the maximum bounding region of any pixel differences it discovers.
This method can undo a coalesced sequence returned by the
-coalesce option, and is useful for removing redundant information
from a GIF or MNG animation.
The sequence of images
is terminated by the appearance of any option.
If the -deconstruct
option appears after all of the input images, all images are deconstructed.
- -define <key>{=<value>},...
-
add coder/decoder specific options
This option creates one or more definitions for coders and
decoders to use while reading and writing image data. Definitions
may be passed to coders and decoders to control options that are
specific to certain image formats. If value is missing for a
definition, an empty-valued definition of a flag will be created with
that name. This is used to control on/off options. Use +define
<key>,... to remove definitions previously created. Use
+define "*" to remove all existing definitions.
The following definitions may be created:
jp2:rate=<value>
Specify the compression factor to use while writing JPEG-2000
files. The compression factor is the reciprocal of the compression
ratio. The valid range is 0.0 to 1.0, with 1.0 indicating lossless
compression. If defined, this value overrides the -quality setting.
The default quality setting of 75 results in a rate value of 0.06641.
ps:imagemask
If the ps:imagemask flag is defined, the PS3 and EPS3 coders will
create Postscript files that render bilevel images with the Postscript
imagemask operator instead of the image operator.
For example, to create a postscript file that will render only the black
pixels of a bilevel image, use:
convert bilevel.tif -define ps:imagemask eps3:stencil.ps
- -delay <1/100ths of a second>
-
display the next image after pausing
This option is useful for regulating the animation of image sequences
Delay/100 seconds must expire before the display
of the next image. The default is no delay between each showing of the
image sequence. The maximum delay is 65535.
You can specify a delay range (e.g. -delay 10-500) which sets the
minimum and maximum delay.
- -delete <index>
-
delete the image from the image sequence
- -density <width>x<height>
-
horizontal and vertical resolution in pixels of the image
This option specifies the image resolution to store while encoding a
raster image or the canvas resolution while rendering (reading) vector
formats such as Postscript, PDF, WMF, and SVG into a raster image. Image
resolution provides the unit of measure to apply when rendering to an
output device or raster image. The default unit of measure is in dots
per inch (DPI). The -units option may be used to select dots per
centimeter instead.
The default resolution is 72 dots per inch, which is equivalent to
one point per pixel (Macintosh and Postscript standard). Computer
screens are normally 72 or 96 dots per inch while printers typically
support 150, 300, 600, or 1200 dots per inch. To determine the
resolution of your display, use a ruler to measure the width of your
screen in inches, and divide by the number of horizontal pixels (1024 on
a 1024x768 display).
If the file format supports it, this option may be used to update
the stored image resolution. Note that Photoshop stores and obtains
image resolution from a proprietary embedded profile. If this profile is
not stripped from the image, then Photoshop will continue to treat the
image using its former resolution, ignoring the image resolution
specified in the standard file header.
The density option is an attribute and does not alter the underlying
raster image. It may be used to adjust the rendered size for desktop
publishing purposes by adjusting the scale applied to the pixels. To
resize the image so that it is the same size at a different resolution,
use the -resample option.
- -depth <value>
-
depth of the image
This is the number of bits in a color sample within a pixel. The only
acceptable values are 8 or 16. Use this option to specify the depth of
raw images whose depth is unknown such as GRAY, RGB, or CMYK, or to change
the depth of any image after it has been read.
- -descend
-
obtain image by descending window hierarchy
- -despeckle
-
reduce the speckles within an image
- -displace <horizontal scale>x<vertical scale>
-
shift image pixels as defined by a displacement map
With this option, composite image is used as a displacement map. Black,
within the displacement map, is a maximum positive displacement. White is a
maximum negative displacement and middle gray is neutral. The displacement
is scaled to determine the pixel shift. By default, the displacement applies
in both the horizontal and vertical directions. However, if you specify
mask, composite image is the horizontal X displacement and
mask the vertical Y displacement.
- -display <host:display[.screen]>
-
specifies the X server to contact
This option is used with convert for
obtaining image or font from this X server. See X(1).
- -dispose <method>
-
GIF disposal method
The Disposal Method indicates the way in which the graphic is to
be treated after being displayed.
Here are the valid methods:
Undefined No disposal specified.
None Do not dispose between frames.
Background Overwrite the image area with
the background color.
Previous Overwrite the image area with
what was there prior to rendering
the image.
- -dissolve <percent>
-
dissolve an image into another by the given percent
The opacity of the composite image is multiplied by the given percent,
then it is composited over the main image.
- -dither
-
apply Floyd/Steinberg error diffusion to the image
The basic strategy of dithering is to trade intensity resolution for spatial
resolution by averaging the intensities of several neighboring pixels.
Images which suffer from severe contouring when reducing colors can be
improved with this option.
The -colors or -monochrome option is required for this option
to take effect.
Use +dither to turn off dithering and to render PostScript
without text or graphic aliasing. Disabling dithering often (but not
always) leads to decreased processing time.
- -draw <string>
-
annotate an image with one or more graphic primitives
Use this option to annotate an image with one or more graphic primitives.
The primitives include shapes, text, transformations,
and pixel operations. The shape primitives are
point x,y
line x0,y0 x1,y1
rectangle x0,y0 x1,y1
roundRectangle x0,y0 x1,y1 wc,hc
arc x0,y0 x1,y1 a0,a1
ellipse x0,y0 rx,ry a0,a1
circle x0,y0 x1,y1
polyline x0,y0 ... xn,yn
polygon x0,y0 ... xn,yn
Bezier x0,y0 ... xn,yn
path path specification
image operator x0,y0 w,h filename
The text primitive is
text x0,y0 string
The text gravity primitive is
gravity NorthWest, North, NorthEast, West, Center,
East, SouthWest, South, or SouthEast
The text gravity primitive only affects the placement of text and
does not interact with the other primitives. It is equivalent to
using the -gravity commandline option, except that it is
limited in scope to the -draw option in which it appears.
The transformation primitives are
rotate degrees
translate dx,dy
scale sx,sy
skewX degrees
skewY degrees
The pixel operation primitives are
color x0,y0 method
matte x0,y0 method
The shape primitives are drawn in the color specified in the preceding
-stroke option. Except for the line and point
primitives, they are filled with the color specified in the preceding
-fill option. For unfilled shapes, use -fill none.
Point requires a single coordinate.
Line requires a start and end coordinate.
Rectangle
expects an upper left and lower right coordinate.
RoundRectangle has the upper left and lower right coordinates
and the width and height of the corners.
Circle has a center coordinate and a coordinate for
the outer edge.
Use Arc to inscribe an elliptical arc within
a rectangle. Arcs require a start and end point as well as the degree
of rotation (e.g. 130,30 200,100 45,90).
Use Ellipse to draw a partial ellipse
centered at the given point with the x-axis and y-axis radius
and start and end of arc in degrees (e.g. 100,100 100,150 0,360).
Finally, polyline and polygon require
three or more coordinates to define its boundaries.
Coordinates are integers separated by an optional comma. For example,
to define a circle centered at 100,100
that extends to 150,150 use:
-draw 'circle 100,100 150,150'
Paths
(See Paths)
represent an outline of an object which is defined in terms of
moveto (set a new current point), lineto (draw a straight line),
curveto (draw a curve using a cubic Bezier), arc (elliptical or
circular arc) and closepath (close the current shape by drawing a line
to the last moveto) elements. Compound paths (i.e., a path with
subpaths, each consisting of a single moveto followed by one or more
line or curve operations) are possible to allow effects such as
"donut holes" in objects.
Use image to composite an image with another image. Follow the
image keyword with the composite operator, image location, image size,
and filename:
-draw 'image Over 100,100 225,225 image.jpg'
You can use 0,0 for the image size, which means to use the actual
dimensions found in the image header. Otherwise, it will
be scaled to the given dimensions.
See -compose for a description of the composite operators.
Use text to annotate an image with text. Follow the text
coordinates with a string. If the string has embedded spaces, enclose it
in single or double quotes. Optionally you can include the image
filename, type, width, height, or other image attribute by embedding
special format character. See -comment for details.
For example,
-draw 'text 100,100 "%m:%f %wx%h"'
annotates the image with MIFF:bird.miff 512x480 for an image titled
bird.miff
and whose width is 512 and height is 480.
If the first character of string is @, the text is read from
a file titled by the remaining characters in the string.
Rotate rotates subsequent shape primitives and text primitives about
the origin of the main image. If the -region option precedes the
-draw option, the origin for transformations is the upper left
corner of the region.
Translate translates them.
Scale scales them.
SkewX and SkewY skew them with respect to the origin of
the main image or the region.
The transformations modify the current affine matrix, which is initialized
from the initial affine matrix defined by the -affine option.
Transformations are cumulative within the -draw option.
The initial affine matrix is not affected; that matrix is only changed by the
appearance of another -affine option. If another -draw
option appears, the current affine matrix is reinitialized from
the initial affine matrix.
Use color to change the color of a pixel to the fill color (see
-fill). Follow the pixel coordinate
with a method:
point
replace
floodfill
filltoborder
reset
Consider the target pixel as that specified by your coordinate. The
point
method recolors the target pixel. The replace method recolors any
pixel that matches the color of the target pixel.
Floodfill recolors
any pixel that matches the color of the target pixel and is a neighbor,
whereas filltoborder recolors any neighbor pixel that is not the
border color. Finally, reset recolors all pixels.
Use matte to the change the pixel matte value to the opacity value of the fill color. Follow
the pixel coordinate with a method (see the color primitive for
a description of methods). The point method changes the matte value
of the target pixel. The replace method changes the matte value
of any pixel that matches the color of the target pixel. Floodfill
changes the matte value of any pixel that matches the color of the target
pixel and is a neighbor, whereas
filltoborder changes the matte
value of any neighbor pixel that is not the border color (-bordercolor).
Finally reset changes the matte value of all pixels.
You can set the primitive color, font, and font bounding box
color with
-fill, -font, and -box respectively. Options
are processed in command line order so be sure to use these
options before the -draw option.
- -edge <radius>
-
detect edges within an image
- -emboss <radius>
-
emboss an image
- -encoding <type>
-
specify the text encoding
Choose from AdobeCustom, AdobeExpert, AdobeStandard, AppleRoman,
BIG5, GB2312, Latin 2, None, SJIScode, Symbol, Unicode, Wansung.
- -endian <type>
-
specify endianness (MSB or LSB) of the image
Use +endian to revert to unspecified endianness.
- -enhance
-
apply a digital filter to enhance a noisy image
- -equalize
-
perform histogram equalization to the image
- -evaluate <operator> <constant>
-
evaluate an arithmetic, relational, or logical expression
Choose from: Add, And, Divide, LeftShift,
Max, Min, Multiply, Or,
RightShift, Set, Subtract, or Xor.
- -fill <color>
-
color to use when filling a graphic primitive
Colors are represented in ImageMagick in the same form used by SVG:
name ("convert -list color" to see names)
#RGB (R,G,B are hex numbers, 4 bits each)
#RRGGBB (8 bits each)
#RRRGGGBBB (12 bits each)
#RRRRGGGGBBBB (16 bits each)
#RGBA (4 bits each)
#RRGGBBAA (8 bits each)
#RRRGGGBBBAAA (12 bits each)
#RRRRGGGGBBBBAAAA (16 bits each)
rgb(r,g,b) (r,g,b are decimal numbers)
rgba(r,g,b,a) (r,g,b,a are decimal numbers)
Enclose the color specification in quotation marks to prevent the "#"
or the parentheses from being interpreted by your shell.
For example,
convert -fill blue ...
convert -fill "#ddddff" ...
convert -fill "rgb(65000,65000,65535)" ...
The shorter forms are scaled up, if necessary by replication. For example,
#3af, #33aaff, and #3333aaaaffff are all equivalent.
See -draw for further
details.
- -filter <type>
-
use this type of filter when resizing an image
Use this option to affect the resizing operation of an image (see
-geometry).
Choose from these filters:
Point
Box
Triangle
Hermite
Hanning
Hamming
Blackman
Gaussian
Quadratic
Cubic
Catrom
Mitchell
Lanczos
Bessel
Sinc
The default filter is automatically selected to provide the best quality
while consuming a reasonable amount of time. The Mitchell filter
is used if the image supports a palette, supports a matte channel, or is
being enlarged, otherwise the Lanczos filter is used.
- -flatten
-
flatten a sequence of images
The sequence of images is replaced by a single image created by composing each
image after the first over the first image.
The sequence of images
is terminated by the appearance of any option.
If the -flatten
option appears after all of the input images, all images are flattened.
- -flip
-
create a "mirror image"
reflect the scanlines in the vertical direction.
- -flop
-
create a "mirror image"
reflect the scanlines in the horizontal direction.
- -font <name>
-
use this font when annotating the image with text
You can tag a font to specify whether it is a PostScript, TrueType, or OPTION1
font. For example, Arial.ttf is a TrueType font, ps:helvetica
is PostScript, and x:fixed is OPTION1.
- -foreground <color>
-
define the foreground color
The color is specified using the format described under the -fill
option.
- -format <type>
-
the image format type
When used with the mogrify utility,
this option will convert any image to the image format you specify.
See ImageMagick(1) for a list of image format types supported by
ImageMagick, or see the output of '-list format'.
By default the file is written to its original name. However, if the
filename extension matches a supported format, the extension is replaced
with the image format type specified with -format. For example,
if you specify tiff as the format type and the input image
filename is image.gif, the output image filename becomes
image.tiff.
- -format <string>
-
output formatted image characteristics
When used with the identify utility,
use this option to print information about the image in a format of your
choosing. You can include the image filename, type, width, height,
Exif data, or other image attributes by embedding special format
characters:
%b file size
%c comment
%d directory
%e filename extension
%f filename
%h height
%i input filename
%k number of unique colors
%l label
%m magick
%n number of scenes
%o output filename
%p page number
%q quantum depth
%s scene number
%t top of filename
%u unique temporary filename
%w width
%x x resolution
%y y resolution
%@ bounding box
%# signature
\n newline
\r carriage return
For example,
-format "%m:%f %wx%h"
displays MIFF:bird.miff 512x480 for an image
titled bird.miff and whose width is 512 and height is 480.
If the first character of string is @, the format
is read from a file titled by the remaining characters in the string.
You can also use the following special formatting syntax to print Exif
information contained in the file:
%[EXIF:<tag>]
Where "<tag>" can be one of the following:
* (print all Exif tags, in keyword=data format)
! (print all Exif tags, in tag_number data format)
#hhhh (print data for Exif tag #hhhh)
ImageWidth
ImageLength
BitsPerSample
Compression
PhotometricInterpretation
FillOrder
DocumentName
ImageDescription
Make
Model
StripOffsets
Orientation
SamplesPerPixel
RowsPerStrip
StripByteCounts
XResolution
YResolution
PlanarConfiguration
ResolutionUnit
TransferFunction
Software
DateTime
Artist
WhitePoint
PrimaryChromaticities
TransferRange
JPEGProc
JPEGInterchangeFormat
JPEGInterchangeFormatLength
YCbCrCoefficients
YCbCrSubSampling
YCbCrPositioning
ReferenceBlackWhite
CFARepeatPatternDim
CFAPattern
BatteryLevel
Copyright
ExposureTime
FNumber
IPTC/NAA
ExifOffset
InterColorProfile
ExposureProgram
SpectralSensitivity
GPSInfo
ISOSpeedRatings
OECF
ExifVersion
DateTimeOriginal
DateTimeDigitized
ComponentsConfiguration
CompressedBitsPerPixel
ShutterSpeedValue
ApertureValue
BrightnessValue
ExposureBiasValue
MaxApertureValue
SubjectDistance
MeteringMode
LightSource
Flash
FocalLength
MakerNote
UserComment
SubSecTime
SubSecTimeOriginal
SubSecTimeDigitized
FlashPixVersion
ColorSpace
ExifImageWidth
ExifImageLength
InteroperabilityOffset
FlashEnergy
SpatialFrequencyResponse
FocalPlaneXResolution
FocalPlaneYResolution
FocalPlaneResolutionUnit
SubjectLocation
ExposureIndex
SensingMethod
FileSource
SceneType
Surround the format specification with quotation marks to prevent your shell
from misinterpreting any spaces and square brackets.
- -frame <width>x<height>+<outer bevel width>+<inner bevel width>
-
surround the image with an ornamental border
See -geometry for details
about the geometry specification.
The -frame option is not affected by the -gravity option.
The color of the border is specified with the
-mattecolor command
line option.
- -frame
-
include the X window frame in the imported image
- -fuzz <distance>{%}
-
colors within this distance are considered equal
A number of algorithms search for a target color. By default the color
must be exact. Use this option to match colors that are close to the target
color in RGB space. For example, if you want to automatically trim the
edges of an image with -trim but the image was scanned and the
target background color may differ by a small amount. This option can account
for these differences.
The distance can be in absolute intensity units or, by appending
"%", as a percentage of the maximum possible intensity (255,
65535, or 4294967295).
- -fx <expression>
-
apply a mathematical expression an image or image channels
For example, to extract the matte channel of the image (this is the negative
to what is commonly thought of as the alpha channel mask of the image), use:
convert drawn.png -fx 'a' +matte matte.png
Mathematic operators include
constants: MaxRGB, Opaque, Transparent, Pi
standard operators: +, -, *, etc.
math function name:
abs(), acos(), asin(), atan(), cos(), exp(), log(), ln(),
max(), min(), rand(), sin(), sqrt(), tan()
color names: red, cyan, black, etc
symbols:
u = first image in sequence
v = second image in sequence
i = column offset
j = row offset
p = pixel to use (absolute or relative to current pixel)
w = width of this image
h = height of this image
r = red value (from RGBA), of a specific or current pixel
g = green ''
b = blue ''
a = alpha ''
c = cyan value of CMYK color of pixel
y = yellow ''
m = magenta ''
k = black ''
intensity = pixel intensity
Specify the image source using an image index represented by `u', starting at
zero for the first image, (eg: `u[3]' is the fourth image in the
image sequence). A negative image index counts images from the end
of the current image sequence, therefore `u[-1]' refers to the last image
in the sequence.
Without an index `u' or `v' represent the first and second image of
the sequence. If no image is specified, the `u' image is used.
For example to reduce the intensity of the red channel by 50%, use
convert image.png -channel red -fx 'u/2.0' image.jpg
The pixels are processed one at a time, but a different pixel of a image
can be specified with a pixel index represented by `p'. For example,
p[-1].g Green value of pixel to the immediate left
of current
p[-1,-1].r Red value, diagonally left and up from
current pixel
To specify an absolute position, use braces, rather than brackets
p{12,34}.b is the blue pixel at image location 12,34
The other symbols specify the value you wish to retrieve.
A pixel outside the boundary of the image has a value dictated by the
-virtual-pixel option setting.
The -channel setting can be used to specify the output channel of the
result. If no output channel is given the result is set over all
channels, except the opacity channel. For example, suppose you want to replace the red channel of
alpha.png with the average of the green channels from the images alpha.png
and beta.png, use:
convert alpha.png beta.png -channel red \\
-fx '(u.g+v.g)/2' gamma.png
Note that all the original images in the current image sequence are
replaced by the updated `alpha.png' image.
- -gamma <value>
-
level of gamma correction
The same color image displayed on two different workstations may look
different due to differences in the display monitor. Use gamma
correction to adjust for this color difference. Reasonable values extend
from 0.8 to 2.3. Gamma less than 1.0 darkens the image and
gamma greater than 1.0 lightens it. Large adjustments to image gamma may
result in the loss of some image information if the pixel quantum size
is only eight bits (quantum range 0 to 255).
You can apply separate gamma values to the red, green, and blue channels
of the image with a gamma value list delimited with slashes
(e.g., 1.7/2.3/1.2).
Use +gamma value
to set the image gamma level without actually adjusting
the image pixels. This option is useful if the image is of a known gamma
but not set as an image attribute (e.g. PNG images).
- -Gaussian <radius>{x<sigma>}
-
blur the image with a Gaussian operator
Use the given radius and standard deviation (sigma).
- -geometry <width>x<height>{+-}<x>{+-}<y>{%}{@} {!}{<}{>}
-
preferred size and location of the Image window.
By default, the window size is the image
size and the location is chosen by you when it is mapped.
By default, the width and height are maximum values. That is, the image
is expanded or contracted to fit the width and height value while maintaining
the aspect ratio of the image. Append an exclamation point to the geometry
to force the image size to exactly the size you specify. For example,
if you specify 640x480! the image width is set to 640 pixels and
height to 480.
If only the width is specified, the width assumes the
value and the height is chosen to maintain the aspect ratio of the image.
Similarly, if only the height is specified (e.g., -geometry x256),
the width is chosen to maintain the aspect ratio.
To specify a percentage width or height instead, append %. The image size
is multiplied by the width and height percentages to obtain the final image
dimensions. To increase the size of an image, use a value greater than
100 (e.g. 125%). To decrease an image's size, use a percentage less than
100.
Use @ to specify the maximum area in pixels of an image.
Use > to change the dimensions of the image only if
its width or height exceeds the geometry specification. < resizes
the image only if both of its dimensions are less than the geometry
specification. For example,
if you specify '640x480>' and the image size is 256x256, the image
size does not change. However, if the image is 512x512 or 1024x1024, it is
resized to 480x480. Enclose the geometry specification in quotation marks to
prevent the < or > from being interpreted by your shell
as a file redirection.
When used with animate and display, offsets are handled in
the same manner as in X(1) and the -gravity option is not used.
If the x is negative, the offset is measured leftward
from the right edge of the
screen to the right edge of the image being displayed.
Similarly, negative y is measured between the bottom edges. The
offsets are not affected by "%"; they are always measured in pixels.
When used as a composite option, -geometry
gives the dimensions of the image and its location with respect
to the composite image. If the -gravity option is present
with NorthEast, East, or SouthEast gravity, the x
represents the distance from the right edge of the image to the right edge of
the composite image. Similarly, if the -gravity option is present
with SouthWest, South, or SouthEast gravity, y
is measured between the bottom edges. Accordingly, a positive offset will
never point in the direction outside of the image. The
offsets are not affected by "%"; they are always measured in pixels.
To specify the dimensions of the composite image, use the -resize
option.
When used as a convert, import or mogrify option,
-geometry is synonymous with -resize and
specifies the size of the output image. The offsets, if present, are ignored.
When used as a montage option, -geometry specifies the image
size and border size for each tile; default is 256x256+0+0. Negative
offsets (border dimensions) are meaningless. The -gravity
option affects the placement of the image within the tile; the default
gravity for this purpose is Center. If the "%" sign appears in
the geometry specification, the tile size is the specified percentage of
the original dimensions of the first tile.
To specify the dimensions of the montage, use the -resize
option.
- -gravity <type>
-
direction primitive gravitates to when annotating the image.
Choices are: NorthWest, North,
NorthEast, West, Center, East, SouthWest, South, SouthEast.
The direction you choose specifies where to position the text
when annotating
the image. For example Center gravity forces the text to be centered
within the image. By default, the image gravity is NorthWest.
See -draw for more details about graphic primitives. Only the
text primitive is affected by the -gravity option.
The -gravity option is also used in concert with the -geometry
option and other options that take <geometry> as a parameter, such
as the -crop option. See -geometry for details of how the
-gravity option interacts with the
<x> and <y> parameters of a geometry
specification.
When used as an option to composite, -gravity
gives the direction that the image gravitates within the composite.
When used as an option to montage, -gravity gives the direction
that an image gravitates within a tile. The default gravity is Center
for this purpose.
- -green-primary <x>,<y>
-
green chromaticity primary point
- -help
-
print usage instructions
- -iconGeometry <geometry>
-
specify the icon geometry
Offsets, if present in the geometry specification, are handled in
the same manner as the -geometry option, using X11 style to handle
negative offsets.
- -iconic
-
iconic animation
- -immutable
-
make image immutable
- -implode <factor>
-
implode image pixels about the center
- -insert <index>
-
insert last image into the image sequence
- -intent <type>
-
use this type of rendering intent when managing the image color
Use this option to affect the the color management operation of an image (see
-profile).
Choose from these intents:
Absolute, Perceptual, Relative, Saturation
The default intent is undefined.
- -interlace <type>
-
the type of interlacing scheme
Choices are: None, Line, Plane,
or Partition. The default is None.
This option is used to specify the type of interlacing scheme for raw image
formats such as RGB or YUV.
None means do not interlace
(RGBRGBRGBRGBRGBRGB...),
Line uses scanline interlacing
(RRR...GGG...BBB...RRR...GGG...BBB...),
and
Plane uses plane interlacing (RRRRRR...GGGGGG...BBBBBB...).
Partition
is like plane except the different planes are saved to individual files
(e.g. image.R, image.G, and image.B).
Use Line or Plane to create an
interlaced PNG or GIF or
progressive JPEG image.
- -label <name>
-
assign a label to an image
Use this option to assign a specific label to the image, when writing
to an image format that supports labels, such as TIFF, PNG, MIFF, or
PostScript. You can include the the image filename, type, width, height,
or other image attribute by embedding special format character. A label
is not drawn on the image, but is embedded in the image datastream via
a "Label" tag or similar mechanism. If you want the
label to be visible on the image itself, use the -draw option.
See -comment for details.
For example,
-label "%m:%f %wx%h"
produces an image label of MIFF:bird.miff 512x480 for an image titled
bird.miff
and whose width is 512 and height is 480.
If the first character of string is @, the image label is
read from a file titled by the remaining characters in the string.
When converting to PostScript, use this option to specify a header
string to print above the image. Specify the label font with
-font.
When creating a montage, by default the label associated with an image
is displayed with the corresponding tile in the montage. Use the
+label option to suppress this behavior.
- -lat <width>x<height>{+-}<offset>{%}
-
perform local adaptive thresholding
Perform local adaptive thresholding using the specified width, height,
and offset. The offset is a distance in sample space from the mean,
as an absolute integer ranging from 0 to the maximum sample value or
as a percentage.
- -level <black_point>{%}{,<white_point>}{%}{,<gamma>}
-
adjust the level of image contrast
Give one, two or three values delimited with commas: black-point,
white-point, gamma (e.g. 10,250,1.0 or 2%,98%,0.5). The black and white
points range from 0 to MaxRGB or from 0 to 100%; if the white point is
omitted it is set to MaxRGB-black_point. If a "%" sign is present
anywhere in the string, the black and white points are percentages of
MaxRGB. Gamma is an exponent that ranges from 0.1 to 10.; if it is
omitted, the default of 1.0 (no gamma correction) is assumed. This
interface works similar to Photoshop's "Image->Adjustments->Levels..."
"Input Levels" interface.
- -limit <type> <value>
-
Area, Disk, File, Map, or Memory resource limit
The value for File is in number of files. The Disk limit is in Gigabytes
and the values for the other
resources are in Megabytes. By default the limits are 768 files, 1024MB memory,
4096MB map, and unlimited disk, but these are adjusted at startup
time on platforms that can provide information about available resources.
When the limit is reached, ImageMagick will fail in some fashion, or
take compensating actions if possible.
For example, -limit memory 32 -limit map 64 limits memory
When the pixel cache reaches the memory limit it uses
memory mapping. When that limit is reached it goes to disk. If disk has
a hard limit, the program will fail.
Resource limits may also be set using environment variables. The
environment variables MAGICK_AREA_LIMIT, MAGICK_DISK_LIMIT,
MAGICK_FILES_LIMIT, MAGICK_MEMORY_LIMIT, and
MAGICK_MAP_LIMIT, may be used to set the limits for disk space,
open files, heap memory, and memory map size, respectively.
You can use the option -list resource to find out the limits.
- -linewidth
-
the line width for subsequent draw operations
- -list <type>
-
the type of list
Choices are: Coder, Color, Delegate, Format, Magic,
Module, Resource, or Type.
This option lists information about the ImageMagick configuration.
- -log <string>
-
Specify format for debug log
This option specifies the format for the log printed when the -debug
option is active.
You can display the following components by embedding
special format characters:
%d domain
%e event
%f function
%l line
%m module
%p process ID
%r real CPU time
%t wall clock time
%u user CPU time
%% percent sign
\n newline
\r carriage return
For example:
convert -debug coders -log "%u %m:%l %e" in.gif out.png
The default behavior is to print all of the components.
- -loop <iterations>
-
add Netscape loop extension to your GIF animation
A value other than zero forces the animation to repeat itself up to
iterations
times.
- -magnify <factor>
-
magnify the image
- -map <filename>
-
choose a particular set of colors from this image
[convert or mogrify]
By default, color reduction chooses an optimal set of colors that best
represent the original image. Alternatively, you can choose a particular
set of colors from an image file with this option.
Use
+map to reduce
all images in the image sequence that follows to a single optimal set of colors
that best represent all the images. The sequence of images
is terminated by the appearance of any option.
If the +map
option appears after all of the input images, all images are mapped.
- -map <type>
-
display image using this type.
[animate or display]
Choose from these Standard Colormap types:
best
default
gray
red
green
blue
The X server must support the Standard Colormap you choose,
otherwise an error occurs. Use list as the type and display
searches the list of colormap types in top-to-bottom order until
one is located. See xstdcmap(1) for one way of creating Standard
Colormaps.
- -mask <filename>
-
Specify a clipping mask
The image read from the file is used as a clipping mask. It must have
the same dimensions as the image being masked.
If the mask image contains an alpha channel, the opacity of each pixel is
used to define the mask. Otherwise, the intensity (gray level) of each
pixel is used.
Use +mask to remove the clipping mask.
It is not necessary to use -clip to activate the mask; -clip
is implied by -mask.
- -matte
-
store matte channel if the image has one
If the image does not have a matte channel, create an opaque one.
Use +matte to ignore the matte channel and to avoid writing a
matte channel in the output file.
- -mattecolor <color>
-
specify the color to be used with the -frame option
The color is specified using the format described under the -fill
option.
- -median <radius>
-
apply a median filter to the image
- -metric type
-
Choose from MAE, MSE, PSE, PSNR, or RMSE
- -mode <value>
-
mode of operation
- -modulate <value>
-
vary the brightness, saturation, and hue of an image
Specify the percent change in brightness, the color saturation, and the
hue separated by commas. For example, to increase the color brightness
by 20% and decrease the color saturation by 10% and leave the hue unchanged,
use: -modulate 120,90.
- -monochrome
-
transform the image to black and white
- -morph <frames>
-
morphs an image sequence
Both the image pixels and size are linearly interpolated to give the appearance
of a meta-morphosis from one image to the next.
The sequence of images
is terminated by the appearance of any option.
If the -morph
option appears after all of the input images, all images are morphed.
- -mosaic
-
create a mosaic from an image or an image sequence
The -page option can be used to establish the dimensions of the mosaic
and to locate the images within the mosaic.
The sequence of images
is terminated by the appearance of any option.
If the -mosaic
option appears after all of the input images, all images are included
in the mosaic.
- -name
-
name an image
- -negate
-
replace every pixel with its complementary color
The red, green, and blue intensities of an image are negated.
White becomes black,
yellow becomes blue, etc.
Use +negate
to only negate the grayscale pixels of the image.
- -noise <radius|type>
-
add or reduce noise in an image
The principal function of noise peak elimination filter is to smooth the
objects within an image without losing edge information and without creating
undesired structures. The central idea of the algorithm is to replace a
pixel with its next neighbor in value within a pixel window, if this pixel
has been found to be noise. A pixel is defined as noise if and only if
this pixel is a maximum or minimum within the pixel window.
Use radius to specify the width of the neighborhood.
Use +noise followed by a noise type to add noise to an image. Choose
from these noise types:
Uniform
Gaussian
Multiplicative
Impulse
Laplacian
Poisson
- -normalize
-
transform image to span the full range of color values
This is a contrast enhancement technique.
- -opaque <color>
-
change this color to the fill color within the image
The color is specified using the format described under the -fill
option.
See -fill for more details.
- -page <width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}
-
size and location of an image canvas
Use this option to specify the dimensions of the
PostScript page
in dots per inch or a TEXT page in pixels. The choices for a PostScript
page are:
11x17 792 1224
Ledger 1224 792
Legal 612 1008
Letter 612 792
LetterSmall 612 792
ArchE 2592 3456
ArchD 1728 2592
ArchC 1296 1728
ArchB 864 1296
ArchA 648 864
A0 2380 3368
A1 1684 2380
A2 1190 1684
A3 842 1190
A4 595 842
A4Small 595 842
A5 421 595
A6 297 421
A7 210 297
A8 148 210
A9 105 148
A10 74 105
B0 2836 4008
B1 2004 2836
B2 1418 2004
B3 1002 1418
B4 709 1002
B5 501 709
C0 2600 3677
C1 1837 2600
C2 1298 1837
C3 918 1298
C4 649 918
C5 459 649
C6 323 459
Flsa 612 936
Flse 612 936
HalfLetter 396 612
For convenience you can specify the page size by media (e.g. A4, Ledger,
etc.). Otherwise, -page behaves much like
-geometry (e.g. -page letter+43+43>).
This option is also used to place subimages when writing to a multi-image
format that supports offsets, such as GIF89 and MNG. When used for this
purpose the offsets are always measured from the
top left corner of the canvas and are not affected by the -gravity
option.
To position a GIF or MNG image, use -page{+-}<x>{+-}<y>
(e.g. -page +100+200). When writing to a MNG file, a -page
option appearing ahead of the first image in the sequence with nonzero
width and height defines the width and height values that are written in
the MHDR chunk. Otherwise, the MNG width and height are computed
from the bounding box that contains all images in the sequence. When
writing a GIF89 file, only the bounding box method is used to determine its
dimensions.
For a PostScript page, the image is sized as in -geometry and positioned
relative to the lower left hand corner of the page by
{+-}<xoffset>{+-}<y
offset>. Use
-page 612x792>, for example, to center the
image within the page. If the image size exceeds the PostScript page, it
is reduced to fit the page.
The default gravity for the -page
option is NorthWest, i.e., positive x and
y offset are measured rightward and downward from the top
left corner of the page, unless the -gravity option is present with
a value other than NorthWest.
The default page dimensions for a TEXT image is 612x792.
This option is used in concert with -density.
Use +page to remove the page settings for an image.
- -paint <radius>
-
simulate an oil painting
Each pixel is replaced by the most frequent color in a circular neighborhood
whose width is specified with radius.
- -pause <seconds>
-
pause between animation loops [animate]
Pause for the specified number of seconds before repeating the
animation.
- -pause <seconds>
-
pause between snapshots [import]
Pause for the specified number of seconds before taking the next
snapshot.
- -pen <color>
-
(This option has been replaced by the -fill option)
- -ping
-
efficiently determine image characteristics
- -pointsize <value>
-
pointsize of the PostScript, OPTION1, or TrueType font
- -posterize <levels>
-
reduce the image to a limited number of color levels
- -preview <type>
-
image preview type
Use this option to affect the preview operation of an image (e.g.
convert file.png
-preview Gamma Preview:gamma.png). Choose from these previews:
Rotate
Shear
Roll
Hue
Saturation
Brightness
Gamma
Spiff
Dull
Grayscale
Quantize
Despeckle
ReduceNoise
Add Noise
Sharpen
Blur
Threshold
EdgeDetect
Spread
Shade
Raise
Segment
Solarize
Swirl
Implode
Wave
OilPaint
CharcoalDrawing
JPEG
The default preview is JPEG.
- -process <command>
-
process a sequence of images using a process module
The command argument has the form module=arg1,arg2,arg3,...,argN
where module is the name of the module to invoke (e.g. "analyze")
and arg1,arg2,arg3,...,argN are an arbitrary number of arguments to
pass to the process module.
The sequence of images
is terminated by the appearance of any option.
If the -process
option appears after all of the input images, all images are processed.
- -profile <filename>
-
add ICM, IPTC, or generic profile to image
-profile filename adds an ICM (ICC color management), IPTC
(newswire information), or a generic profile to the image.
Use +profile icm, +profile iptc,
or +profile profile_name to remove the respective
profile. Use identify -verbose to find out what profiles are in the
image file. Use +profile "*" to remove all profiles.
To extract a profile, the -profile option is not used. Instead,
simply write the file to an image
format such as APP1, 8BIM, ICM, or IPTC.
For example, to extract the Exif data (which is stored in JPEG files
in the APP1 profile), use
convert cockatoo.jpg exifdata.app1
- -quality <value>
-
JPEG/MIFF/PNG compression level
For the JPEG and MPEG image formats, quality is 0 (lowest image quality
and highest
compression) to 100 (best quality but least effective compression). The default
quality is 75. Use the -sampling-factor option to specify the factors
for chroma downsampling.
To use the same quality value as that found by the JPEG decoder,
use the -define jpeg:preserve-settings flag.
For the MIFF image format, quality/10 is the zlib compression level, which
is 0 (worst but fastest compression) to 9 (best but slowest). It has no
effect on the image appearance, since the compression is always lossless.
For the JPEG-2000 image format, quality is mapped using a non-linear
equation to the compression ratio required by the Jasper library. This
non-linear equation is intended to loosely approximate the quality
provided by the JPEG v1 format. The default quality value 75 results in
a request for 16:1 compression. The quality value 100 results in
a request for non-lossy compression.
For the MNG and PNG image formats, the quality value sets the zlib compression
level (quality / 10) and filter-type (quality % 10). Compression levels
range from 0 (fastest compression) to 100 (best but slowest). For compression
level 0, the Huffman-only strategy is used, which is fastest but not
necessarily the worst compression.
If
filter-type is 4 or less, the specified filter-type is used for all scanlines:
0: none
1: sub
2: up
3: average
4: Paeth
If filter-type is 5, adaptive filtering is used when quality is greater
than 50 and the image does not have a color map, otherwise no filtering
is used.
If filter-type is 6, adaptive filtering
with minimum-sum-of-absolute-values
is used.
Only if the output is MNG, if filter-type is 7, the LOCO color transformation
and adaptive filtering with minimum-sum-of-absolute-values
are used.
The default is quality is 75, which means nearly the best compression with
adaptive filtering. The quality setting has no effect on the appearance
of PNG and MNG images, since the compression is always lossless.
For further information, see the PNG
specification.
When writing a JNG image with transparency, two quality values are required,
one for the main image and one for the grayscale image that conveys the
alpha channel. These are written as a single integer equal to the main
image quality plus 1000 times the opacity quality. For example, if you
want to use quality 75 for the main image and quality 90 to compress
the opacity data, use -quality 90075.
- -radial-blur angle
-
radial blur the image
- -raise <width>x<height>
-
lighten or darken image edges
This will create a 3-D effect.
See -geometry for details
details about the geometry specification.
Offsets are not used.
Use -raise to create a raised effect, otherwise use +raise.
- -red-primary <x>,<y>
-
red chromaticity primary point
- -region <width>x<height>{+-}<x>{+-}<y>
-
apply options to a portion of the image
The x and y offsets are treated in the same manner as in -crop.
- -remote
-
perform a remote operation
The only command recognized at this time is the name of
an image file to load.
- -render
-
render vector operations
Use +render to turn off rendering vector operations. This is
useful when saving the result to vector formats such as MVG or SVG.
- -resample <horizontal>x<vertical>
-
Resample image to specified horizontal and vertical resolution
Resize the image so that its rendered size remains the same as the
original at the specified target resolution. For example, if a 300 DPI
image renders at 3 inches by 2 inches on a 300 DPI device, when the
image has been resampled to 72 DPI, it will render at 3 inches by 2
inches on a 72 DPI device. Note that only a small number of image
formats (e.g. JPEG, PNG, and TIFF) are capable of storing the image
resolution. For formats which do not support an image resolution, the
original resolution of the image must be specified via -density
on the command line prior to specifying the resample resolution.
Note that Photoshop stores and obtains image resolution from a
proprietary embedded profile. If this profile exists in the image, then
Photoshop will continue to treat the image using its former resolution,
ignoring the image resolution specified in the standard file header.
- -resize <width>x<height>{%}{@}{!}{<}{>}
-
resize an image
This is an alias for the -geometry option and it behaves in the
same manner. If the -filter option precedes the -resize
option, the specified filter is used.
There are some exceptions:
When used as a composite option, -resize conveys the preferred
size of the output image, while -geometry conveys
the size and placement of the composite image within the main
image.
When used as a montage option, -resize conveys the preferred
size of the montage, while -geometry conveys
information about the tiles.
- -roll {+-}<x>{+-}<y>
-
roll an image vertically or horizontally
See -geometry for details
the geometry specification.
The x and y offsets are not affected
by the -gravity option.
A negative x offset rolls the image left-to-right. A negative y
offset rolls the image top-to-bottom.
- -rotate <degrees>{<}{>}
-
apply Paeth image rotation to the image
Use > to rotate the image only if its width exceeds the height.
< rotates the image only if its width is less than the
height. For example, if you specify -rotate "-90>" and the image
size is 480x640, the image is not rotated. However, if the
image is 640x480, it is rotated by -90 degrees. If you use > or
<, enclose it in quotation marks to prevent it from being
misinterpreted as a file redirection.
Empty triangles left over from rotating the image are filled with the color
defined as background (class backgroundColor).
The color is specified using the format described under the -fill
option.
- -sample <geometry>
-
scale image using pixel sampling
See -geometry for details about
the geometry specification.
-sample ignores the -filter selection if the -filter option
is present. Offsets, if present in the geometry string, are ignored, and
the -gravity option has no effect.
- -sampling-factor <horizontal_factor>x<vertical_factor>
-
sampling factors used by JPEG or MPEG-2 encoder and YUV decoder/encoder.
This option specifies the sampling factors to be used by the JPEG encoder for
chroma downsampling. If this option is omitted, the JPEG library
will use its own default values. When reading or writing the YUV format
and when writing the M2V (MPEG-2) format, use
-sampling-factor 2x1 to specify the 4:2:2 downsampling method.
To use the same sampling factors as those found by the JPEG decoder, use
the -define jpeg:preserve-settings flag.
- -scale <geometry>
-
scale the image.
See -geometry for details about
the geometry specification. -scale uses a simpler, faster algorithm,
and it ignores the -filter selection if the -filter option
is present. Offsets, if present in the geometry string, are ignored, and
the -gravity option has no effect.
- -scene <value>
-
set scene number
This option sets the scene number of an image or the first image in
an image sequence.
- -scenes <value-value>
-
range of image scene numbers to read
Each image in the range is read
with the filename followed by a period (.) and the decimal scene
number. You
can change this behavior by embedding a %d, %0Nd, %o, %0No, %x, or %0Nx
printf format specification in the file name. For example,
montage -scenes 5-7 image.miff
makes a montage of files image.miff.5, image.miff.6, and image.miff.7, and
animate -scenes 0-12 image%02d.miff
animates files image00.miff, image01.miff, through image12.miff.
- -screen
-
specify the screen to capture
This option indicates that the GetImage request used to obtain the image
should be done on the root window, rather than directly on the specified
window. In this way, you can obtain pieces of other windows that overlap
the specified window, and more importantly, you can capture menus or other
popups that are independent windows but appear over the specified window.
- -segment <cluster threshold>x<smoothing threshold>
-
segment an image
Segment an image by analyzing the histograms of the color components and
identifying units that are homogeneous with the fuzzy c-means technique.
Specify cluster threshold as the number of pixels in each cluster
must exceed the the cluster threshold to be considered valid. Smoothing
threshold eliminates noise in the second derivative of the histogram.
As the value is increased, you can expect a smoother second derivative.
The default is 1.5. See
"Image Segmentation", below,
for details.
- -shade <azimuth>x<elevation>
-
shade the image using a distant light source
Specify azimuth and elevation as the position of the light
source. Use +shade to return the shading results as a grayscale
image.
- -shadow <radius>{x<sigma>}
-
shadow the montage
- -shared-memory
-
use shared memory
This option specifies whether the utility should attempt to use shared memory
for pixmaps. ImageMagick must be compiled with shared memory support,
and the display must support the MIT-SHM extension. Otherwise, this
option is ignored. The default is True.
- -sharpen <radius>{x<sigma>}
-
sharpen the image
Use a Gaussian operator of the given radius and standard deviation
(sigma).
- -shave <width>x<height>{%}
-
shave pixels from the image edges
Specify the width of the region to be removed from both
sides of the image and the height of the regions to be removed from
top and bottom.
- -shear <x degrees>x<y degrees>
-
shear the image along the X or Y axis
Use the specified positive or negative shear angle.
Shearing slides one edge of an image along the X or Y axis, creating a
parallelogram. An X direction shear slides an edge along the X axis, while
a Y direction shear slides an edge along the Y axis. The amount of the
shear is controlled by a shear angle. For X direction shears, x degrees
is measured relative to the Y axis, and similarly, for Y direction shears
y
degrees is measured relative to the X axis.
Empty triangles left over from shearing the image are filled with the color
defined as background (class backgroundColor).
The color is specified using the format described under the -fill
option.
- -silent
-
operate silently
- -size <width>x<height>{+offset}
-
width and height of the image
Use this option to specify the width and height of raw images whose dimensions
are unknown such as GRAY,
RGB, or CMYK. In addition
to width and height, use
-size with an offset to skip any header information in
the image or tell the number of colors in a MAP image
file, (e.g. -size 640x512+256).
For Photo CD images, choose from these sizes:
192x128
384x256
768x512
1536x1024
3072x2048
Finally, use this option to choose a particular resolution layer of a JBIG
or JPEG image (e.g. -size 1024x768).
- -snaps <value>
-
number of screen snapshots
Use this option
to grab more than one image from the X server screen, to create
an animation sequence.
- -solarize <factor>
-
negate all pixels above the threshold level
Specify factor as the
percent threshold of the intensity (0 - 99.9%).
This option produces a solarization effect seen when exposing a
photographic film to light during the development process.
- -splice <width>x<height>{+-}<x>{+-}<y>{%}>
-
splice the background color into the image
See -geometry for details
about the geometry specification.
- -spread <amount>
-
displace image pixels by a random amount
Amount defines the size of the neighborhood around each pixel to
choose a candidate pixel to swap.
- -stegano <offset>
-
hide watermark within an image
Use an offset to start the image hiding some number of pixels from the
beginning of the image. Note this offset and the image size. You will
need this information to recover the steganographic image
(e.g. display -size 320x256+35 stegano:image.png).
- -stereo
-
composite two images to create a stereo anaglyph
The left side of the stereo pair is saved as the red channel of the output
image. The right side is saved as the green channel. Red-green stereo
glasses are required to properly view the stereo image.
- -strip
-
strip the image of any profiles or comments
- -stroke <color>
-
color to use when stroking a graphic primitive
The color is specified using the format described under the -fill
option.
See -draw for further
details.
- -strokewidth <value>
-
set the stroke width
See -draw for further details.
- -swap <index,index>
-
swap two images in the image sequence
Image index are as per -fx operator. +swap will swap the last two images.
- -swirl <degrees>
-
swirl image pixels about the center
Degrees defines the tightness of the swirl.
- -text-font <name>
-
font for writing fixed-width text
Specifies the name of the preferred font to use in fixed (typewriter style)
formatted text. The default is 14 point Courier.
You can tag a font to specify whether it is a PostScript, TrueType, or
OPTION1 font. For example, Courier.ttf is a TrueType font
and x:fixed is OPTION1.
- -texture <filename>
-
name of texture to tile onto the image background
- -threshold <value>{<green>,<blue>,<opacity>}{%}
-
threshold the image
Create an image such that any pixel sample that is equal to, or exceeds
the threshold, is reassigned the maximum intensity otherwise the minimum
intensity.
If the green or blue value is omitted, these channels use the same value
as the first one provided. If all three color values are the same,
the result is a bi-level image. If the opacity threshold is omitted,
OpaqueOpacity will be used and any partially transparent pixel will
become fully transparent. If only a single 0 is provided,
auto-thresholding will be performed.
To generate an all-black or all-white image with the same dimensions as
the input image, you can use
convert -threshold 65535 in.png black.png
convert -threshold 0,0 in.png white.png
- -thumbnail <width>x<height>{%}{@}{!}{<}{>}
-
create a thumbnail of the image
This is exactly like -resize, except that any image profiles present are also removed as they are of little importance to small image thumbnails.
- -tile <filename>
-
tile image when filling a graphic primitive
- -tile <geometry>
-
layout of images [montage]
- -tint <value>
-
tint the image with the fill color
Specify the amount of tinting as a percentage. Pure colors like black, white red, yellow, will not be affected by -tint. Only mid-range colors such as the various shades of grey.
- -title <string>
-
assign title to displayed image [animate, display, montage]
Use this option to assign a specific title to the image. This is assigned
to the image window and is typically displayed in the window title bar.
Optionally you can include the image filename, type, width, height,
Exif data, or
other image attribute by embedding special format characters described
under the -format option.
For example,
-title "%m:%f %wx%h"
produces an image title of MIFF:bird.miff 512x480 for an image
titled bird.miff and whose width is 512 and height is 480.
- -transform
-
transform the image
This option applies the transformation matrix from a previous
-affine option.
convert -affine 2,2,-2,2,0,0 -transform bird.ppm bird.jpg
- -transparent <color>
-
make this color transparent within the image
The color is specified using the format described under the -fill
option. The color to use for image transparency in colormap image formats, such as GIF. As a side effect, fully-opaque colors of this value may also become transparent, depending on the format.
- -treedepth <value>
-
tree depth for the color reduction algorithm
Normally, this integer value is zero or one. A value of zero or one
causes the use of an optimal tree depth for the color reduction
algorithm
An optimal depth generally allows the best representation of the source
image with the fastest computational speed and the least amount of memory.
However, the default depth is inappropriate for some images. To assure
the best representation, try values between 2 and 8 for this parameter.
Refer to
quantize for more details.
The -colors or -monochrome option, or writing to an image
format which requires color reduction, is required for this option to
take effect.
- -trim
-
trim an image
This option removes any edges that are exactly the same color as the
corner pixels. Use -fuzz to make -trim remove edges that
are nearly the same color as the corner pixels.
- -type <type>
-
the image type
Choose from:
Bilevel, Grayscale, Palette,
PaletteMatte, TrueColor, TrueColorMatte,
ColorSeparation, ColorSeparationMatte, or Optimize.
Normally, when a format supports different subformats such as grayscale
and truecolor, the encoder will try to choose an efficient subformat.
The -type option can be used to overrride this behavior. For
example, to prevent a JPEG from being written in grayscale format even
though only gray pixels are present, use
convert bird.p-type TrueColor bird.jpg
Similarly, using -type TrueColorMatte will force the encoder
to write an alpha channel even though the image is opaque, if the
output format supports transparency.
- -update <seconds>
-
detect when image file is modified and redisplay.
Suppose that while you are displaying an image the file that is currently
displayed is over-written.
display will automatically detect that
the input file has been changed and update the displayed image accordingly.
- -units <type>
-
the units of image resolution
Choose from: Undefined, PixelsPerInch, or
PixelsPerCentimeter. This option is normally used in conjunction
with the -density option.
- -unsharp <radius>{x<sigma>}{+<amount>}{+<threshold>}
-
sharpen the image with an unsharp mask operator
The -unsharp option sharpens an image. The image is convolved
with a Gaussian operator of the given radius and standard deviation
(sigma). For reasonable results, radius should be larger than sigma. Use
a radius of 0 to have the method select a suitable radius.
The parameters are:
radius: The radius of the Gaussian, in pixels, not
counting the center pixel (default 0).
sigma: The standard deviation of the Gaussian, in
pixels (default 1.0).
amount: The percentage of the difference between the
original and the blur image that is added back
into the original (default 1.0).
threshold: The threshold, as a fraction of MaxRGB, needed
to apply the difference amount (default 0.05).
- -use-pixmap
-
use the pixmap
- -verbose
-
print detailed information about the image
This information is printed: image scene number; image name; image size;
the image class (DirectClass or PseudoClass); the total number
of unique colors; and the number of seconds to read and transform the image.
Refer to miff for a description of the image class.
If -colors is also specified, the total unique colors in the image
and color reduction error values are printed. Refer to quantize
for a description of these values.
- -version
-
print ImageMagick version string
- -view <string>
-
FlashPix viewing parameters
- -virtual-pixel <method>
-
specify contents of "virtual pixels"
This option
defines "virtual pixels" for use in operations that can access pixels outside
the boundaries of an image.
Choose from these methods:
Constant: Use the image background color.
Edge: Extend the edge pixel toward infinity (default).
Mirror: Mirror the image.
Tile: Tile the image.
This option affects operations that use
virtual pixels such as -blur, -sharpen, -wave, etc.
- -visual <type>
-
animate images using this X visual type
Choose from these visual classes:
StaticGray
GrayScale
StaticColor
PseudoColor
TrueColor
DirectColor
default
visual id
The X server must support the visual you choose, otherwise an error occurs.
If a visual is not specified, the visual class that can display the most
simultaneous colors on the default screen is chosen.
- -watermark <brightness>
-
percent brightness of a watermark
- -wave <amplitude>x<wavelength>
-
alter an image along a sine wave
Specify amplitude and wavelength
of the wave.
- -white-point <x>,<y>
-
chromaticity white point
- -window <id>
-
make image the background of a window
id can be a window id or name. Specify root to
select X's root window as the target window.
By default the image is tiled onto the background of the target
window. If backdrop or -geometry are
specified, the image is surrounded by the background color. Refer to
X RESOURCES for details.
The image will not display on the root window if the image has more
unique colors than the target window colormap allows. Use
-colors to reduce the number of colors.
- -window-group
-
specify the window group
- -write <filename>
-
write an image sequence [convert, composite]
The image sequence following the -write filenameoption is
written out, and then processing continues with the
same image in its current state if there are additional options. To
restore the image to its original state after writing it, use
the +write filename option.
- -write <filename>
-
write the image to a file [display]
If filename already exists, you will be prompted as to whether it should
be overwritten.
By default, the image is written in the format that it was read in as.
To specify a particular image format, prefix filename with the image
type and a colon (e.g., ps:image) or specify the image type as the filename
suffix (e.g., image.ps). See convert(1) for a list of valid image formats.
Specify file as - for standard output. If file has the
extension .Z or
.gz, the file size is compressed using compress or
gzip
respectively. Precede the image file name with | to pipe to a system command.
Use -compress to specify the type of image compression.
The equivalent X resource for this option is
writeFilename (class WriteFilename).
See
"X Resources", below,
for details.