5ImageMagick Image Transforming Utility4NF,
B

 


Contents





Synopsis

J
mogrify [ options ...] file [ [(options ...] file ...]


*Back to Contents






Description

F
mogrify transforms an image or a sequence of images. These7transforms include image scaling, image rotation, color;reduction, and others. The transmogrified image overwritesthe original image.


*Back to Contents






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:

7
mogrify -geometry 640x480! cockatoo.miff




*Back to Contents






Options


-blur factor;
blurs an image. Specify factor as the percentenhancement (0.0 - 99.9%).

H

-border <width>x<height>?
surround the image with a border of color. See X(1)-for details about the geometry specification.

9

The color of the border is obtained from the X serverEand is defined as bordercolor (class borderColor). SeeX(1) for details.



-box colorC
set the color of the annotation bounding box. See -drawfor further details.

$

-charcoal factor
simulate a charcoal drawing.

=

See \fBX(1)\fP for details about the color specification.

#

-colorize value*
colorize the image with the pen color.

G

Specify the amount of colorization as a percentage. You can applyHseparate colorization values to the red, green, and blue channels of theKimage with a colorization value list delineated with slashes (e.g. 0/0/50).

!

-colors value,
preferred number of colors in the image.

8

The actual number of colors in the image may be less3than your request, but never more. Note, this is a7color reduction option. Images with less unique colors6than specified with this option will remain unchanged.-Refer to quantize(9) for more details.

6

If more than one image is specified on the command6line, a single colormap is created and saved with eachimage.

K

Note, options -colormap, -dither, -colorspace, and7-treedepth affect the color reduction algorithm.

%

-colorspace valueA
the type of colorspace: GRAY, OHTA, RGB,JTransparent, XYZ, YCbCr, YIQ, YPbPr, or YUV.

7

Color reduction, by default, takes place in the RGB.color space. Empirical evidence suggests that7distances in color spaces such as YUV or YIQ correspond4to perceptual color differences more closely than do4distances in RGB space. These color spaces may give6better results when color reducing an image. Refer toDquantize for more details.

HThe Transparent color space behaves uniquely in that it preserves,the matte channel of the image if it exists.

H

The -colors or -monochrome option is required for thisoption to take effect.

#

-comment string%
annotate an image with a comment.

;

By default, each image is commented with its file name.3Use this option to assign a specific comment to the6image. Optionally you can include the image filename,1type, width, height, or scene number by embeddingCspecial format characters. Embed %f for filename, %mJfor magick, %w for width, %h for height, %s for scene/number, or \n for newline. For example,
    -comment "%m:%f %wx%h"
I
produces an image comment of MIFF:bird.miff 512x480 for;an image titled bird.miff and whose width is 512 andheight is 480.

D

If the first character of string is @, the image3comment is read from a file titled by the remainingcharacters in the string.

"

-compress type2
the type of image compression: Zip orRunlengthEncoded.

<

Specify +compress to store the binary image in an4uncompressed 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 between2the lighter and darker elements of the image. UseC-contrast to enhance the image or +contrast to reducethe image contrast.

-crop <width>{%}x<height>{%}{+-}<x offset>{+-}<y offset>:
preferred size and location of the cropped image. See9X(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 all0sides of the image, use -crop 10%.

6

Use cropping to apply image processing options, or7transmogrify, only a particular area of an image. Use?-crop 0x0 to remove edges that are the background color. Omit the x and y offset4to generate one or more subimages of a uniform size.



-cycle amount'
displace image colormap by amount.

H

Amount defines the number of positions each colormap entry isshifted.

/

-delay <1/100ths of a second>)
display the next image after pausing.

5This option is useful for regulating the animation of=GIF images within Netscape.. 1/100ths of a second must0expire before the display of the next image. The?default is no delay between each showing of the image sequence.The maximum delay is 65535.

I

-density <width>x<height>>
vertical and horizontal resolution in pixels of the image.

:

This option specifies an image density when decoding a5Postscript or Portable Document page. The default is172 pixels per inch in the horizontal and vertical direction.



-despeckle(
reduce the speckles within an image.

D

-display host:display[.screen]3specifies the X server to contact; see X(1).

!

-dispose method
GIF disposal method.

L

Graphics Interchange Format (GIF) Specification 89a of July 31, 1990 fordetails.



-dither7
apply Floyd/Steinberg error diffusion to the image.

9

The basic strategy of dithering is to trade intensity2resolution for spatial resolution by averaging the2intensities of several neighboring pixels. Images1which suffer from severe contouring when reducing(colors can be improved with this option.

H

The -colors or -monochrome option is required for thisoption to take effect.



-draw string:
annotate an image with one or more graphic primitives.

M

Use this option to annotate an image with one or more graphic primitives.The primitives include



  point  line  rectangle  fillRectangle  circle  fillCircle	  polygon
  fillPolygon  color  matte  text  image


K

Point, line, color, matte, text, andFimage each require a single coordinate. Line requires aFstart and end coordinate, while rectangle expects an upper leftHand lower right coordinate. Circle has a center coordinate and aHcoordinate on the outer edge. Finally, polygon requires three orCmore coordinates defining its boundaries. Coordinates are integers@separated by an optional comma. For example, to define a circle0centered at 100,100 that extends to 150,150 use:



   -draw 'circle 100,100 150,150'


@
Use color to change the color of a pixel. Follow thepixel coordinate with a method:
  point	  replace  floodfill  reset


H

Consider the target pixel as that specified by your coordinate. TheIpoint method recolors the target pixel. The replace method>recolors any pixel that matches the color of the target pixel.HFloodfill recolors any pixel that matches the color of the targetDpixel and is a neighbor. Finally, reset recolors all pixels.

H

Use matte to the change the pixel matte value to transparent.?Follow the pixel coordinate with a method (see the colorAprimitive for a description of methods). The point methodGchanges the matte value of the target pixel. The replace methodBchanges the matte value of any pixel that matches the color of theDtarget pixel. Floodfill changes the matte value of any pixelEthat matches the color of the target pixel and is a neighbor. Finally3reset changes the matte value of all pixels.

?

Use text to annotate an image with text. Follow theCtext coordinates with a string. If the string has embedded spaces,0enclose it in double quotes. Optionally you canCinclude the image filename, type, width, height, or scene number byCembedding special format characters. Embed %f for filename,J%m for magick, %w for width, %h for height, %s8for scene number, %b for file size in kilobytes,'or \n for newline. For example,
'     -draw 'text 100,100 "%m:%f %wx%h"'


FUse image to composite an image with another image. Follow the0image coordinates with the filename of an image.

Eannotates the image with MIFF:bird.miff 512x480 for an imageCtitled bird.miff and whose width is 512 and height is 480.

MYou can set the primitive color, font color, and font bounding box color withE-pen, -font, and -box respectively. Options are=processed in command line order so be sure to use -pen(before the -draw option.

K

If the first character of string is @, the text is read=from a file titled by the remaining characters in the string.



-edge factorG
detect edges within an image. Specify factor as the percentenhancement (0.0 - 99.9%).



-emboss
emboss the image.



-enhance4
apply a digital filter to enhance a noisy image.



-equalize0
perform histogram equalization to the image.



-flip3
create a "mirror image" by reflecting the image$scanlines in the vertical direction.



-flop3
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.

8

By default the file is written to its original name.6However, if the filename extension matches a supported7format, the extension is replaced with the image formatJtype specified with -format. For example, if you specify tiff asCthe format type and the input image filename is image.gif,6the output image filename becomes image.tiff.



-font name6
use this font when annotating the image with text.

AMogrify contacts an X server to obtain the font.LIf an X server is not available, a Postscript font is used instead. You can3set the pointsize with -pointsize.

±

-frame <width>x<height>+<outer bevel width>+<inner bevel width>6
surround the image with an ornamental border. See9X(1) for details about the geometry specification.

1

The color of the border is specified with the'-mattecolor command line option.

-gamma value
level of gamma correction.

3

The same color image displayed on two different5workstations may look different due to differences in4the display monitor. Use gamma correction to adjust4for this color difference. Reasonable values extendfrom 0.8 to 2.3.

:

You can apply separate gamma values to the red, green,6and blue channels of the image with a gamma value list+delineated with slashes (i.e. 1.7/2.3/1.2).

_

-geometry <width>{%}x<height>{%}{!}{<}{>}A
preferred width and height of the image. See X(1) for)details about the geometry specification.

8

By default, the width and height are maximum values.7That is, the image is expanded or contracted to fit the3width and height value while maintaining the aspect7ratio of the image. Append an exclamation point to the4geometry to force the image size to exactly the size=you specify. For example, if you specify 640x480! the7image width is set to 640 pixels and height to 480. If7only one factor is specified, both the width and heightassume the value.

;

To specify a percentage width or height instead, append8%. The image size is multiplied by the width and,height percentages to obtain the final image4dimensions. To increase the size of an image, use a3value greater than 100 (e.g. 125%). To decrease an-image's size, use a percentage less than 100.

9

Use > to change the dimensions of the image.only if its size exceeds the geometry;specification. < resizes the image only:if its dimensions is less than the geometry specification.<For example, if you specify 640x480> and the image=size is 512x512, the image size does not change. However, if1the image is 1024x1024, it is resized to 640x480.

!

-implode amountK
implode image pixels about the center. Specify factor as the8percent implosion (0 - 99.9%) or explosion (-99.9 - 0%).

#

-interlace typeK
the type of interlacing scheme: None, Line, Plane,2or Partition. The default is Plane.

I

This option is used to specify the type of interlacing scheme for rawIimage formats such as RGB or YUV. None means do notHinterlace (RGBRGBRGBRGBRGBRGB...), Line uses scanline interlacingC(RRR...GGG...BBB...RRR...GGG...BBB...), and Plane uses planeLinterlacing (RRRRRR...GGGGGG...BBBBBB...). Partition is like planeIexcept the different planes are saved to individual files (e.g. image.R,image.G, and image.B).

H

Use Line, or Plane to create an interlaced GIF !or progressive JPEG image.

;

-label name assign a label to an image.

5

Use this option to assign a specific label to the6image. Optionally you can include the image filename,4type, width, height, or scene number in the label by:embedding special format characters. Embed %f forJfilename, %m for magick, %w for width, %h for height,B%s for scene number, %b for file size in kilobytes,%or \n for newline For example,
    -label "%m:%f %wx%h"
G
produces an image label of MIFF:bird.miff 512x480 for;an image titled bird.miff and whose width is 512 andheight is 480.

J

If the first character of string is @, the image label6is read from a file titled by the remaining charactersin the string.

5

When converting to Postscript, use this option to1specify a header string to print above the image.

$

-linewidth value:
set the width of a line. See -draw for furtherdetails.

"

-loop iterations6
add Netscape loop extension to your GIF animation.

G

A value other than zero forces the animation to repeat itself up toiterations times.



!

-map filename6
choose a particular set of colors from this image.

E

By default, color reduction chooses an optimal set of colors thatCbest represent the original image. Alternatively, you can choose aEparticular set of colors from an image file with this option. UseA+map to reduce all images in an image sequence to a single9optimal set of colors that best represent all the images.

#

-modulate value9
vary the brightness, saturation, and hue of an image.

7

Specify the percent change in brightness, the color1saturation, and the hue separated by commas. For4example, to increase the color brightness by 20% and6decrease the color saturation by 10% and leave the hue/unchanged, use: -modulate 20/-10.



-monochrome+
transform the image to black and white.



-negate#
apply color inversion to image.

A

The red, green, and blue intensities of an image are negated.=Use +negate to only negate the grayscale pixels of theimage.



-noise$
add or reduce noise in an image.

;

The principal function of noise peak elimination filter7is to smooth the objects within an image without losing/edge information and without creating undesired4structures. The central idea of the algorithm is to6replace a pixel with its next neighbor in value within2a 3 x 3 window, if this pixel has been found to be7noise. A pixel is defined as noise if and only if this6pixel is a maximum or minimum within the 3 x 3 window.

J

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 colorHchange this color to the pen color within the image. See \fB-pen\fP for more details.

Ž

-page <width>x<height>{+-}<x offset>{+-}<y offset>7
preferred size and location of the Postscript page.

4

Use this option to specify the dimensions of the4Postscript page in pixels per inch or a TEXT page in7pixels. The default for a Postscript page is to center1the image on a letter page 612 by 792 pixels. The5margins are 1/2" (i.e. 612x792+42+42). 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.).

5

The page geometry is relative to the vertical and/horizontal density of the Postscript page. See-density for details.

JTo position a GIF image, use -page +LEFT+TOP (e.g. -page +100+200).

3

The default page dimensions for a TEXT image is612x792.

!

-paint radius
simulate an oil painting.

C

Each pixel is replaced by the most frequent color in a circular;neighborhood whose width is specified with radius.



-pen colorL
set the color of the font or opaque color. See -draw for furtherdetails.

>

See X(1) for details about the color specification.

"

-pointsize value%
pointsize of the Postscript font.

"

-quality value
JPEG quality setting.

:

Quality is 0 (worst) to 100 (best). The default is 75.

5

-raise <width>x<height>I
lighten or darken image edges to create a 3-D effect. See X(1)-for details about the geometry specification.

M

Use -raise to create a raised effect, otherwise use +raise.

;

-region <width>x<height>{+-}<x"offset>{+-}<y offset>,
apply options to a portion of the image.

O

By default, any command line options are applied to the entire image. UseH-region to restrict operations to a particular area of the image.

Y

-roll {+-}<x offset>{+-}<y offset>B
roll an image vertically or horizontally. See X(1) for)details about the geometry specification.

I

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.

O

Use > to rotate the image only if its width exceeds theNheight. < rotates the image only if its width is less thanLthe height. For example, if you specify -90> and the image sizeFis 480x640, the image is not rotated by the specified angle. However,6if the image is 640x480, it is rotated by -90 degrees.

9

Empty triangles left over from rotating the image are:filled with the color defined as bordercolor (class2borderColor). See X(1) for details.

"

-sample geometry>
scale image with pixel sampling. See -geometry for)details about the geometry specification.

-scene value
image scene number.

P

-segment <cluster threshold>x<smoothing threshold>L
segment an image by analyzing the histograms of the color components andHidentifying units that are homogeneous with the fuzzy c-means technique.

L

Specify cluster threshold as the number of pixels in each clusterKmust exceed the the cluster threshold to be considered valid. Smoothing>threshold eliminates noise in the second derivative of theGhistogram. As the value is increased, you can expect a smoother secondLderivative. The default is 1.5. See Image Segmentation for details.

:

-shade <azimuth>x<elevation>1
shade the image using a distant light source.

L

Specify azimuth and elevation as the position of the lightNsource. Use +shade to return the shading results as a grayscale image.

#

-sharpen weight=
sharpen an image. Specify factor as the percentenhancement (0.0 - 99.9%).

\

-shear <x degrees>x<y degrees>:
shear the image along the X or Y axis by a positive ornegative shear angle.

9

Shearing slides one edge of an image along the X or Y5axis, creating a parallelogram. An X direction shear4slides an edge along the X axis, while a Y direction5shear slides an edge along the Y axis. The amount of0the shear is controlled by a shear angle. For XGdirection shears, x degrees> is measured relative to:the Y axis, and similarly, for Y direction shears y4degrees is measured relative to the X axis.

9

Empty triangles left over from shearing the image are:filled with the color defined as bordercolor (class2borderColor). See X(1) for details.

a

-size <width>{%}x<height>{%}{+offset}{!}"
width and height of the image.

:

Use this option to specify the width and height of rawDimages whose dimensions are unknown such as GRAY, RGB,qor CMYK. In addition to width and height, use -size to skip any header information in the image or;tell the number of colors in a MAP image file, (e.g.-size 640x512+256).

"

-solarize factorL
negate all pixels above the threshold level. Specify factor6as the percent threshold of the intensity (0 - 99.9%).

J

This option produces a solarization effect seen when exposing<a photographic film to light during the development process.

-spread amount.
displace image pixels by a random amount.

K

Amount defines the size of the neighborhood around each pixel to!choose a candidate pixel to swap.

-swirl degrees)
swirl image pixels about the center.

6

Degrees defines the tightness of the swirl.

%

-transparency color1
make this color transparent within the image.

#

-texture filename6
name of texture to tile onto the image background.

"

-threshold value
threshold the image.

?

Create a bi-level image such that any pixel intensity thatOis equal or exceeds the threshold is reassigned the maximum intensity otherwisethe minimum intensity.

$

-treedepth value;
Normally, this integer value is zero or one. A zero or;one tells mogrify to choose a optimal tree depth forthe color reduction algorithm.

.

An optimal depth generally allows the best3representation of the source image with the fastest3computational speed and the least amount of memory.4However, the default depth is inappropriate for some6images. To assure the best representation, try values-between 2 and 8 for this parameter. Refer toDquantize for more details.

H

The -colors or -monochrome option is required for thisoption to take effect.

-undercolor <undercolor factor>x<black-generation factor>;
control undercolor removal and black generation on CMYKimages.

9

This option enables you to perform undercolor removal2and black generation on CMYK images-- images to be0printed on a four-color printing system. You can4control how much cyan, magenta, and yellow to remove5from your image and how much black to add to it. The6standard undercolor removal is 1.0x1.0. You'll-frequently get better results, though, if the5percentage of black you add to your image is slightly4higher than the percentage of C, M, and Y you remove3from 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 and3transform the image. Refer to miff(5) for adescription of the image class.<If -colors is also specified, the total unique colors1in 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 you9specify on the command line remains in effect until it is8explicitly changed by specifying the option again with a:different effect. For example, to mogrify two images, the8first 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.BFor example, specify +compress to store the binary image inan uncompressed format.

;

By default, the image format is determined by its magic9number. To specify a particular image format, precede the4filename 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 3convert(1)"for a list of valid image formats.

O

Specify file as - for standard input and output. If fileHhas the extension .Z or .gz, the file is uncompressed with@uncompress or gunzip respectively and subsequentlyGcompressed using with compress or gzip. Finally, precede6the image file name with | to pipe to or from a systemcommand.

K

Use an optional index enclosed in brackets after a file name to specifyCa desired subimage of a multi-resolution image format like Photo CDI(e.g. img0001.pcd[4]) or a range for MPEG images (e.g. video.mpg[50-75]).BA subimage specification can be disjoint (e.g. image.tiff[2,4,7]).GFor raw images, specify a subimage with a geometry (e.g. -size 640x512image.rgb[320x256+50+50]).

*Back to Contents






Image Segmentation

H
Use -segment to segment an image by analyzing the histogramsBof the color components and identifying units that are homogeneous9with 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 each0class is used to coarsely segment the image with6thresholding. The color associated with each class is5determined by the mean color of all pixels within the9extents of a particular class. Finally, any unclassifiedJpixels are assigned to the closest class with the fuzzy c-means technique.

9The fuzzy c-Means algorithm can be summarized as follows:





>

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 to5the closest class of which the fuzzy membership has amaximum value.

For additional information see:

; Young Won Lim, Sang Uk Lee, "On The Color Image6 Segmentation Algorithm Based on the Thresholding and9 the Fuzzy c-Means Techniques", Pattern Recognition,+ Volume 23, Number 9, pages 935-952, 1990.



*Back to Contents






Copyright

8
Copyright 1997 E. I. du Pont de Nemours and Company :Permission to use, copy, modify, distribute, and sell this8software and its documentation for any purpose is hereby6granted without fee, provided that the above copyright:notice appear in all copies and that both that copyright 6notice and this permission notice appear in supporting4documentation, and that the name of E. I. du Pont de1Nemours and Company not be used in advertising or4publicity pertaining to distribution of the software:without specific, written prior permission. E. I. du Pont:de Nemours and Company makes no representations about the 4suitability of this software for any purpose. It is5provided "as is" without express or implied warranty.

6

E. I. du Pont de Nemours and Company disclaims all6warranties with regard to this software, including all8implied warranties of merchantability and fitness, in no:event shall E. I. du Pont de Nemours and Company be liable9for any special, indirect or consequential damages or any8damages whatsoever resulting from loss of use, data or 8profits, whether in an action of contract, negligence or6other tortious action, arising out of or in connection-with the use or performance of this software.


*Back to Contents






Acknowledgements

>
The MIT X Consortium for making network transparentgraphics a reality.

F

Michael Halle, Spatial Imaging Group at MIT, for the5initial implementation of Alan Paeth's image rotation algorithm.

I

David Pensak, E. I. du Pont de Nemours and Company, for8providing a computing environment that made this program possible.

DPaul Raveling, USC Information Sciences Institute. The9spacial subdivision color reduction algorithm is based onhis Img software.



*Back to Contents






Authors

>
John Cristy, G cristy@sympatico.org E.I. du Pont de Nemours and CompanyIncorporated.


*Back to Contents


4[home page]IImage manipulation software that works like magic.