Contents

- Synopsis
- Description
- Examples
- Options
- Image Segmentation
- Acknowledgement
- Authors
- Copyright

Synopsis

  mogrify [ options ...] file [ [ options ...] file ...]

Back to Contents

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.

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:

    `mogrify -geometry 640x480! cockatoo.miff`

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

  -antialias

    remove pixel aliasing.

  -blur factor

    blur an image. Specify factor as the percent enhancement (0.0 - 99.9%).

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

  -charcoal factor

    simulate a charcoal drawing.

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

    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 other image attribute by embedding special format characters:

            %b   file size
            %d   directory
            %e   filename extension
            %f   filename
            %h   height
            %m   magick
            %p   page number
            %s   scene number
            %t   top of 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.

  -compress type

    the type of image compression: None, BZip, Fax, Group4, JPEG, LZW, RunlengthEncoded 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.

    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.

    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.

  -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.. 1/100ths of a second 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.

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

  -despeckle

    reduce the speckles within an image.

  -display host:display[.screen]

  specifies the X server to contact; see X(1).

  -display host:display[.screen]

    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.

  -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
             fillRectangle
             circle
             fillCircle
             ellipse
             fillEllipse
             polygon
             fillPolygon
             color
             matte
             text
             image

    Point, line, color, matte, text, and image each require a single coordinate. Line requires a start and end coordinate, while rectangle expects an upper left and lower right coordinate. Circle has a center coordinate and a coordinate on the outer edge. Use Ellipse to draw a partial ellipse centered at the given point, specified width and height, and start and end of arc in degrees (e.g. 100,100 100,150 0,360). Finally, polygon requires three or more coordinates defining 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'

    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 scene number by embedding special format characters. Embed `%f` for filename, `%d` for directory, `%e` for filename extension, `%t` for top of filename, `%m` for magick, `%w` for width, `%h` for height, `%s` for scene number, or `\n` for newline. 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. To generate a Unicode character (TrueType fonts only), embed the code as an escaped hex string (e.g. `\0x30a3`).

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

    annotates the image with `MIFF:bird.miff 512x480` for an image titled `bird.miff` and whose width is 512 and height is 480.

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

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

  -edge factor

    detect edges within an image. Specify factor as the percent enhancement (0.0 - 99.9%).

  -emboss

    emboss the image.

  -enhance

    apply a digital filter to enhance a noisy image.

  -equalize

    perform histogram equalization to the image.

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

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

  -font name

    use this font when annotating the image with text.

    If the font is a fully qualified X server font name, the font is obtained from an X server (e.g. `-*-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-*`). To use a TrueType font, precede the TrueType filename with a `@` (e.g. `@times.ttf`). Otherwise, specify a Postscript font (e.g. `helvetica`).

  -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. The target background color may differ by a small amount. This option can account for these differences.

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

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

    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.

    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.

  -gravity type

    direction text gravitates to when annotating the image: 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.

  -implode amount

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

  -interlace type

    the type of interlacing scheme: 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 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.

  -layer type

    the type of layer: Red, Green, Blue, or Matte.

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

  -linewidth value

    set the width of a line. See -draw for further details.

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

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

  -matte

    store matte channel if the image has one otherwise create an opaque one.

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

  -monochrome

    transform the image to black and white.

  -negate

    replace every pixel with its complementary color (white becomes black, yellow becomes blue, etc.).

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

  -noise

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

    Use +noise followed by a noise type to add noise to an image. Choose from these noise types:

            Uniform
            Gaussian
            Multiplicative
            Impulse
            Laplacian
            Poisson

  -normalize

    transform image to span the full range of color values. This is a contrast enhancement technique.

  -opaque color

  change this color to the pen color within the image. See -pen 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 "+1"00+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 {+-}<x offset>{+-}<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

    set the color of the font or opaque color. See -draw for further details.

    See X(1) for details about the color specification. A pen can also be an image. Specify the pen color as an image name preceded by a `@` (e.g. `@tile.gif`).

  -pointsize value

    pointsize of the Postscript font.

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

    By default, any command line options are applied to the entire image. Use -region to restrict operations to a particular area 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 bordercolor (class borderColor). 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.

  -seed value

    pseudo-random number generator seed value.

  -segment <cluster threshold>x<smoothing threshold>

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

  -swirl degrees

    swirl image pixels about the center.

    Degrees defines the tightness of the swirl.

  -transparency color

    make this color transparent within the image.

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

  -treedepth value

    Normally, this integer value is zero or one. A zero or one tells mogrify 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.

  -units type

    the type of image resolution: Undefined, PixelsPerInch, or PixelsPerCentimeter.

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

  -view string

    FlashPix viewing paramters.

  -wave <amplitude>x<wavelength>

    alter an image along a sine wave.

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

  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

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

  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

Image 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

Acknowledgements

  The MIT X Consortium for making network transparent graphics a reality.

  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. The spacial subdivision color reduction algorithm is based on his Img software.

  Back to Contents

  Authors

    John Cristy, magick@wizards.dupont.com E.I. du Pont de Nemours and Company Incorporated.

  Back to Contents

  Copyright

    Copyright 1999 E. I. du Pont de Nemours and Company

    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 E. I. du Pont de Nemours and Company 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 E. I. du Pont de Nemours and Company shall not be used in advertising or otherwise to promote the sale, use or other dealings in ImageMagick without prior written authorization from the E. I. du Pont de Nemours and Company.

  Back to Contents

  Image manipulation software that works like magic.