



<!DOCTYPE html>
<html lang="en">
<head>
    <title>ImageMagick: Command-line Tools: Magick</title>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  <meta name="application-name" content="ImageMagick"/>
  <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves."/>
  <meta name="application-url" content="http://www.imagemagick.org"/>
  <meta name="generator" content="PHP"/>
  <meta name="keywords" content="command-line, tools:, magick, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert"/>
  <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-2016 ImageMagick Studio LLC"/>
  <meta name="distribution" content="Global"/>
  <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/>
  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
  <link rel="icon" href="../images/wand.png"/>
  <link rel="shortcut icon" href="../images/wand.ico"/>
  <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:900,400,400italic,700,700italic,300,300italic|Open+Sans:300italic,400italic,700italic,300,400,600,700">
  <link rel="stylesheet" href="css/magick.css"/>
</head>
<body>
<div class="main">
<div class="magick-masthead">
  <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-ad-format="auto"></ins>
    <script>
      (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
    <nav class="magick-nav">
      <a class="magick-nav-item " href="../index.html">Home</a>
      <a class="magick-nav-item " href="binary-releases.html">Download</a>
      <a class="magick-nav-item " href="command-line-tools.html">Tools</a>
      <a class="magick-nav-item " href="command-line-processing.html">Command-line</a>
      <a class="magick-nav-item " href="resources.html">Resources</a>
      <a class="magick-nav-item " href="api.html">Develop</a>
      <a class="magick-nav-item " href="http://www.imagemagick.org/script/search.php">Search</a>
      <a class="magick-nav-item pull-right" href="https://www.imagemagick.org/discourse-server/">Community</a>
    </nav>
  </div>
</div>
<div class="container">
<div class="magick-header">
<p class="lead magick-description">Use the <code>magick</code> program to convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.   See <a href="command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>convert</code> command or see below for example usages of the command.</p>

<p>We list a few examples of the <code>magick</code> command here to illustrate its usefulness and ease of use.  To get started, lets convert an image in the JPEG format to PNG:</p>

<pre>
magick rose.jpg rose.png
</pre>

<p>Next, we reduce the image size before it is written to the PNG format:</p>

<pre>
magick rose.jpg -resize 50% rose.png
</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:11px; margin-bottom:12px;" src="../images/rose.png" width="35" height="23" alt="rose" />
  </a>
</ul>

<p>You can combine multiple image-processing operations to produce complex results:</p>

<pre>
magick -size 320x85 canvas:none -font Bookman-DemiItalic -pointsize 72 \
  -draw "text 25,60 \'Magick\'" -channel RGBA -blur 0x6 -fill darkred -stroke magenta \
  -draw "text 20,55 \'Magick\'" fuzzy-magick.png
</pre>

<ul>
  <a href="../images/fuzzy-magick.png"><img src="../images/fuzzy-magick.png" width="320" height="85" alt="fuzzy-magick" /></a>
</ul>

<p>or here we resize an image with improved quality:</p>

<pre>
magick input.png -colorspace RGB +sigmoidal-contrast 11.6933 \
  -define filter:filter=Sinc -define filter:window=Jinc -define filter:lobes=3 \
  -resize 400% -sigmoidal-contrast 11.6933 -colorspace sRGB output.png');
</pre>

<p>Utilize other command-line <a href="command-line-tools.html">tools</a> from the <code>magick</code> tool.  To invoke this functionality, simply create a symbolic link to the <code>magick</code> tool or specify the tool you want to use as the first argument.  These two methods are equivalent:</p>

<pre>
ln -s magick convert
convert rose.jpg rose.png
magick convert rose.jpg rose.png
</pre>

<p>You can find additional examples of using <code>magick</code> in <a href="http://www.imagemagick.org/Usage/">Examples of ImageMagick Usage</a>.</p>

<h2 class="magick-header"><a id="options"></a>Option Summary</h2>

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

<div class="table-responsive">
<table class="table table-condensed table-striped">
  <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#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#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#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">-clip</a></td>
    <td>clip along the first path from the 8BIM profile</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#clone">-clone <var>index</var></a></td>
    <td>clone an image</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#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#compare">-compare</a></td>
    <td>compare image</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#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>value</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#distribute-cache">-distribute-cache <var>port</var></a></td>
    <td>launch a distributed pixel cache server</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#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_identify_">-format <var>string</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#intensity">-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">-ift</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#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#list">-list <var>type</var></a></td>
    <td>Color, Configure, Delegate, Format, Magic, Module, Resource, or Type</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#mask">-mask <var>filename</var></a></td>
    <td>associate a mask with the image</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#moments">-moments</a></td>
    <td>display image moments.</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#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#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#smush">-smush <var>offset</var></a></td>
    <td>smush an image sequence together</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#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#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#taint">-taint</a></td>
    <td>mark the image as modified</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>
</table>
</div>
</div>
  <footer class="magick-footer">
    <p><a href="support.html">Donate</a> •
     <a href="sitemap.html">Sitemap</a> •
    <a href="links.html">Related</a> •
    <a href="architecture.html">Architecture</a>
</p>
    <p><a href="magick.html#">Back to top</a> •
    <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
    <a href="http://www.imagemagick.org/script/contact.php">Contact Us</a></p>
        <p><small>©  1999-2016 ImageMagick Studio LLC</small></p>
  </footer>
</div><!-- /.container -->

  <script src="https://localhost/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="../js/magick.html"></script>
</div>
</body>
</html>
