Mogrify transforms an image or a sequence of images. These transforms
include image scaling, image rotation, color reduction, and others. Each
transmogrified image overwrites the corresponding original image, unless an
option such as
-format causes the output filename to be different from the input
The graphics formats supported by mogrify are listed in
To convert all the TIFF files in a particular directory to JPEG, use:
mogrify -format jpeg *.tiff
To convert a directory full of JPEG images to thumbnails, use:
In this example, '-size 120x120' gives a hint to the JPEG decoder
that the images are going to be downscaled to 120x120, allowing it to run
faster by avoiding returning full-resolution images to ImageMagick for
the subsequent resizing operation. The
output images. It will be scaled so its largest dimension is 120 pixels. The
that might be present in the input and aren't needed in the thumbnails.
To scale an image of a cockatoo to exactly 640 pixels in width and 480
pixels in height, use:
mogrify -resize 640x480! cockatoo.miff
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.
For a more detailed description of each option, see
drawing transform matrix
remove pixel aliasing
decrypt image with this password
the background color
blue chromaticity primary point
blur the image with a Gaussian operator
surround the image with a border of color
the border color
(This option has been replaced by the -limit option)
the type of channel
simulate a charcoal drawing
colorize the image with the fill color
preferred number of colors in the image
the type of colorspace
annotate an image with a comment
the type of image compression
enhance or reduce the image contrast
convolve image with the specified convolution kernel
preferred size and location of the cropped image
displace image colormap by amount
enable debug printout
add coder/decoder specific options
-delay <1/100ths of a second>
display the next image after pausing
horizontal and vertical resolution in pixels of the image
depth of the image
reduce the speckles within an image
specifies the X server to contact
GIF disposal method
apply Floyd/Steinberg error diffusion to the image
annotate an image with one or more graphic primitives
detect edges within an image
emboss an image
specify the text encoding
specify endianness (MSB or LSB) of output image
apply a digital filter to enhance a noisy image
perform histogram equalization to the image
-evaluate <operator> <constant>
evaluate an arithmetic, relational, or logical expression
For a more detailed description of each option, see
Use -segment to segment an image by analyzing the histograms of
the color components and identifying units that are homogeneous with the
fuzzy c-means technique. The scale-space filter analyzes the histograms
of the three color components of the image and identifies a set of classes.
The extents of each class is used to coarsely segment the image with thresholding.
The color associated with each class is determined by the mean color of
all pixels within the extents of a particular class. Finally, any unclassified
pixels are assigned to the closest class with the fuzzy c-means technique.
The fuzzy c-Means algorithm can be summarized as follows:
Build a histogram, one for each color component of the image.
For each histogram, successively apply the scale-space filter and build
an interval tree of zero crossings in the second derivative at each scale.
Analyze this scale-space "fingerprint" to determine which peaks or valleys
in the histogram are most predominant.
The fingerprint defines intervals on the axis of the histogram. Each interval
contains either a minima or a maxima in the original signal. If each color
component lies within the maxima interval, that pixel is considered "classified"
and is assigned an unique class number.
Any pixel that fails to be classified in the above thresholding pass is
classified using the fuzzy c-Means technique. It is assigned to one of
the classes discovered in the histogram analysis phase.
The fuzzy c-Means technique attempts to cluster a pixel by finding the
local minima of the generalized within group sum of squared error objective
function. A pixel is assigned to the closest class of which the fuzzy membership
has a maximum value.
For additional information see:
<bq>Young Won Lim, Sang Uk Lee, ``On The Color Image Segmentation
Algorithm Based on the Thresholding and the Fuzzy c-Means Techniques'',
Pattern Recognition, Volume 23, Number 9, pages 935-952, 1990.</bq>
Output screen width. Used when formatting text for the screen. Many
Unix systems keep this shell variable up to date, but it may need to be
explicitly exported in order for ImageMagick to see it.
X11 display ID (host, display number, and screen in the form
Location of user's home directory. ImageMagick searches for
configuration files in $HOME/.magick if the directory exists. See
MAGICK_CODER_MODULE_PATH, MAGICK_CONFIGURE_PATH, and
MAGICK_FILTER_MODULE_PATH if more flexibility is needed.
Search path to use when searching for image format coder modules.
This path allows the user to arbitrarily extend the image formats
supported by ImageMagick by adding loadable modules to an arbitrary
location rather than copying them into the ImageMagick installation
directory. The formatting of the search path is similar to operating
system search paths (i.e. colon delimited for Unix, and semi-colon
delimited for Microsoft Windows). This user specified search path is used
before trying the default search path.
Search path to use when searching for configuration (.mgk) files.
The formatting of the search path is similar to operating system search
paths (i.e. colon delimited for Unix, and semi-colon delimited for
Microsoft Windows). This user specified search path is used before trying
the default search path.
Debug options (see -debug for details)
Search path to use when searching for filter process modules
(invoked via -process). This path allows the user to arbitrarily
extend ImageMagick's image processing functionality by adding loadable
modules to an arbitrary location rather than copying them into the
ImageMagick installation directory. The formatting of the search path
is similar to operating system search paths (i.e. colon delimited for
Unix, and semi-colon delimited for Microsoft Windows). This user
specified search path is used before trying the default search path.
Directory where ImageMagick should look for TrueType and
Postscript Type1 font files if the font file is not found in the current
directory. It is preferred to define the available fonts via type.mgk
rather than use MAGICK_FONT_PATH.
Path to top of ImageMagick installation directory. Only observed
by "uninstalled" builds of ImageMagick which do not have their location
hard-coded or set by an installer.
Maximum amount of disk space allowed for use by the pixel cache.
Maximum number of open files.
Maximum size of a memory map.
Maximum amount of memory to allocate from the heap.
Path to directory where ImageMagick should write temporary
files. The default is to use the system default, or the location set by
For POSIX-compatible systems (Unix-compatible), the path to the
directory where all applications should write temporary files.
Overridden by MAGICK_TMPDIR if it is set.
TMP or TEMP
For Microsoft Windows, the path to the directory where applications
should write temporary files. Overridden by MAGICK_TMPDIR if it
ImageMagick uses a number of XML format configuration files: