> NAME

convert - convert an image or sequence of images

> Contents

Synopsis
Description
Examples
Options
Processing order
Files and Formats
Image Segmentation
Environment
Authors
Copyright
> Synopsis

convert [ options ... ] input_file output_file

> Description

Convert converts an input file using one image format to an output file with a differing image format. In addition, various types of image processing can be performed on the converted image during the conversion process. Convert recognizes the following image formats:

*AVS - AVS X image file.
*BIE+ - Joint Bi-level Image experts Group file interchange format.
*BMP+ - Microsoft Windows bitmap image file.
*BMP24+ - Microsoft Windows 24-bit bitmap image file.
*CGM - Computer Graphics Metafile.
*CMYK - Raw cyan, magenta, yellow, and black samples (8 or 16 bits, depending on the setting of the -depth option).
*DCX+ - ZSoft IBM PC multi-page Paintbrush file.
*DIB - Microsoft Windows bitmap image file.
*DICOM - Medical image file.
*EPDF - Encapsulated Portable Document Format.
*EPI - Adobe Encapsulated PostScript Interchange format.
*EPS - Adobe Encapsulated PostScript file.
*EPS2 - Adobe Level II Encapsulated PostScript file.
*EPSF - Adobe Encapsulated PostScript file.
*EPSI - Adobe Encapsulated PostScript Interchange format.
*EPT - Adobe Encapsulated PostScript Interchange format with TIFF preview.
*FAX+ - Group 3.
*FIG - TransFig image format.
*FITS - Flexible Image Transport System.
*FPX - FlashPix Format.
*GIF - CompuServe graphics interchange format; 8-bit color.
*GIF87 - CompuServe graphics interchange format; 8-bit color (version 87a).
*GRAY - Raw gray samples (8 or 16 bits, depending on the setting of the -depth option).
*GRADIENT- gradual passing from one shade to another. Specify the desired shading with the filename (e.g. gradient:red-blue).
*GRANITE - granite texture.
*HDF+ - Hierarchical Data Format.
*HISTOGRAM
*HPGL - HP-GL plotter language.
*HTML - Hypertext Markup Language a with client-side image map.
*JBIG+ - Joint Bi-level Image experts Group file interchange format.
*JPEG - Joint Photographic Experts Group JFIF format; compressed 24-bit color.
*ICO - Microsoft icon.
*LABEL - text image.
*MAP - colormap intensities (8 or 16 bits, depending on the setting of the -depth option) and indices (8 or 16 bits, depending on whether colors > 256).
*MIFF+ - Magick image file format.
*MNG+ - Multiple-image Network Graphics.
*MONO - Bi-level bitmap in least-significant-byte (LSB) first order.
*MPEG+ - Motion Picture Experts Group file interchange format.
*MTV+ -
*MVG - Magick Vector Graphics.
*M2V+ - Motion Picture Experts Group file interchange format (version 2).
*NETSCAPE - Netscape 216 color cube.
*NULL - NULL image.
*PBM+ - Portable bitmap format (black and white).
*PCD - Photo CD. The maximum resolution written is 512x768 pixels.
*PCDS - Photo CD. Decode with the sRGB color table.
*PCL - Page Control Language.
*PCX - ZSoft IBM PC Paintbrush file.
*PDF+ - Portable Document Format.
*PGM+ - Portable graymap format (gray scale).
*PICT - Apple Macintosh QuickDraw/PICT file.
*PIX - Alias/Wavefront RLE image format.
*PLASMA - plasma fractal image. Specify the base color as the filename (e.g. plasma:gray). Use fractal to initialize to a random value (e.g. plasma:fractal).
*PNG - Portable Network Graphics.
*PNM+ - Portable anymap.
*PPM+ - Portable pixmap format (color).
*PS+ - Adobe PostScript file.
*PSD - Adobe PhotoShop bitmap file.
*PS2+ - Adobe Level II PostScript file.
*RAD - Radiance image file.
*RGB - Raw red, green, and blue samples (8 or 16 bits, depending on the setting of the -depth option).
*RGBA - Raw red, green, blue, and matte samples (8 or 16 bits, depending on the setting of the -depth option).
*RLA - Alias/Wavefront image file; read only.
*RLE - Utah Run length encoded image file; read only.
*SGI+ - Irix RGB image file.
*SHTML - Hypertext Markup Language a with client-side image map.
*SUN+ - SUN Rasterfile.
*SVG+ - Scalable Vector Graphics.
*TEXT - raw text file; read only.
*TGA+ - Truevision Targa image file.
*TIFF+ - Tagged Image File Format.
*TIFF24+ - 24-bit Tagged Image File Format.
*TILE - tile image with a texture.
*TIM - PSX TIM file.
*TTF - TrueType font file.
*UIL - X-Motif UIL table.
*UYVY - Interleaved YUV.
*VICAR - read only.
*VID - Visual Image Directory.
*VIFF+ - Khoros Visualization image file.
*WIN - select image from or display image to your computer screen.
*X - select image from or display image to your X server screen.
*XC - constant image of X server color. Specify the image color as the filename (e.g. xc:yellow).
*XBM - X Windows system bitmap, black and white only.
*XPM - X Windows system pixmap file (color).
*XWD - X Windows system window dump file (color).
*YUV+ - CCIR 601 4:1:1 file.

Support for some of these formats require additional programs or libraries. README tells where to find this software.

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.

Raw images are expected to have one byte per pixel unless ImageMagick is compiled in 16-bit mode. Here, the raw data is expected to be stored two bytes per pixel in most-significant-byte-first order. You can tell if ImageMagick was compiled in 16-bit mode by typing "convert" without any options, and looking for "Q:16" in the first line of output.

Back to Contents  

> Examples

To convert a MIFF image of a cockatoo to a SUN raster image, use:

    convert cockatoo.miff sun:cockatoo.ras

To convert a multi-page PostScript document to individual FAX pages, use:

    convert -monochrome document.ps fax:page

To convert a TIFF image to a PostScript A4 page with the image in the lower left-hand corner, use:

    convert -page A4+0+0 image.tiff document.ps

To convert a raw Gray image with a 128 byte header to a portable graymap, use:

    convert -depth 8 -size 768x512+128   \
            gray:raw image.pgm

To convert a Photo CD image to a TIFF image, use:

    convert -size 1536x1024 img0009.pcd  \
            image.tiff
    convert img0009.pcd[4] image.tiff

To create a visual image directory of all your JPEG images, use:

    convert 'vid:*.jpg' directory.miff

To annotate an image with blue text using font 12x24 at position (100,100), use:

    convert -font helvetica -fill blue    \
            -draw "text 100,100 Cockatoo" \
            bird.jpg bird.miff

To tile a 640x480 image with a JPEG texture with bumps use:

    convert -size 640x480 tile:bumps.jpg  \
            tiled.png

To surround an icon with an ornamental border to use with Mosaic(1), use:

    convert -mattecolor "#697B8F" -frame  \
            6x6 bird.jpg icon.png

To create a MNG animation from a DNA molecule sequence, use:

    convert -delay 20 dna.* dna.mng

Back to Contents  

> Options

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.


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

> -antialias

remove pixel aliasing

> -append

append a set of images

All the input images must have the same width or height. Images of the same width are stacked top-to-bottom. Images of the same height are stacked left-to-right. Use +append to stack rectangular images left-to-right.

> -average

average a set of images

> -background color

the background color

> -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 X(1) for details about the geometry specification.

> -bordercolor color

the border color

> -box color

set the color of the annotation bounding box

See -draw for further details.

> -cache threshold

megabytes of memory available to the pixel cache

Image pixels are stored in memory until 80 megabytes of memory have been consumed. Subsequent pixel operations are cached on disk. Operations to memory are significantly faster but if your computer does not have a sufficient amount of free memory you may want to adjust this threshold value.

> -channel type

the type of channel

Choose from: Red, Green, Blue, Opacity, Cyan, Magenta, Yellow, or Black.

Use this option to extract a particular channel from the image. Matte, for example, is useful for extracting the opacity values from an image.

> -charcoal factor

simulate a charcoal drawing

> -chop <width>x<height>{+-}<x offset>{+-}<y offset>{%}

remove pixels from the interior of an image

The width and height give the number of columns and rows to remove, and the offsets give the location of the leftmost column and topmost row to remove.

The -chop option removes entire rows and columns, and moves the remaining corner blocks leftward and upward to close the gaps.

> -coalesce

merge a sequence of images

See X(1) for details about the color specification

> -colorize value

colorize the image with the pen 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 delineated with slashes (e.g. 0/0/50).

> -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. Refer to quantize for more details.

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

> -colorspace value

the type of colorspace

Choices are: GRAY, OHTA, RGB, Transparent, XYZ, YCbCr, YIQ, YPbPr, YUV, or CMYK.

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 is required for this option to take effect.

> -comment string

annotate an image with a comment

Use this option to assign a specific comment to the image. You can include the image filename, type, width, height, or other image attribute by embedding special format characters:
     %b   file size
     %c   comment
     %d   directory
     %e   filename extention
     %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
     \n   newline
     \r   carriage return

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

[This option is not used by convert but this section is included because it describes the composite operators that are used by the -draw option of convert.]

By default, each of the composite image pixels are replaced by the corresponding image tile pixel. You can choose an alternate composite operation:
     Over
     In
     Out
     Atop
     Xor
     Plus
     Minus
     Add
     Subtract
     Difference
     Multiply
     Bumpmap
     Copy
     CopyRed
     CopyGreen
     CopyBlue
     CopyOpacity

How each operator behaves is described below.
Over
The result will be the union of the two image shapes, with opaque areas of composite image obscuring image in the region of overlap.
In
The result is simply composite image cut by the shape of image. None of the image data of image will be in the result.
Out
The resulting image is composite image with the shape of image cut out.
Atop
The result is the same shape as image image, with composite image obscuring image where the image shapes overlap. Note this differs from over because the portion of composite image outside image's shape does not appear in the result.
Xor
The result is the image data from both composite image and 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 255 (no overflow). This operation is independent of the matte channels.
Minus
The result of composite image - image, with underflow cropped to zero. The matte channel is ignored (set to 255, full coverage).
Add
The result of composite image + image, with overflow wrapping around (mod 256).
Subtract
The result of composite image - image, with underflow wrapping around (mod 256). The add and subtract operators can be used to perform reversible transformations.
Difference
The result of abs(composite image - image). This is useful for comparing two very similar images.
Multiply
The result of composite image * image. This is useful for the creation of drop-shadows.
Bumpmap
The result image shaded by composite image.
Copy
The resulting image is image replaced with composite image. Here the matte information is ignored.
CopyRed
The resulting image is the red layer in image replaced with the red layer in composite image. The other layers are copied untouched.
CopyGreen
The resulting image is the green layer in image replaced with the green layer in composite image. The other layers are copied untouched.
CopyBlue
The resulting image is the blue layer in image replaced with the blue layer in composite image. The other layers are copied untouched.
CopyOpacity
The resulting image is the matte layer in image replaced with the matte layer in composite image. The other layers are copied untouched.

The image compositor requires a matte, or alpha channel in the image for some operations. This extra channel usually defines a mask which represents a sort of a cookie-cutter for the image. This is the case when matte is 255 (full coverage) for pixels inside the shape, zero outside, and between zero and 255 on the boundary. For certain operations, if image does not have a matte channel, it is initialized with 0 for any pixel matching in color to pixel location (0,0), otherwise 255 (to work properly borderwidth must be 0).

> -compress type

the type of image compression

Choices are: None, BZip, Fax, Group4, JPEG, 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.

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

The width and height give the size of the image that remains after cropping, and the offsets 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.

To specify a percentage width or height to be removed instead, append %. For example to crop the image by ten percent (five percent on each side of the image), use -crop 10%.

Use cropping to apply image processing options to, or display, a particular area of an image.

Omit the x and y offset to generate one or more subimages of a uniform size.

Use cropping to crop a particular area of an image. Use -crop 0x0 to trim edges that are the background color. Add an x and y offset to leave a portion of the trimmed edges with the image.

> -cycle amount

displace image colormap by amount

Amount defines the number of positions each colormap entry is shifted.

> -debug

enable debug printout

> -deconstruct

break down an image sequence into constituent parts

> -delay <1/100ths of a second>

display the next image after pausing

This option is useful for regulating the animation of GIF images within Netscape. 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.

> -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 dots per inch in the horizontal and vertical direction. This option is used in concert with -page.

> -depth value

depth of the image

This is the number of bits in 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.

> -despeckle

reduce the speckles within an image

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

Here are the valid methods:
     0     No disposal specified.
     1     Do not dispose between frames.      
     2     Overwrite frame with background color from header.
     3     Overwrite with previous frame.

> -dissolve value

dissolve an 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 render Postscript without text or graphic aliasing.

> -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
     point
     line
     rectangle
     roundRectangle
     arc
     ellipse
     circle
     polyline
     polygon
     bezier
     path
     color
     matte
     text
     image

Point and line each require a single coordinate. Line requires a start and end coordinate, while rectangle expects an upper left and lower right coordinate. roundRectangle has a center coordinate, a width and height, and the width and height of the corners. Circle has a center coordinate and a coordinate for the outer edge. Use Arc to circumscribe an 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'

See Paths. 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 color to change the color of a pixel. 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 transparent. 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.

Use text to annotate an image with text. Follow the text coordinates with a string. If the string has embedded spaces, enclose it in 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.

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'

See -compose for a description of the composite operators.

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 primitive color, font color, and font bounding box color with -fill, -font, and -box respectively. Options are processed in command line order so be sure to use -fill before the -draw option.

> -edge order

detect edges within an image

Good order values are odd numbers from 3 to 31.

> -emboss

emboss an image

> -enhance

apply a digital filter to enhance a noisy image

> -equalize

perform histogram equalization to the image

> -fill color

color to use when filling a graphic primitive

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 Lanczos

> -flatten

flatten a sequence of images

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

> -frame <width>x<height>+<outer bevel width>+<inner bevel width>

surround the image with 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.

> -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 -crop 0x0 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 or 65535).

> -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 slashes (i.e. 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 offset>{+-}<y offset>{%}{@}{!}{<}{>}

preferred size and location of the Image window.

See X(1) for details about the geometry specification. 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 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.

Use @ to specify the maximum area in pixels of an image.

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, if the image is 1024x1024, it is resized to 640x480.

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, if the image is 1024x1024, it is resized to 640x480.

There are 72 pixels per inch in PostScript coordinates.

> -gravity type

direction text gravitates to when annotating the image.

Choices are: NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast. See X(1) for details about the gravity specification.

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.

> -help

print usage instructions

> -implode factor

implode image pixels about the center

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

> -level value

adjust the level of image contrast

Give three point values delineated with commas: black, mid, and white (e.g. 10,1.0,65000). The white and black points range from 0 to MaxRGB and mid ranges from 0 to 10.

> -list type

the type of list

Choices are: Delegate, Format, Magic, Modules, or Type.

This option lists entries from the ImageMagick configuration files.

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

> -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 provided on the command line to a single optimal set of colors that best represent all the images.

> -matte

store matte channel if the image has one

If the image does not have a matte channel, create an opaque one.

> -median order

apply a median filter to the image

Good order values are odd numbers from 3 to 31

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

> -mosaic

create a mosaic from an image sequence

> -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 value

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 order 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

> -noop

NOOP (does nothing)

> -normalize

transform image to span the full range of color values

This is a contrast enhancement technique.

> -opaque color

change this color to the pen color within the image

See -fill for more details.

> -page <width>x<height>{+-}<x offset>{+-}<y offset>{%}{!}{<}{>}

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

To position a GIF image, use -page{+-}<x offset>{+-}<y offset> (e.g. -page +100+200).

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 page dimensions for a TEXT image is 612x792.

This option is used in concert with -density.

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

> -pen color

specify the pen color for drawing operations

> -ping

efficiently determine image characteristics

> -pointsize value

pointsize of the Postscript, OPTION1, or TrueType font

> -preview type

image preview type

Use this option to affect the preview operation of an image (e.g. convert -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

process an image

> -profile filename

add ICM color or IPTC newswire information profile to image

Use +profile icm or +profile iptc to remove the respective profile.

> -quality value

JPEG/MIFF/PNG compression level

For the JPEG image format, quality is 0 (worst) to 100 (best). The default quality is 75.

Quality for the MIFF and PNG image format sets the amount of image compression (quality / 10) and filter-type (quality % 10). Compression quality values range from 0 (worst) to 100 (best). 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 or more, adaptive filtering with minimum-sum-of-absolute-values is used.

The default is quality is 75. Which means nearly the best compression with adaptive filtering.

For further information, see the PNG specification.

> -raise <width>x<height>

lighten or darken image edges

This will create a 3-D effect. See X(1) for details about the geometry specification.

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

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

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 -90> and the image size is 480x640, the image is not rotated by the specified angle. However, if the image is 640x480, it is rotated by -90 degrees.

Empty triangles left over from rotating the image are filled with the color defined as background (class backgroundColor). See X(1) for details.

> -sample geometry

scale image with pixel sampling

See -geometry for details about the geometry specification.

> -scale geometry

scale the image.

See -geometry for details about the geometry specification.

> -scene value{-value}

image scene number or range

Use this option to specify an image sequence with a single filename. See the discussion of file below for details.

> -seed value

pseudo-random number generator seed value

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

> -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). See X(1) for details.

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

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

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

> -stackdrop file

stack some images in "drop" mode

This feature is untested.

> -stackreplace file

stack some images in "replace" mode

This feature is untested.

> -stroke color

color to use when stroking a graphic primitive

See -draw for further details.

> -strokewidth value

set the stroke width

See -draw for further details.

> -swirl degrees

swirl image pixels about the center

Degrees defines the tightness of the swirl.

> -texture filename

name of texture to tile onto the image background

> -threshold value

threshold the image

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

> -tile filename

tile image when filling a graphic primitive

> -transparent color

make this color transparent within the image

> -treedepth value

tree depth for the color reduction algorithm

Normally, this integer value is zero or one. A zero or one tells display to choose 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 is required for this option to take effect.

> -type type

the image type

Choose from: Bilevel, Grayscale, Palette, PaletteMatte, TrueColor, TrueColorMatte, ColorSeparation, ColorSeparationMatte, or Optimize.

> -units type

the type of image resolution

Choose from: Undefined, PixelsPerInch, or PixelsPerCentimeter.

> -unsharp <radius>x<sigma>

sharpen the image with an unsharp mask operator

Use the given radius and standard deviation (sigma).

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

> -view string

FlashPix viewing parameters

> -wave <amplitude>x<wavelength>

alter an image along a sine wave

Specify amplitude and wavelength to effect the characteristics of the wave.

Back to Contents  

> Processing order

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. Some options only affect the decoding of images and others only the encoding.

Back to Contents  

> Files and Formats

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

When you specify X as your image type, the filename has special meaning. It specifies an X window by id, name, or root. If no filename is specified, the window is selected by clicking the mouse in the desired window.

Specify input_file as - for standard input, output_file as - for standard output. If input_file has the extension .Z or .gz, the file is uncompressed with uncompress or gunzip respectively. If output_file has the extension .Z or .gz, the file size is compressed using with compress or gzip respectively. 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]) 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]).

Single images are written with the filename you specify. However, multi-part images (i.e. 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 printf format specification in the file name. For example,

    image%02d.miff

converts files image00.miff, image01.miff, etc.

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.

Back to Contents  

> Segmentation

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:

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.

Back to Contents  

> Environment


> DISPLAY

To get the default host, display number, and screen.

Back to Contents  


 
>Authors
John Cristy, magick-users@imagemagick.org, ImageMagick Studio LLC.
Back to Contents
 
>Copyright
Copyright (C) 2002 ImageMagick Studio

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files ("ImageMagick"), to deal in ImageMagick without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of ImageMagick, and to permit persons to whom the ImageMagick is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of ImageMagick.

The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement.In no event shall ImageMagick Studio be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with ImageMagick or the use or other dealings in ImageMagick.

Except as contained in this notice, the name of the ImageMagick Studio LLC shall not be used in advertising or otherwise to promote the sale, use or other dealings in ImageMagick without prior written authorization from the ImageMagick Studio.

Back to Contents


ImageMagick Home Page Image manipulation software that works like magic.