mogrify
NAME
mogrify - transform an image or sequence of images
SYNOPSIS
mogrify [ options ...] file [ [ options ...] file ...]
DESCRIPTION
mogrify transforms an image or a sequence of images. These
transforms include image scaling, image rotation, color
reduction, and others. The transmogrified image overwrites
the original image.
EXAMPLES
To convert all the TIFF files in a particular directory to
JPEG, use:
mogrify -format jpeg *.tiff
To scale an image of a cockatoo to exactly 640 pixels in
width and 480 pixels in height, use:
mogrify -geometry 640x480! cockatoo.miff
To create a single colormap for a sequence of bird images,
use:
mogrify -colors 256 scenes/birds.*
OPTIONS
-annotate string
annotate an image with text.
Use this option to annotate an image with text.
Optionally you can include the image filename, type,
width, height, or scene number by embedding special
format characters. Embed %f for filename, %m for
magick, %w for width, %h for height, %s for scene
number, or \n for newline. For example,
-annotate "%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.
You can set the text position, font, and font color
with -geometry, -font, and -pen respectively. Options
are processed in command line order so be sure to use
-geometry, -font, or -pen before the -annotate option.
-blur factor
blurs an image. Specify factor as the percent
enhancement (0.0 - 99.9%).
-border <width>x<height>fP
surround the image with a border or color. See X(1)
for details about the geometry specification.
The color of the border is obtained from the X server
and is defined as bordercolor (class borderColor). See
X(1) for details.
-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 remain unchanged.
Refer to quantize(9) for more details.
If more than one image is specified on the command
line, a single colormap is created and saved with each
image.
Note, options -colormap, -dither, -colorspace, and
-treedepth affect the color reduction algorithm.
-colorspace value
the type of colorspace: GRAY, OHTA, RGB, 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(9) for more details.
The -colors or -monochrome option is required for this
option to take effect.
-comment string
annotate an image with a comment.
By default, each image is commented with its file name.
Use this option to assign a specific comment to the
image. Optionally you can include the image filename,
type, width, height, or scene number by embedding
special format characters. Embed %f for filename, %m
for magick, %w for width, %h for height, %s for scene
number, or \n for newline. 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.
-compress type
the type of image compression: QEncoded or
RunlengthEncoded.
Specify +compress to store the binary image in an
uncompressed format. The default is the compression
type of the specified image file.
-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.
-crop <width>{%}x<height>{%}{+-}<x offset>{+-}<y offset>
preferred size and location of the cropped image. See
X(1) for details about the geometry specification.
To specify a percentage width or height instead, append
%. For example to crop the image by ten percent on all
sides of the image, use -crop 10%.
Use cropping to apply image processing options, or
transmogrify, only a particular area of an image. Use
-crop 0x0 to remove edges that are the background
color.
-density <width>x<height>
vertical and horizontal resolution in pixels of the
image.
This option specifies an image density when decoding a
Postscript or Portable Document page. The default is
72 pixels per inch in the horizontal and vertical
direction.
-despeckle
reduce the speckles within an image.
-display host:display[.screen]
specifies the X server to contact; see X(1).
-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.
-edge
detect edges within an image.
-emboss
emboss the image.
-enhance
apply a digital filter to enhance a noisy image.
-equalize
perform histogram equalization to the image.
-flip
create a "mirror image" by reflecting the image
scanlines in the vertical direction.
-flop
create a "mirror image" by reflecting the image
scanlines in the horizontal direction.
-format type
the image format type.
This option will convert any image to the image format
you specify. See convert(1) for a list of image format
types supported by ImageMagick.
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.
-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.
You can apply separate gamma values to the red, green,
and blue channels of the image with a gamma value list
delineated with commas (i.e. 1.7,2.3,1.2).
-font name
This option specifies the font to be used for
displaying normal text. The default is fixed.
-frame <width>x<height>fP
surround the image with an an ornamental border. See
X(1) for details about the geometry specification.
The color of the border is specified with the
-mattecolor command line option.
-geometry <width>{%}x<height>{%}{!}
preferred width and height of the image. See X(1) for
details about the geometry specification.
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 one factor is specified, both the width and height
assume the value.
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.
-interlace type
the type of interlacing scheme: NONE, LINE, or PLANE.
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...). -
label name assign a label to an image.
Use this option to assign a specific label to the
image. Optionally you can include the image filename,
type, width, height, or scene number in the label by
embedding special format characters. Embed %f for
filename, %m for magick, %w for width, %h for height,
or %s for scene number. 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.
-map filename
choose a particular set of colors from this image.
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 with this option. This is useful when you want
to create a sequence of images with one particular set
of colors for each image.
-modulate value
vary the hue, saturation, and brightness of an image.
Specify the percent change in hue, the color
saturation, and the brightness separated by commas.
For example, to increase the color hue by 20% and
decrease the color saturation by 10% and leave the
brightness unchanged, use: -modulate 20,-10.
-monochrome
transform the image to black and white.
-negate
apply color inversion to image.
The red, green, and blue intensities of an image are
negated.
-noise
reduce the noise in an image with a noise peak
elimination filter.
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 3 x 3 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 3 x 3 window.
-normalize
transform image to span the full range of color values.
This is a contrast enhancement technique.
-page <width>x<height>{+-}<x offset>{+-}<y offset>
preferred size and location of the Postscript page.
Use this option to specify the dimensions of the
Postscript page in pixels per inch or a TEXT page in
pixels. The default for a Postscript page is to center
the image on a letter page 612 by 792 pixels. The
margins are 1/2" (i.e. 612x792+36+36). Other common
sizes are:
Letter 612x 792
Tabloid 792x1224
Ledger 1224x 792
Legal 612x1008
Statement 396x 612
Executive 540x 720
A3 842x1190
A4 595x 842
A5 420x 595
B4 729x1032
B5 516x 729
Folio 612x 936
Quarto 610x 780
10x14 720x1008
For convenience you can specify the page size by media
(e.g. A4, Ledger, etc.).
The page geometry is relative to the vertical and
horizontal density of the Postscript page. See
-density for details.
The default page dimensions for a TEXT image is
612x792.
-paint
paint the image.
-pen color
set the color of the font. See -annotate for further
details.
See X(1) for details about the color specification.
-quality value
JPEG quality setting.
Quality is 0 (worst) to 100 (best). The default is 85.
-roll {+-}<x offset>{+-}<y offset>
roll an image vertically or horizontally. See X(1) for
details about the geometry specification.
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.
Empty triangles left over from rotating the image are
filled with the color defined as bordercolor (class
borderColor). See X(1) for details.
-scene value
image scene number.
-sharpen weight
sharpen an image. Specify factor as the percent
enhancement (0.0 - 99.9%).
-shear <x degrees>x<y degrees>
shear the image along the X or Y axis by a 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 bordercolor (class
borderColor). See X(1) for details.
-size <width>{%}x<height>{%}{+colors}{!}
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 to
tell the number of colors in a MAP image file, (e.g.
-size 640x512+256).
-transparency color
make this color transparent within the image.
-treedepth value
Normally, this integer value is zero or one. A zero or
one tells mogrify to choose a 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(9) for more details.
The -colors or -monochrome option is required for this
option to take effect.
-undercolor <undercolor factor>x<black-generation factor>
control undercolor removal and black generation on CMYK
images.
This option enables you to perform undercolor removal
and black generation on CMYK images-- images to be
printed on a four-color printing system. You can
control how much cyan, magenta, and yellow to remove
from your image and how much black to add to it. The
standard undercolor removal is 1.0x1.0. You'll
frequently get better results, though, if the
percentage of black you add to your image is slightly
higher than the percentage of C, M, and Y you remove
from it. For example you might try 0.5x0.7.
-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 (if
known); and the number of seconds to read and
transform the image. Refer to miff(5) 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(9) for a description of
these values.
Options are processed in command line order. Any option you
specify on the command line remains in effect until it is
explicitly changed by specifying the option again with a
different effect. For example, to mogrify two images, the
first with 32 colors and the second with only 16 colors,
use:
mogrify -colors 32 cockatoo.miff -colors 16 macaw.miff
Change - to + in any option above to reverse its effect.
For example, specify +compress to store the binary image in
an uncompressed format.
By default, the image format is determined by its magic
number. 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
(i.e. image.ps). See convert(1) for a list of valid image
formats.
Specify file as - for standard input and output. If file
has the extension .Z or .gz, the file is uncompressed with
uncompress or gunzip respectively and subsequently
compressed using with compress or gzip. Finally, precede
the image file name with | to pipe to or from a system
command.
Use an optional index enclosed in brackets after a file name
to specify a desired subimage of a multi-resolution image
format like Photo CD (e.g. img0001.pcd[4]).
SEE ALSO
display(1), animate(1), import(1), montage(1), convert(1),
segment(1), combine(1), xtp(1)
COPYRIGHT
Copyright 1995 E. I. du Pont de Nemours and Company
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby
granted without fee, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of E. I. du Pont de Nemours
and Company not be used in advertising or publicity
pertaining to distribution of the software without specific,
written prior permission. E. I. du Pont de Nemours and
Company makes no representations about the suitability of
this software for any purpose. It is provided "as is"
without express or implied warranty.
E. I. du Pont de Nemours and Company disclaims all
warranties with regard to this software, including all
implied warranties of merchantability and fitness, in no
event shall E. I. du Pont de Nemours and Company be liable
for any special, indirect or consequential damages or any
damages whatsoever resulting from loss of use, data or
profits, whether in an action of contract, negligence or
other tortuous action, arising out of or in connection with
the use or performance of this software.
ACKNOWLEDGEMENTS
Michael Halle, Spatial Imaging Group at MIT, for the initial
implementation of Alan Paeth's image rotation algorithm.
David Pensak, E. I. du Pont de Nemours and Company, for
providing a computing environment that made this program
possible.
Paul Raveling, USC Information Sciences Institute, for the
original idea of using space subdivision for the color
reduction algorithm.
AUTHORS
John Cristy, E.I. du Pont de Nemours and Company
Incorporated