NAME
mogrify - transform an image or sequence of images
SYNOPSIS
mogrify [ options ...] file [ [ options ...] file ...]
DESCRIPTION
mogrify transforms an image or a sequence of images. These
transforms include image scaling, image rotation, color
reduction, and others. The transmogrified image overwrites
the original image.
EXAMPLES
To convert all the TIFF files in a particular directory to
JPEG, use:
mogrify -format jpeg *.tiff
To scale an image of a cockatoo to exactly 640 pixels in
width and 480 pixels in height, use:
mogrify -geometry 640x480! cockatoo.miff
OPTIONS
-antialias
remove pixel aliasing.
-blur <radius>x<sigma>
blur the image with a Gaussian operator of 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 or for further details.
See X(1) for details about the color specification.
-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.
-charcoal radius
simulate a charcoal drawing.
-colorize value
colorize the image with the fill 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(9) 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 attributes by embedding
special format characters:
%b file size
%c comment
%d directory
%e filename extention
%f filename
%h height
%i input filename
%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.
-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 a
sequence of GIF images within Netscape. 1/100ths of a
second must expire before the redisplay of the image
sequence. 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 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).
-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.
-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, 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 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'
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 attributes by embedding
special format characters. 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. 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 primitive with a composite operator,
image position, image size, and filename:
-draw 'image Over 100,100 225,225 image.jpg'
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 <radius>
enhance the edges of the image with a convolution
filter of the given radius.
-emboss <radius>x<sigma>
emboss the image with a convolution kernel of the given
radius and standard deviation (sigma).
-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 value
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).
-gaussian <radius>x<sigma>
blur the image with a Gaussian operator of the given
width and standard deviation (sigma).
offset>{%}{!}{<}{>}
-geometry <width>x<height>{+-}<x offset>{+-}<y
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 text gravity is NorthWest.
-implode factor
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. No
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 scene number in the label by
embedding special format characters. Optionally you
can include the image filename, type, width, height, or
other image attributes by embedding special format
characters. 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.
-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.
-median radius
apply a median filter to the image.
-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.
-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 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 radius 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
-normalize
transform image to span the full range of color values.
This is a contrast enhancement technique.
-opaque color
change this color to the fill color within the image.
See -fill for more details.
-page <width>x<height>{+-}<x offset>{+-
}<y offset>{%}{!}{<}{>}
preferred 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 {+-}<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.
-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 (RFC
2083), <http://www.w3.org/pub/WWW/TR>.
-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).
-sample geometry
scale image with pixel sampling.
-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 <radius>x<sigma>
sharpen the image with a Laplacian operator of the
given radius and standard deviation (sigma).
-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 threshold
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.
-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.
-transparency color
make this color transparent within the image.
-treedepth value
Normally, this integer value is zero or one. A zero or
one tells mogrify to choose a optimal tree depth for
the color reduction algorithm.
An optimal depth generally allows the best
representation of the source image with the fastest
computational speed and the least amount of memory.
However, the default depth is inappropriate for some
images. To assure the best representation, try values
between 2 and 8 for this parameter. Refer to
quantize(9) for more details.
The -colors or -monochrome option is required for this
option to take effect.
-units type
the type of image resolution: Undefined, PixelsPerInch,
or PixelsPerCentimeter. The default is Undefined.
-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 parameters.
-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.
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:
o Build a histogram, one for each color component of
the image.
o 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.
o 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.
o 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.
SEE ALSO
display(1), animate(1), import(1), montage(1), convert(1),
combine(1), xtp(1)
COPYRIGHT
Copyright (C) 2001 ImageMagick Studio, a non-profit
organization dedicated to making software imaging solutions
freely available.
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 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.
ACKNOWLEDGEMENTS
Michael Halle, Spatial Imaging Group at MIT, for the initial
implementation of Alan Paeth's image rotation algorithm.
David Pensak, E. I. du Pont de Nemours and Company, for
providing a computing environment that made this program
possible.
Paul Raveling, USC Information Sciences Institute, for the
original idea of using space subdivision for the color
reduction algorithm.
AUTHORS
John Cristy, ImageMagick Studio
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |