



<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8"  />
  <meta name="viewport" content="width=device-width, initial-scale=1"  />
  <title>ImageMagick - Command-line Tools: Mogrify</title>
  <meta name="application-name" content="ImageMagick" />
  <meta name="description" content="Use ImageMagick® to create, edit, compose, and convert digital images. Resize an image, crop it, change its shades and colors, add captions, and more." />
  <meta name="application-url" content="https://imagemagick.org" />
  <meta name="generator" content="PHP" />
  <meta name="keywords" content="command-line, tools:, mogrify, image processing software" />
  <meta name="rating" content="GENERAL" />
  <meta name="robots" content="INDEX, FOLLOW" />
  <meta name="generator" content="ImageMagick Studio LLC" />
  <meta name="author" content="ImageMagick Studio LLC" />
  <meta name="revisit-after" content="2 DAYS" />
  <meta name="resource-type" content="document" />
  <meta name="copyright" content="Copyright (c) 1999-2020 ImageMagick Studio LLC" />
  <meta name="distribution" content="Global" />
  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
  <meta property='og:url' content='../' />
  <meta property='og:title' content='ImageMagick' />
  <meta property='og:image' content='../images/logo.png' />
  <meta property='og:type' content='website' />
  <meta property='og:site_name' content='ImageMagick' />
  <meta property='og:description' content="Create, Edit, Compose, or Convert Digital Images" />
  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
  <link href="../www/mogrify.html" rel="canonical" />
  <link href="../images/wand.png" rel="icon" />
  <link href="../images/wand.ico" rel="shortcut icon" />
  <link href="assets/magick.css" rel="stylesheet" />
</head>
<body>
  <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
  <div class="container-fluid">
    <a class="navbar-brand" href="../index.html"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../images/wand.ico"/></a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#magick-navbars" aria-controls="magick-navbars" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="magick-navbars">
      <ul class="navbar-nav me-auto mb-2 mb-md-0">
        <li class="nav-item">
          <a class="nav-link " href="index.html">Home</a>
        </li>
        <li class="nav-item">
          <a class="nav-link " href="download.html">Download</a>
        </li>
        <li class="nav-item">
          <a class="nav-link " href="command-line-tools.html">Tools</a>
        </li>
        <li class="nav-item">
          <a class="nav-link " href="command-line-processing.html">CLI</a>
        </li>
        <li class="nav-item">
          <a class="nav-link " href="develop.html">Develop</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" target="_blank" href="https://github.com/ImageMagick/ImageMagick/discussions">Community</a>
        </li>
        <li class="nav-item">
          <iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe>
        </li>
      </ul>
      <form class="d-flex form-inline" action="../www/search.html">
        <input class="form-control me-2" type="text" name="q" placeholder="Search" aria-label="Search">
        <button class="btn btn-outline-success" type="submit" name="sa">Search</button>
      </form>
    </div>
  </div>
  </nav>

  <div class="container">
    <script async="async" src="http://localhost/pagead/js/adsbygoogle.js"></script>
    <ins class="adsbygoogle"
      style="display:block"
      data-ad-client="ca-pub-3129977114552745"
      data-ad-slot="6345125851"
      data-full-width-responsive="true"
      data-ad-format="horizontal"></ins>
    <script>
      (adsbygoogle = window.adsbygoogle || []).push({});
    </script>

  </div>

  <main class="container">
  <div class="magick-template">
<div class="magick-header">
<h1 class="text-center">Inline Image Modification</h1>
<p class="text-center"><a href="mogrify.html#usage">Example Usage</a> • <a href="mogrify.html#options">Option Summary</a></p>

<p class="lead magick-description">Use the <code>magick mogrify</code> program to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.   This tool is similar to <a href="../www/convert.html">magick convert</a> except that the original image file is <em>overwritten</em> (unless you change the file suffix with the <a href="command-line-options.html#format">-format</a> option) with any changes you request.  See <a href="command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>mogrify</code> command or see below for sample usages of the command.</p>

<h2><a class="anchor" id="usage"></a>Example Usage</h2>

<p>We list a few examples of the <code>mogrify</code> command here to illustrate its usefulness and ease of use.  To get started, let's reduce the size of our
rose:</p>

<pre class="highlight"><code>magick mogrify -resize 50% rose.jpg
</code></pre>

<ul>
  <a href="../images/rose.jpg">
  <img src="../images/rose.jpg" width="70" height="46" alt="rose" />
  </a>
  <img style="margin-top:13px; margin-bottom:13px;" src="../images/right.gif" width="20" height="20" alt="==>" />
  <a href="../images/rose.png">
  <img style="margin-top:12px; margin-bottom: 11px;" src="../images/rose.png" width="35" height="23" alt="rose" />
  </a>
</ul>

<p>You can resize all your JPEG images in a folder to a maximum dimension of 256x256 with this command:</p>

<pre class="highlight"><code>magick mogrify -resize 256x256 *.jpg
</code></pre>

<p>Finally, we convert all our PNG images in a folder to the JPEG format:</p>

<pre class="highlight"><code>magick mogrify -format jpg *.png
</code></pre>

<p>Here image files 1.png, 2.png, etc., are left untouched and files 1.jpg, 2.jpg, etc., are created.  They are copies of their respective PNG images except are stored  in the JPEG image format.</p>


<p>You can find additional examples of using <code>mogrify</code> in <a href="http://www.ibm.com/developerworks/library/l-graf/?ca=dnt-428">Graphics from the Command Line</a>.  Further discussion is available in  <a href="http://www.ibm.com/developerworks/library/l-graf2/?ca=dgr-lnxw15GraphicsLine">More Graphics from the Command Line</a> and <a href="https://legacy.imagemagick.org/Usage/">Examples of ImageMagick Usage</a>.</p>

<h2><a class="anchor" id="options"></a>Option Summary</h2>

<p>The <code>mogrify</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>

<table class="table table-sm table-hover">
  <tbody>
  <tr>
    <th align="left">Option</th>
    <th align="left">Description</th>
  </tr>

  <tr>
    <td><a href="command-line-options.html#adaptive-blur">-adaptive-blur <var>geometry</var></a></td>
    <td>adaptively blur pixels; decrease effect near edges</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#adaptive-resize">-adaptive-resize <var>geometry</var></a></td>
    <td>adaptively resize image with data dependent triangulation.</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#adaptive-sharpen">-adaptive-sharpen <var>geometry</var></a></td>
    <td>adaptively sharpen pixels; increase effect near edges</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#adjoin">-adjoin</a></td>
    <td>join images into a single multi-image file</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#affine">-affine <var>matrix</var></a></td>
    <td>affine transform matrix</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#alpha">-alpha</a></td>
    <td>on, activate, off, deactivate, set, opaque, copy",
transparent, extract, background, or shape the alpha channel</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#annotate">-annotate <var>geometry text</var></a></td>
    <td>annotate the image with text</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#antialias">-antialias</a></td>
    <td>remove pixel-aliasing</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#append">-append</a></td>
    <td>append an image sequence</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
    <td>decipher image with this password</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#auto-gamma">-auto-gamma</a></td>
    <td>automagically adjust gamma level of image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#auto-level">-auto-level</a></td>
    <td>automagically adjust color levels of image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#auto-orient">-auto-orient</a></td>
    <td>automagically orient image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#auto-threshold">-auto-threshold <var>method</var></a></td>
    <td>automatically perform image thresholding</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#background">-background <var>color</var></a></td>
    <td>background color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#bench">-bench <var>iterations</var></a></td>
    <td>measure performance</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#bias">-bias <var>value</var></a></td>
    <td>add bias when convolving an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#bilateral-blur">-bilateral-blur <var>geometry</var></a></td>
    <td>non-linear, edge-preserving, and noise-reducing smoothing filter</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#black-threshold">-black-threshold <var>value</var></a></td>
    <td>force all pixels below the threshold into black</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#blue-primary">-blue-primary <var>point</var></a></td>
    <td>chromaticity blue primary point</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#blue-shift">-blue-shift  <var>factor</var></a></td>
    <td>simulate a scene at nighttime in the moonlight</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#blur">-blur <var>geometry</var></a></td>
    <td>reduce image noise and reduce detail levels</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#border">-border <var>geometry</var></a></td>
    <td>surround image with a border of color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#bordercolor">-bordercolor <var>color</var></a></td>
    <td>border color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#brightness-contrast">-brightness-contrast <var>geometry</var></a></td>
    <td>improve brightness / contrast of the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#canny">-canny <var>geometry</var></a></td>
    <td>use a multi-stage algorithm to detect a wide range of edges in the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#caption">-caption <var>string</var></a></td>
    <td>assign a caption to an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#cdl">-cdl <var>filename</var></a></td>
    <td>color correct with a color decision list</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#channel">-channel <var>type</var></a></td>
    <td>apply option to select image channels</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#charcoal">-charcoal <var>radius</var></a></td>
    <td>simulate a charcoal drawing</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#chop">-chop <var>geometry</var></a></td>
    <td>remove pixels from the image interior</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#clip">-clip</a></td>
    <td>clip along the first path from the 8BIM profile</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#clahe">-clahe <var>geometry</var></a></td>
    <td>contrast limited adaptive histogram equalization</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#clamp">-clamp</a></td>
    <td>set each pixel whose value is below zero to zero and any the pixel whose value is above the quantum range to the quantum range (e.g. 65535) otherwise the pixel value remains unchanged.</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#clip-mask">-clip-mask</a> <var>filename</var></td>
    <td>associate clip mask with the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#clip-path">-clip-path <var>id</var></a></td>
    <td>clip along a named path from the 8BIM profile</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#clut">-clut</a></td>
    <td>apply a color lookup table to the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#color-threshold">-color-threshold <var>start-color</var>-<var>stop-color</var></a></td>
    <td>force all pixels in the color range to white otherwise black</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#complex">-complex<var>operator</var></a></td>
    <td>perform complex mathematics on an image sequence</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#connected-components">-connected-components <var>connectivity</var></a></td>
    <td>connected-components uniquely labeled, choose from 4 or 8 way connectivity</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#contrast-stretch">-contrast-stretch <var>geometry</var></a></td>
    <td>improve the contrast in an image by `stretching' the range of intensity value</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#coalesce">-coalesce</a></td>
    <td>merge a sequence of images</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#colorize">-colorize <var>value</var></a></td>
    <td>colorize the image with the fill color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#color-matrix">-color-matrix <var>matrix</var></a></td>
    <td>apply color correction to the image.</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#colors">-colors <var>value</var></a></td>
    <td>preferred number of colors in the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
    <td>set image colorspace</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#combine">-combine</a></td>
    <td>combine a sequence of images</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#comment">-comment <var>string</var></a></td>
    <td>annotate image with comment</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#compose">-compose <var>operator</var></a></td>
    <td>set image composite operator</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#composite">-composite</a></td>
    <td>composite image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#compress">-compress <var>type</var></a></td>
    <td>image compression type</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#contrast">-contrast</a></td>
    <td>enhance or reduce the image contrast</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#convolve">-convolve <var>coefficients</var></a></td>
    <td>apply a convolution kernel to the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#copy">-copy <var>geometry</var> <var>offset</var></a></td>
    <td>copy pixels from one area of an image to another</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#crop">-crop <var>geometry</var></a></td>
    <td>crop the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#cycle">-cycle <var>amount</var></a></td>
    <td>cycle the image colormap</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#decipher">-decipher <var>filename</var></a></td>
    <td>convert cipher pixels to plain</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#debug">-debug <var>events</var></a></td>
    <td>display copious debugging information</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#define">-define <var>format:option</var></a></td>
    <td>define one or more image format options</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#deconstruct">-deconstruct</a></td>
    <td>break down an image sequence into constituent parts</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#delay">-delay <var>centiseconds</var></a></td>
    <td>display the next image after pausing</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#delete">-delete <var>index</var></a></td>
    <td>delete the image from the image sequence</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#density">-density <var>geometry</var></a></td>
    <td>horizontal and vertical density of the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#depth">-depth <var>value</var></a></td>
    <td>image depth</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#despeckle">-despeckle</a></td>
    <td>reduce the speckles within an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#direction">-direction <var>type</var></a></td>
    <td>render text right-to-left or left-to-right</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#display">-display <var>server</var></a></td>
    <td>get image or font from this X server</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#dispose">-dispose <var>method</var></a></td>
    <td>layer disposal method</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#distort">-distort <var>type coefficients</var></a></td>
    <td>distort image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#distribute-cache">-distribute-cache <var>port</var></a></td>
    <td>launch a pixel cache server</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#dither">-dither  <var>method</var></a></td>
    <td>apply error diffusion to image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#draw">-draw <var>string</var></a></td>
    <td>annotate the image with a graphic primitive</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#duplicate">-duplicate <var>count,indexes</var></a></td>
    <td>duplicate an image one or more times</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#edge">-edge <var>radius</var></a></td>
    <td>apply a filter to detect edges in the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#emboss">-emboss <var>radius</var></a></td>
    <td>emboss an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#encipher">-encipher <var>filename</var></a></td>
    <td>convert plain pixels to cipher pixels</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#encoding">-encoding <var>type</var></a></td>
    <td>text encoding type</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#endian">-endian <var>type</var></a></td>
    <td>endianness (MSB or LSB) of the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#enhance">-enhance</a></td>
    <td>apply a digital filter to enhance a noisy image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#equalize">-equalize</a></td>
    <td>perform histogram equalization to an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#evaluate">-evaluate <var>operator value</var></a></td>
    <td>evaluate an arithmetic, relational, or logical expression</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#evaluate-sequence">-evaluate-sequence <var>operator</var></a></td>
    <td>evaluate an arithmetic, relational, or logical expression for an image sequence</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#extent">-extent <var>geometry</var></a></td>
    <td>set the image size</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#extract">-extract <var>geometry</var></a></td>
    <td>extract area from image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#family">-family <var>name</var></a></td>
    <td>render text with this font family</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#features">-features <var>distance</var></a></td>
    <td>analyze image features (e.g. contract, correlations, etc.).</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#fft">-fft</a></td>
    <td>implements the discrete Fourier transform (DFT)</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#fill">-fill <var>color</var></a></td>
    <td>color to use when filling a graphic primitive</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#filter">-filter <var>type</var></a></td>
    <td>use this filter when resizing an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#flatten">-flatten</a></td>
    <td>flatten a sequence of images</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#flip">-flip</a></td>
    <td>flip image in the vertical direction</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#floodfill">-floodfill <var>geometry color</var></a></td>
    <td>floodfill the image with color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#flop">-flop</a></td>
    <td>flop image in the horizontal direction</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#font">-font <var>name</var></a></td>
    <td>render text with this font</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#format">-format <var>type</var></a></td>
    <td>output formatted image characteristics</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#frame">-frame <var>geometry</var></a></td>
    <td>surround image with an ornamental border</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#function">-function <var>name</var></a></td>
    <td>apply a function to the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#fuzz">-fuzz <var>distance</var></a></td>
    <td>colors within this distance are considered equal</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#fx">-fx <var>expression</var></a></td>
    <td>apply mathematical expression to an image channel(s)</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#gamma">-gamma <var>value</var></a></td>
    <td>level of gamma correction</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#gaussian-blur">-gaussian-blur <var>geometry</var></a></td>
    <td>reduce image noise and reduce detail levels</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#geometry">-geometry <var>geometry</var></a></td>
    <td>preferred size or location of the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#gravity">-gravity <var>type</var></a></td>
    <td>horizontal and vertical text placement</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#grayscale">-grayscale <var>method</var></a></td>
    <td>convert image to grayscale</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#green-primary">-green-primary <var>point</var></a></td>
    <td>chromaticity green primary point</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#help">-help</a></td>
    <td>print program options</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#hough-lines">-hough-lines <var>geometry</var></a></td>
    <td>identify lines in the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#identify">-identify</a></td>
    <td>identify the format and characteristics of the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#ift">-ifft</a></td>
    <td>implements the inverse discrete Fourier transform (DFT)</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#implode">-implode <var>amount</var></a></td>
    <td>implode image pixels about the center</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#insert">-insert <var>index</var></a></td>
    <td>insert last image into the image sequence</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#intensity">-intensity <var>method</var></a></td>
    <td>method to generate an intensity value from a pixel</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#intent">-intent <var>type</var></a></td>
    <td>type of rendering intent when managing the image color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#interlace">-interlace <var>type</var></a></td>
    <td>type of image interlacing scheme</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#interline-spacing">-interline-spacing <var>value</var></a></td>
    <td>the space between two text lines</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#interpolate">-interpolate <var>method</var></a></td>
    <td>pixel color interpolation method</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#interword-spacing">-interword-spacing <var>value</var></a></td>
    <td>the space between two words</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#kerning">-kerning <var>value</var></a></td>
    <td>the space between two characters</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#colors">-kmeans <var>geometry</var></a></td>
    <td>K means color reduction</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#kuwahara">-kuwahara <var>geometry</var></a></td>
    <td>edge preserving noise reduction filter</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#label">-label <var>string</var></a></td>
    <td>assign a label to an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#lat">-lat <var>geometry</var></a></td>
    <td>local adaptive thresholding</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#layers">-layers <var>method</var></a></td>
    <td>optimize or compare image layers</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#level">-level <var>value</var></a></td>
    <td>adjust the level of image contrast</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#limit">-limit <var>type value</var></a></td>
    <td>pixel cache resource limit</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#linear-stretch">-linear-stretch <var>geometry</var></a></td>
    <td>linear with saturation histogram stretch</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#liquid-rescale">-liquid-rescale <var>geometry</var></a></td>
    <td>rescale image with seam-carving</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#log">-log <var>format</var></a></td>
    <td>format of debugging information</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#loop">-loop <var>iterations</var></a></td>
    <td>add Netscape loop extension to your GIF animation</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#mattecolor">-mattecolor <var>color</var></a></td>
    <td>frame color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#median">-median <var>radius</var></a></td>
    <td>apply a median filter to the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#mean-shift">-mean-shift <var>geometry</var></a></td>
    <td>delineate arbitrarily shaped clusters in the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#metric">-metric <var>type</var></a></td>
    <td>measure differences between images with this metric</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#mode">-mode <var>radius</var></a></td>
    <td>make each pixel the 'predominant color' of the neighborhood</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#modulate">-modulate <var>value</var></a></td>
    <td>vary the brightness, saturation, and hue</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#monitor">-monitor</a></td>
    <td>monitor progress</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#monochrome">-monochrome</a></td>
    <td>transform image to black and white</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#morph">-morph <var>value</var></a></td>
    <td>morph an image sequence</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#morphology">-morphology <var>method</var></a> <var>kernel</var></td>
    <td>apply a morphology method to the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#motion-blur">-motion-blur <var>geometry</var></a></td>
    <td>simulate motion blur</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#negate">-negate</a></td>
    <td>replace each pixel with its complementary color </td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#noise">-noise <var>radius</var></a></td>
    <td>add or reduce noise in an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#normalize">-normalize</a></td>
    <td>transform image to span the full range of colors</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#opaque">-opaque <var>color</var></a></td>
    <td>change this color to the fill color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#ordered-dither">-ordered-dither <var>NxN</var></a></td>
    <td>ordered dither the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#orient">-orient <var>type</var></a></td>
    <td>image orientation</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#page">-page <var>geometry</var></a></td>
    <td>size and location of an image canvas (setting)</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#page">-path <var>path</var></a></td>
    <td>write images to this path on disk</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#paint">-paint <var>radius</var></a></td>
    <td>simulate an oil painting</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#perceptible">-perceptible</a></td>
    <td>set each pixel whose value is less than |<var>epsilon</var>| to <var>-epsilon</var> or <var>epsilon</var> (whichever is closer) otherwise the pixel value remains unchanged.</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#ping">-ping</a></td>
    <td>efficiently determine image attributes</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#pointsize">-pointsize <var>value</var></a></td>
    <td>font point size</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#polaroid">-polaroid <var>angle</var></a></td>
    <td>simulate a Polaroid picture</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#poly">-poly <var>terms</var></a></td>
    <td>build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs).</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#posterize">-posterize <var>levels</var></a></td>
    <td>reduce the image to a limited number of color levels</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#precision">-precision <var>value</var></a></td>
    <td>set the maximum number of significant digits to be printed</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#preview">-preview <var>type</var></a></td>
    <td>image preview type</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#print">-print <var>string</var></a></td>
    <td>interpret string and print to console</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#process">-process <var>image-filter</var></a></td>
    <td>process the image with a custom image filter</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#profile">-profile <var>filename</var></a></td>
    <td>add, delete, or apply an image profile</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#quality">-quality <var>value</var></a></td>
    <td>JPEG/MIFF/PNG compression level</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
    <td>reduce image colors in this colorspace</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#quiet">-quiet</a></td>
    <td>suppress all warning messages</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#radial-blur">-radial-blur <var>angle</var></a></td>
    <td>radial blur the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#raise">-raise <var>value</var></a></td>
    <td>lighten/darken image edges to create a 3-D effect</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#random-threshold">-random-threshold <var>low, high</var></a></td>
    <td>random threshold the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#range-threshold">-range-threshold <var>low-black, low-white, high-white, high-black</var></a></td>
    <td>perform either hard or soft thresholding within some range of values in an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#read-mask">-read-mask <var>filename</var></a></td>
    <td>associate a read mask with the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#red-primary">-red-primary <var>point</var></a></td>
    <td>chromaticity red primary point</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#regard-warnings">-regard-warnings</a></td>
    <td>pay attention to warning messages.</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#region">-region <var>geometry</var></a></td>
    <td>apply options to a portion of the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#remap">-remap <var>filename</var></a></td>
    <td>transform image colors to match this set of colors</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#render">-render</a></td>
    <td>render vector graphics</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#repage">-repage <var>geometry</var></a></td>
    <td>size and location of an image canvas</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#resample">-resample <var>geometry</var></a></td>
    <td>change the resolution of an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#resize">-resize <var>geometry</var></a></td>
    <td>resize the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
    <td>settings remain in effect until parenthesis boundary.</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#roll">-roll <var>geometry</var></a></td>
    <td>roll an image vertically or horizontally</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
    <td>apply Paeth rotation to the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#sample">-sample <var>geometry</var></a></td>
    <td>scale image with pixel sampling</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
    <td>horizontal and vertical sampling factor</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#scale">-scale <var>geometry</var></a></td>
    <td>scale the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#scene">-scene <var>value</var></a></td>
    <td>image scene number</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#seed">-seed <var>value</var></a></td>
    <td>seed a new sequence of pseudo-random numbers</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#segment">-segment <var>values</var></a></td>
    <td>segment an image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#threshold">-selective-blur <var>geometry</var></a></td>
    <td>selectively blur pixels within a contrast threshold</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#separate">-separate</a></td>
    <td>separate an image channel into a grayscale image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#sepia-tone">-sepia-tone <var>threshold</var></a></td>
    <td>simulate a sepia-toned photo</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#set">-set <var>attribute value</var></a></td>
    <td>set an image attribute</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#shade">-shade <var>degrees</var></a></td>
    <td>shade the image using a distant light source</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#shadow">-shadow <var>geometry</var></a></td>
    <td>simulate an image shadow</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#sharpen">-sharpen <var>geometry</var></a></td>
    <td>sharpen the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#shave">-shave <var>geometry</var></a></td>
    <td>shave pixels from the image edges</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#shear">-shear <var>geometry</var></a></td>
    <td>slide one edge of the image along the X or Y axis</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#sigmoidal">-sigmoidal-contrast <var>geometry</var></a></td>
    <td>increase the contrast without saturating highlights or shadows</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#size">-size <var>geometry</var></a></td>
    <td>width and height of image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#sketch">-sketch <var>geometry</var></a></td>
    <td>simulate a pencil sketch</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#smush">-smush <var>offset</var></a></td>
    <td>smush an image sequence together</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#solarize">-solarize <var>threshold</var></a></td>
    <td>negate all pixels above the threshold level</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#sort-pixels">-sort-pixels</a></td>
    <td>sorts pixels within each scanline in ascending order of intensity</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#splice">-splice <var>geometry</var></a></td>
    <td>splice the background color into the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#spread">-spread <var>radius</var></a></td>
    <td>displace image pixels by a random amount</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#statistic">-statistic <var>type</var> <var>geometry</var></a></td>
    <td>replace each pixel with corresponding statistic from the neighborhood</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#strip">-strip</a></td>
    <td>strip image of all profiles and comments</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#stroke">-stroke <var>color</var></a></td>
    <td>graphic primitive stroke color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#strokewidth">-strokewidth <var>value</var></a></td>
    <td>graphic primitive stroke width</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#stretch">-stretch <var>type</var></a></td>
    <td>render text with this font stretch</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#style">-style <var>type</var></a></td>
    <td>render text with this font style</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#swap">-swap <var>indexes</var></a></td>
    <td>swap two images in the image sequence</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#swirl">-swirl <var>degrees</var></a></td>
    <td>swirl image pixels about the center</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#synchronize">-synchronize</a></td>
    <td>synchronize image to storage device</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#texture">-texture <var>filename</var></a></td>
    <td>name of texture to tile onto the image background</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#threshold">-threshold <var>value</var></a></td>
    <td>threshold the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#thumbnail">-thumbnail <var>geometry</var></a></td>
    <td>create a thumbnail of the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#tile">-tile <var>filename</var></a></td>
    <td>tile image when filling a graphic primitive</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#tile-offset">-tile-offset <var>geometry</var></a></td>
    <td>set the image tile offset</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#tint">-tint <var>value</var></a></td>
    <td>tint the image with the fill color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#transform">-transform</a></td>
    <td>affine transform image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#transparent">-transparent <var>color</var></a></td>
    <td>make this color transparent within the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
    <td>transparent color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#transpose">-transpose</a></td>
    <td>flip image in the vertical direction and rotate 90 degrees</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#transverse">-transverse</a></td>
    <td>flop image in the horizontal direction and rotate 270 degrees</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#treedepth">-treedepth <var>value</var></a></td>
    <td>color tree depth</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#trim">-trim</a></td>
    <td>trim image edges</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#type">-type <var>type</var></a></td>
    <td>image type</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#undercolor">-undercolor <var>color</var></a></td>
    <td>annotation bounding box color</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#unique-colors">-unique-colors</a></td>
    <td>discard all but one of any pixel color.</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#units">-units <var>type</var></a></td>
    <td>the units of image resolution</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#unsharp">-unsharp <var>geometry</var></a></td>
    <td>sharpen the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#verbose">-verbose</a></td>
    <td>print detailed information about the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#version">-version</a></td>
    <td>print version information</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#view">-view</a></td>
    <td>FlashPix viewing transforms</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#vignette">-vignette <var>geometry</var></a></td>
    <td>soften the edges of the image in vignette style</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
    <td>access method for pixels outside the boundaries of the image</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#wave">-wave <var>geometry</var></a></td>
    <td>alter an image along a sine wave</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#wavelet">-wavelet-denoise <var>threshold</var></a></td>
    <td>removes noise from the image using a wavelet transform</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#weight">-weight <var>type</var></a></td>
    <td>render text with this font weight</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#white-point">-white-point <var>point</var></a></td>
    <td>chromaticity white point</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#white-threshold">-white-threshold <var>value</var></a></td>
    <td>force all pixels above the threshold into white</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#write">-write <var>filename</var></a></td>
    <td>write images to this file</td>
  </tr>

  <tr>
    <td><a href="command-line-options.html#write-mask">-write-mask <var>filename</var></a></td>
    <td>associate a write mask with the image</td>
  </tr>

  </tbody>
</table>

</div>
  </div>
  </main><!-- /.container -->
  <footer class="magick-footer">
    <div class="container-fluid">
      <a href="security-policy.html">Security</a> •
      <a href="news.html">News</a>
     
      <a href="mogrify.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../images/wand.ico"/></a>
     
      <a href="links.html">Related</a> •
      <a href="sitemap.html">Sitemap</a>
   <br/>
     <a href="support.html">Sponsor</a> •
     <a href="cite.html">Cite</a> •
     <a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
     <a href="https://imagemagick.org/script/contact.php">Contact Us</a>
   <br/>
     <a href="https://github.com/imagemagick/imagemagick" target="_blank" rel="noopener" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 499.36" width="2%" height="2%" role="img" focusable="false"><title>GitHub</title><path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"/></svg></a> •
     <a href="https://twitter.com/imagemagick" target="_blank" rel="noopener" aria-label="Twitter"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 416.32" width="2%" height="2%" role="img" focusable="false"><title>Twitter</title><path fill="currentColor" d="M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92"/></svg></a>
    <br/>
    <small>© 1999-2021 ImageMagick Studio LLC</small>
    </div>
  </footer>

  <!-- Javascript assets -->
  <script src="assets/magick.js" ></script>
  </body>
</html>
<!-- Magick Cache 13th February 2021 12:14 -->