.TH mogrify 1 "Date: 2009/01/10 01:00:00" "ImageMagick"
.SH NAME
mogrify \- resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. Mogrify overwrites the original image file, whereas, convert(1) writes to a different image file.
.SH SYNOPSIS
.TP
\fBmogrify\fP [\fIoptions\fP] \fIinput-file\fP 
.SH OVERVIEW
The \fBmogrify\fP program is a member of the ImageMagick(1) suite of tools.  Use it to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. This tool is similar to convert(1) except the original image file is overwritten with any changes you request.

For more information about the mogrify command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/mogrify.html or http://imagemagick.org/script/mogrify.php.
.SH DESCRIPTION
Image Settings:
  \-adjoin              join images into a single multi-image file
  \-affine matrix       affine transform matrix
  \-antialias           remove pixel-aliasing
  \-authenticate value  decrypt image with this password
  \-attenuate value     lessen (or intensify) when adding noise to an image
  \-background color    background color
  \-bias value          add bias when convolving an image
  \-black-point-compensation
                       use black point compensation
  \-blue-primary point  chromaticity blue primary point
  \-bordercolor color   border color
  \-caption string      assign a caption to an image
  \-cdl filename        color correct with a color decision list
  \-colors value        preferred number of colors in the image
  \-colorspace type     alternate image colorspace
  \-comment string      annotate image with comment
  \-compose operator    set image composite operator
  \-compress type       type of pixel compression when writing the image
  \-decipher filename   convert cipher pixels to plain pixels
  \-define format:option
                       define one or more image format options
  \-delay value         display the next image after pausing
  \-density geometry    horizontal and vertical density of the image
  \-depth value         image depth
  \-direction type      render text right-to-left or left-to-right
  \-display server      get image or font from this X server
  \-dispose method      layer disposal method
  \-dither method       apply error diffusion to image
  \-encipher filename   convert plain pixels to cipher pixels
  \-encoding type       text encoding type
  \-endian type         endianness (MSB or LSB) of the image
  \-family name         render text with this font family
  \-features distance   analyze image features (e.g. contrast, correlation)
  \-fill color          color to use when filling a graphic primitive
  \-filter type         use this filter when resizing an image
  \-flatten             flatten a sequence of images
  \-font name           render text with this font
  \-format type         image format type
  \-function name       apply a function to the image
  \-fuzz distance       colors within this distance are considered equal
  \-gravity type        horizontal and vertical text placement
  \-green-primary point chromaticity green primary point
  \-intensity method    method to generate intensity value from pixel
  \-intent type         type of rendering intent when managing the image color
  \-interlace type      type of image interlacing scheme
  \-interline-spacing   value set the space between two text lines
  \-interpolate method  pixel color interpolation method
  \-interword-spacing   value set the space between two words
  \-kerning value       set the space between two letters
  \-label string        assign a label to an image
  \-limit type value    pixel cache resource limit
  \-loop iterations     add Netscape loop extension to your GIF animation
  \-matte               store matte channel if the image has one
  \-mattecolor color    frame color
  \-metric type         measure differences between images with this metric
  \-monitor             monitor progress
  \-morphology method kernel
                       apply a morphology method to the image
  \-orient type         image orientation
  \-page geometry       size and location of an image canvas (setting)
  \-path path           write images to this path on disk
  \-perceptible epsilon
                       pixel value less than |epsilon| become epsilon or -epsilon
  \-ping                efficiently determine image attributes
  \-pointsize value     font point size
  \-precision value     maximum number of significant digits to print
  \-preview type        image preview type
  \-quality value       JPEG/MIFF/PNG compression level
  \-quiet               suppress all warning messages
  \-read-mask filename  associate a read mask with the image
  \-red-primary point   chromaticity red primary point
  \-regard-warnings     pay attention to warning messages
  \-remap filename      transform image colors to match this set of colors
  \-repage geometry     size and location of an image canvas
  \-respect-parentheses settings remain in effect until parenthesis boundary
  \-sampling-factor geometry
                       horizontal and vertical sampling factor
  \-scene value         image scene number
  \-seed value          seed a new sequence of pseudo-random numbers
  \-size geometry       width and height of image
  \-stretch type        render text with this font stretch
  \-stroke color        graphic primitive stroke color
  \-strokewidth value   graphic primitive stroke width
  \-style type          render text with this font style
  \-synchronize         synchronize image to storage device
  \-taint               declare the image as modified
  \-texture filename    name of texture to tile onto the image background
  \-tile-offset geometry
                       tile offset
  \-treedepth value     color tree depth
  \-transparent-color color
                       transparent color
  \-undercolor color    annotation bounding box color
  \-units type          the units of image resolution
  \-verbose             print detailed information about the image
  \-virtual-pixel method
                       virtual pixel access method
  \-weight type         render text with this font weight
  \-white-point point   chromaticity white point
  \-write-mask filename associate a write mask with the image

Image Operators:
  \-adaptive-blur geometry
                       adaptively blur pixels; decrease effect near edges
  \-adaptive-resize geometry
                       adaptively resize image with data dependent triangulation
  \-adaptive-sharpen geometry
                       adaptively sharpen pixels; increase effect near edges
  \-alpha option        on, activate, off, deactivate, set, opaque, copy
                       transparent, extract, background, or shape
  \-annotate geometry text
                       annotate the image with text
  \-auto-gamma          automagically adjust gamma level of image
  \-auto-level          automagically adjust color levels of image
  \-auto-orient         automatically orient image
  \-auto-threshold method
                       automatically perform image thresholding
  \-bench iterations    measure performance
  \-black-threshold value
                       force all pixels below the threshold into black
  \-blue-shift          simulate a scene at nighttime in the moonlight
  \-blur geometry       reduce image noise and reduce detail levels
  \-border geometry     surround image with a border of color
  \-brightness-contrast geometry
                       improve brightness / contrast of the image
  \-canny geometry      detect edges in the image
  \-channel mask        set the image channel mask
  \-charcoal radius     simulate a charcoal drawing
  \-chop geometry       remove pixels from the image interior
  \-clamp               keep pixel values in range (0-QuantumRange)
  \-clip                clip along the first path from the 8BIM profile
  \-clip-mask filename  associate a clip mask with the image
  \-clip-path id        clip along a named path from the 8BIM profile
  \-colorize value      colorize the image with the fill color
  \-color-matrix matrix apply color correction to the image
  \-connected-component connectivity
                       connected-components uniquely labeled
  \-contrast            enhance or reduce the image contrast
  \-contrast-stretch geometry
                       improve contrast by `stretching' the intensity range
  \-convolve coefficients
                       apply a convolution kernel to the image
  \-cycle amount        cycle the image colormap
  \-deskew threshold    straighten an image
  \-despeckle           reduce the speckles within an image
  \-distort method args
                       distort images according to given method and args
  \-draw string         annotate the image with a graphic primitive
  \-edge radius         apply a filter to detect edges in the image
  \-emboss radius       emboss an image
  \-enhance             apply a digital filter to enhance a noisy image
  \-equalize            perform histogram equalization to an image
  \-evaluate operator value
                       evaluate an arithmetic, relational, or logical expression
  \-extent geometry     set the image size
  \-extract geometry    extract area from image
  \-fft                 implements the discrete Fourier transform (DFT)
  \-flip                flip image vertically
  \-floodfill geometry color
                       floodfill the image with color
  \-flop                flop image horizontally
  \-frame geometry      surround image with an ornamental border
  \-gamma value         level of gamma correction
  \-gaussian-blur geometry
                       reduce image noise and reduce detail levels
  \-geometry geometry   preferred size or location of the image
  \-grayscale method    convert image to grayscale
  \-help                print program options
  \-hough-lines geometry
                       identify lines in the image
  \-identify            identify the format and characteristics of the image
  \-ift                 implements the inverse discrete Fourier transform (DFT)
  \-implode amount      implode image pixels about the center
  \-interpolative-resize geometry
                       resize image using interpolation
  \-lat geometry        local adaptive thresholding
  \-layers method       optimize or compare image layers
  \-level value         adjust the level of image contrast
  \-level-colors color,color
                       level image with the given colors
  \-linear-stretch geometry
                       improve contrast by `stretching with saturation' the intensity range
  \-liquid-rescale geometry
                       rescale image with seam-carving
  \-magnify             double the size of the image with pixel art scaling
  \-mean-shift geometry delineate arbitrarily shaped clusters in the image
  \-median geometry     apply a median filter to the image
  \-mode geometry       make each pixel the 'predominant color' of the neighborhood
  \-modulate value      vary the brightness, saturation, and hue
  \-monochrome          transform image to black and white
  \-motion-blur geometry
                       simulate motion blur
  \-negate              replace each pixel with its complementary color 
  \-noise geometry      add or reduce noise in an image
  \-normalize           transform image to span the full range of colors
  \-opaque color        change this color to the fill color
  \-ordered-dither NxN
                       add a noise pattern to the image with specific amplitudes
  \-paint radius        simulate an oil painting
  \-polaroid angle      simulate a Polaroid picture
  \-posterize levels    reduce the image to a limited number of color levels
  \-print string        interpret string and print to console
  \-profile filename    add, delete, or apply an image profile
  \-quantize colorspace reduce colors in this colorspace
  \-radial-blur angle   radial blur the image
  \-raise value         lighten/darken image edges to create a 3-D effect
  \-random-threshold low,high
                       random threshold the image
  \-range-threshold values
                       perform either hard or soft thresholding within some range of values in an image
  \-region geometry     apply options to a portion of the image
  \-render              render vector graphics
  \-resample geometry   change the resolution of an image
  \-resize geometry     resize the image
  \-roll geometry       roll an image vertically or horizontally
  \-rotate degrees      apply Paeth rotation to the image
  \-sample geometry     scale image with pixel sampling
  \-scale geometry      scale the image
  \-segment values      segment an image
  \-selective-blur geometry
                       selectively blur pixels within a contrast threshold
  \-sepia-tone threshold
                       simulate a sepia-toned photo
  \-set property value  set an image property
  \-shade degrees       shade the image using a distant light source
  \-shadow geometry     simulate an image shadow
  \-sharpen geometry    sharpen the image
  \-shave geometry      shave pixels from the image edges
  \-shear geometry      slide one edge of the image along the X or Y axis
  \-sigmoidal-contrast geometry
                       lightness rescaling using sigmoidal contrast enhancement
  \-sketch geometry     simulate a pencil sketch
  \-solarize threshold  negate all pixels above the threshold level
  \-sparse-color method args
                       fill in a image based on a few color points
  \-splice geometry     splice the background color into the image
  \-spread amount       displace image pixels by a random amount
  \-statistic type geometry
                       replace each pixel with corresponding statistic from the neighborhood
  \-strip               strip image of all profiles and comments
  \-swirl degrees       swirl image pixels about the center
  \-threshold value     threshold the image
  \-thumbnail geometry  create a thumbnail of the image
  \-tile filename       tile image when filling a graphic primitive
  \-tint value          tint the image with the fill color
  \-transform           affine transform image
  \-transparent color   make this color transparent within the image
  \-transpose           flip image vertically and rotate 90 degrees
  \-transverse          flop image horizontally and rotate 270 degrees
  \-trim                trim image edges
  \-type type           image type
  \-unique-colors       discard all but one of any pixel color
  \-unsharp geometry    sharpen the image
  \-vignette geometry   soften the edges of the image in vignette style
  \-wave geometry       alter an image along a sine wave
  \-wavelet-denoise threshold
                        removes noise from the image using a wavelet transform
  \-white-threshold value
                       force all pixels above the threshold into white

Image Channel Operators:
  \-channel-fx expression
                       exchange, extract, or transfer one or more image channels
  \-separate            separate an image channel into a grayscale image

Image Sequence Operators:
  \-affinity filename   transform image colors to match this set of colors
  \-append              append an image sequence top to botto (use +append for left to right)
  \-clut                apply a color lookup table to the image
  \-coalesce            merge a sequence of images
  \-combine             combine a sequence of images
  \-compare             mathematically and visually annotate the difference between an image and its reconstruction
  \-complex operator    perform complex mathematics on an image sequence
  \-composite           composite image
  \-copy geometry offset,
                       copy pixels from one area of an image to another
  \-crop geometry       cut out a rectangular region of the image
  \-deconstruct         break down an image sequence into constituent parts
  \-evaluate-sequence operator
                       evaluate an arithmetic, relational, or logical expression
  \-flatten             flatten a sequence of images
  \-fx expression       apply mathematical expression to an image channel(s)
  \-hald-clut           apply a Hald color lookup table to the image
  \-morph value         morph an image sequence
  \-mosaic              create a mosaic from an image sequence
  \-poly terms          build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs)
  \-process arguments   process the image with a custom image filter
  \-separate            separate an image channel into a grayscale image
  \-smush geometry      smush an image sequence together
  \-write filename      write images to this file

Image Stack Operators:
  \-delete indexes      delete the image from the image sequence
  \-duplicate count,indexes
                       duplicate an image one or more times
  \-insert index        insert last image into the image sequence
  \-reverse             reverse image sequence
  \-swap indexes        swap two images in the image sequence

Miscellaneous Options:
  \-debug events        display copious debugging information
  \-distribute-cache port
                       distributed pixel cache spanning one or more servers
  \-help                print program options
  \-log format          format of debugging information
  \-list type           print a list of supported option arguments
  \-version             print version information

By default, the image format of `file' 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).  Specify 'file' as '-' for standard input or output.
.SH SEE ALSO
ImageMagick(1)

.SH COPYRIGHT

\fBCopyright (C) 1999-2018 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://imagemagick.org/script/license.php\fP
