Home | History | Annotate | Download | only in www
      1 
      2 
      3 
      4 
      5 <!DOCTYPE html>
      6 <html lang="en">
      7 <head>
      8   <meta charset="utf-8"  />
      9   <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no"  />
     10   <title>Command-line Tools: Compare @ ImageMagick</title>
     11   <meta name="application-name" content="ImageMagick" />
     12   <meta name="description" content="Use ImageMagick to create, edit, compose, or convert bitmap images. You can resize your image, crop it, change its shades and colors, add captions, among other operations." />
     13   <meta name="application-url" content="https://imagemagick.org" />
     14   <meta name="generator" content="PHP" />
     15   <meta name="keywords" content="command-line, tools:, compare, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert" />
     16   <meta name="rating" content="GENERAL" />
     17   <meta name="robots" content="INDEX, FOLLOW" />
     18   <meta name="generator" content="ImageMagick Studio LLC" />
     19   <meta name="author" content="ImageMagick Studio LLC" />
     20   <meta name="revisit-after" content="2 DAYS" />
     21   <meta name="resource-type" content="document" />
     22   <meta name="copyright" content="Copyright (c) 1999-2019 ImageMagick Studio LLC" />
     23   <meta name="distribution" content="Global" />
     24   <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1" />
     25   <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
     26   <link href="compare.html" rel="canonical" />
     27   <link href="../images/wand.png" rel="icon" />
     28   <link href="../images/wand.ico" rel="shortcut icon" />
     29   <link href="assets/magick.css" rel="stylesheet" />
     30 </head>
     31 <body>
     32   <header>
     33   <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
     34     <a class="navbar-brand" href="../"><img class="d-block" id="icon" alt="ImageMagick" width="32" height="32" src="../images/wand.ico"/></a>
     35     <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsMagick" aria-controls="navbarsMagick" aria-expanded="false" aria-label="Toggle navigation">
     36       <span class="navbar-toggler-icon"></span>
     37     </button>
     38 
     39     <div class="navbar-collapse collapse" id="navbarsMagick" style="">
     40     <ul class="navbar-nav mr-auto">
     41       <li class="nav-item ">
     42         <a class="nav-link" href="api/quantize.html">Home <span class="sr-only">(current)</span></a>
     43       </li>
     44       <li class="nav-item ">
     45         <a class="nav-link" href="../www/download.html">Download</a>
     46       </li>
     47       <li class="nav-item ">
     48         <a class="nav-link" href="../www/command-line-tools.html">Tools</a>
     49       </li>
     50       <li class="nav-item ">
     51         <a class="nav-link" href="../www/command-line-processing.html">Command-line</a>
     52       </li>
     53       <li class="nav-item ">
     54         <a class="nav-link" href="../www/resources.html">Resources</a>
     55       </li>
     56       <li class="nav-item ">
     57         <a class="nav-link" href="../www/develop.html">Develop</a>
     58       </li>
     59       <li class="nav-item">
     60         <a class="nav-link" target="_blank" href="https://imagemagick.org/discourse-server/">Community</a>
     61       </li>
     62     </ul>
     63     <form class="form-inline my-2 my-lg-0" action="https://imagemagick.org/script/search.php">
     64       <input class="form-control mr-sm-2" type="text" name="q" placeholder="Search" aria-label="Search">
     65       <button class="btn btn-outline-success my-2 my-sm-0" type="submit" name="sa">Search</button>
     66     </form>
     67     </div>
     68   </nav>
     69   <div class="container">
     70    <script async="async" src="https://localhost/pagead/js/adsbygoogle.js"></script>    <ins class="adsbygoogle"
     71          style="display:block"
     72          data-ad-client="ca-pub-3129977114552745"
     73          data-ad-slot="6345125851"
     74          data-ad-format="auto"></ins>
     75     <script>
     76       (adsbygoogle = window.adsbygoogle || []).push({});
     77     </script>
     78 
     79   </div>
     80   </header>
     81   <main class="container">
     82     <div class="magick-template">
     83 <div class="magick-header">
     84 <p class="text-center"><a href="compare.html#usage">Example Usage</a>  <a href="compare.html#options">Option Summary</a></p>
     85 
     86 <p class="lead magick-description">Use the <code>compare</code> program to mathematically and visually annotate the difference between an image and its reconstruction.  See <a href="../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <code>compare</code> command or see below for example usages of the command.</p>
     87 
     88 <h2><a class="anchor" id="usage"></a>Example Usage</h2>
     89 
     90 <p>We list a few examples of the <code>compare</code> command here to illustrate its usefulness and ease of use. To get started, lets compare an image to one thats been sharpened:</p>
     91 
     92 <pre class="highlight"><code>magick convert rose.jpg -sharpen 0x1 reconstruct.jpg
     93 magick compare rose.jpg reconstruct.jpg difference.png
     94 magick compare -compose src rose.jpg reconstruct.jpg difference.png
     95 </code></pre>
     96 
     97 <ul>
     98   <a href="../images/rose.jpg"><img src="../images/rose.jpg" width="70" height="46" alt="rose" /></a>
     99   <a href="../images/reconstruct.jpg"><img src="../images/reconstruct.jpg" width="70" height="46" alt="rose" /></a>
    100   <img style="margin:13px 0;" src="../images/right.gif" width="20" height="20" alt="==>" />
    101   <a href="../images/difference.png"><img src="../images/difference.png" width="70" height="46" alt="rose" /></a>
    102 </ul>
    103 
    104 <p>The red areas of the difference image emphasizes (highlight) pixels that are affected by the image sharpening, whereas white de-emphasizes (lowlight) pixels that are untouched by the sharpening process.</p>
    105 
    106 <p>In addition to the visual interpretation of the difference in an image and its reconstruction, we report a mathematical measure of the difference:</p>
    107 
    108 <pre class="highlight"><code>-> magick compare -verbose -metric mae rose.jpg reconstruct.jpg difference.png
    109 Image: rose.jpg
    110  Channel distortion: MAE
    111   red: 2282.91 (0.034835)
    112   green: 1853.99 (0.0282901)
    113   blue: 2008.67 (0.0306503)
    114   all: 1536.39 (0.0234439)
    115 </code></pre>
    116 <p>Or, if you just want the red channel distortion, use this command:</p>
    117 
    118 <pre class="highlight"><code>-> magick compare -channel red -metric PSNR rose.jpg reconstruct.jpg difference.png
    119 19.63
    120 </code></pre>
    121 
    122 <p>Or, if you just want the overall image distortion, use this command:</p>
    123 
    124 <pre class="highlight"><code>-> magick compare -metric PSNR rose.jpg reconstruct.jpg difference.png
    125 28.31
    126 </code></pre>
    127 
    128 <p>If the reconstructed image is a subimage of the image, the compare program returns the best match offset.  In addition, it returns a similarity image such that an exact match location is completely white and if none of the pixels match, black, otherwise some gray level in-between:</p>
    129 
    130 <pre class="highlight"><code>-> magick compare -metric RMSE -subimage-search logo.png wizard.jpg similarity.gif
    131 85.05 (0.00129778) @ 353,157
    132 </code></pre>
    133 
    134 <p>You can find additional examples of using <code>compare</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="../Usage/">Examples of ImageMagick Usage</a>.</p>
    135 
    136 <p>Two images are considered similar if their difference according to the specified metric and fuzz value is 0, with the exception of the normalized cross correlation metric (NCC), where two images are considered similar when their normalized cross correlation is 1. The default metric is NCC.</p>
    137 
    138 <p>The compare program returns 2 on error, 0 if the images are similar, or a value between 0 and 1 if they are not similar.</p>
    139 
    140 <h2><a class="anchor" id="options"></a>Option Summary</h2>
    141 
    142 <p>The <code>compare</code> command recognizes these options.  Click on an option to get more details about how that option works.</p>
    143 
    144 <table class="table table-sm table-striped">
    145   <tbody>
    146   <tr>
    147     <th align="left">Option</th>
    148     <th align="left">Description</th>
    149   </tr>
    150 
    151   <tr>
    152     <td><a href="../www/command-line-options.html#alpha">-alpha</a></td>
    153     <td>on, activate, off, deactivate, set, opaque, copy",
    154 transparent, extract, background, or shape the alpha channel</td>
    155   </tr>
    156 
    157   <tr>
    158     <td><a href="../www/command-line-options.html#authenticate">-authenticate <var>value</var></a></td>
    159     <td>decrypt image with this password</td>
    160   </tr>
    161 
    162   <tr>
    163     <td><a href="../www/command-line-options.html#background">-background <var>color</var></a></td>
    164     <td>background color</td>
    165   </tr>
    166 
    167   <tr>
    168     <td><a href="../www/command-line-options.html#brightness-contrast">-brightness-contrast <var>geometry</var></a></td>
    169     <td>improve brightness / contrast of the image</td>
    170   </tr>
    171 
    172   <tr>
    173     <td><a href="../www/command-line-options.html#channel">-channel <var>type</var></a></td>
    174     <td>apply option to select image channels</td>
    175   </tr>
    176 
    177   <tr>
    178     <td><a href="../www/command-line-options.html#colorspace">-colorspace <var>type</var></a></td>
    179     <td>set image colorspace</td>
    180   </tr>
    181 
    182   <tr>
    183     <td><a href="../www/command-line-options.html#compose">-compose <var>operator</var></a></td>
    184     <td>set image composite operator</td>
    185   </tr>
    186 
    187   <tr>
    188     <td><a href="../www/command-line-options.html#crop">-crop <var>geometry</var></a></td>
    189     <td>crop the image</td>
    190   </tr>
    191 
    192   <tr>
    193     <td><a href="../www/command-line-options.html#decipher">-decipher <var>filename</var></a></td>
    194     <td>convert cipher pixels to plain</td>
    195   </tr>
    196 
    197   <tr>
    198     <td><a href="../www/command-line-options.html#debug">-debug <var>events</var></a></td>
    199     <td>display copious debugging information</td>
    200   </tr>
    201 
    202   <tr>
    203     <td><a href="../www/command-line-options.html#define">-define <var>format:option</var></a></td>
    204     <td>define one or more image format options</td>
    205   </tr>
    206 
    207   <tr>
    208     <td><a href="../www/command-line-options.html#density">-density <var>geometry</var></a></td>
    209     <td>horizontal and vertical density of the image</td>
    210   </tr>
    211 
    212   <tr>
    213     <td><a href="../www/command-line-options.html#depth">-depth <var>value</var></a></td>
    214     <td>image depth</td>
    215   </tr>
    216 
    217   <tr>
    218     <td><a href="../www/command-line-options.html#dissimilarity-threshold">-dissimilarity-threshold <var>value</var></a></td>
    219     <td>maximum distortion for (sub)image match (default 0.2)</td>
    220   </tr>
    221 
    222   <tr>
    223     <td><a href="../www/command-line-options.html#distort">-distort <var>type coefficients</var></a></td>
    224     <td>distort image</td>
    225   </tr>
    226 
    227   <tr>
    228     <td><a href="../www/command-line-options.html#encipher">-encipher <var>filename</var></a></td>
    229     <td>convert plain pixels to cipher pixels</td>
    230   </tr>
    231 
    232   <tr>
    233     <td><a href="../www/command-line-options.html#extract">-extract <var>geometry</var></a></td>
    234     <td>extract area from image</td>
    235   </tr>
    236 
    237   <tr>
    238     <td><a href="../www/command-line-options.html#fuzz">-fuzz <var>distance</var></a></td>
    239     <td>colors within this distance are considered equal</td>
    240   </tr>
    241 
    242   <tr>
    243     <td><a href="../www/command-line-options.html#gravity">-gravity <var>type</var></a></td>
    244     <td>horizontal and vertical text placement</td>
    245   </tr>
    246 
    247   <tr>
    248     <td><a href="../www/command-line-options.html#help">-help</a></td>
    249     <td>print program options</td>
    250   </tr>
    251 
    252   <tr>
    253     <td><a href="../www/command-line-options.html#highlight-color">-highlight-color <var>color</var></a></td>
    254     <td>emphasize pixel differences with this color</td>
    255   </tr>
    256 
    257   <tr>
    258     <td><a href="../www/command-line-options.html#identify">-identify</a></td>
    259     <td>identify the format and characteristics of the image</td>
    260   </tr>
    261 
    262   <tr>
    263     <td><a href="../www/command-line-options.html#interlace">-interlace <var>type</var></a></td>
    264     <td>type of image interlacing scheme</td>
    265   </tr>
    266 
    267   <tr>
    268     <td><a href="../www/command-line-options.html#level">-level <var>value</var></a></td>
    269     <td>adjust the level of image contrast</td>
    270   </tr>
    271 
    272   <tr>
    273     <td><a href="../www/command-line-options.html#limit">-limit <var>type value</var></a></td>
    274     <td>pixel cache resource limit</td>
    275   </tr>
    276 
    277   <tr>
    278     <td><a href="../www/command-line-options.html#log">-log <var>format</var></a></td>
    279     <td>format of debugging information</td>
    280   </tr>
    281 
    282   <tr>
    283     <td><a href="../www/command-line-options.html#lowlight-color">-lowlight-color <var>color</var></a></td>
    284     <td>de-emphasize pixel differences with this color</td>
    285   </tr>
    286 
    287   <tr>
    288     <td><a href="../www/command-line-options.html#metric">-metric <var>type</var></a></td>
    289     <td>measure differences between images with this metric</td>
    290   </tr>
    291 
    292   <tr>
    293     <td><a href="../www/command-line-options.html#negate">-negate</a></td>
    294     <td>replace each pixel with its complementary color </td>
    295   </tr>
    296 
    297   <tr>
    298     <td><a href="../www/command-line-options.html#profile">-profile <var>filename</var></a></td>
    299     <td>add, delete, or apply an image profile</td>
    300   </tr>
    301 
    302   <tr>
    303     <td><a href="../www/command-line-options.html#quality">-quality <var>value</var></a></td>
    304     <td>JPEG/MIFF/PNG compression level</td>
    305   </tr>
    306 
    307   <tr>
    308     <td><a href="../www/command-line-options.html#quantize">-quantize <var>colorspace</var></a></td>
    309     <td>reduce image colors in this colorspace</td>
    310   </tr>
    311 
    312   <tr>
    313     <td><a href="../www/command-line-options.html#quiet">-quiet</a></td>
    314     <td>suppress all warning messages</td>
    315   </tr>
    316 
    317   <tr>
    318     <td><a href="../www/command-line-options.html#read-mask">-read-mask <var>filename</var></a></td>
    319     <td>associate a read mask with the image</td>
    320   </tr>
    321 
    322   <tr>
    323     <td><a href="../www/command-line-options.html#regard-warnings">-regard-warnings</a></td>
    324     <td>pay attention to warning messages.</td>
    325   </tr>
    326 
    327   <tr>
    328     <td><a href="../www/command-line-options.html#repage">-repage <var>geometry</var></a></td>
    329     <td>size and location of an image canvas</td>
    330   </tr>
    331 
    332   <tr>
    333     <td><a href="../www/command-line-options.html#resize">-resize <var>geometry</var></a></td>
    334     <td>resize the image</td>
    335   </tr>
    336 
    337   <tr>
    338     <td><a href="../www/command-line-options.html#respect-parentheses">-respect-parentheses</a></td>
    339     <td>settings remain in effect until parenthesis boundary.</td>
    340   </tr>
    341 
    342   <tr>
    343     <td><a href="../www/command-line-options.html#rotate">-rotate <var>degrees</var></a></td>
    344     <td>apply Paeth rotation to the image</td>
    345   </tr>
    346 
    347   <tr>
    348     <td><a href="../www/command-line-options.html#sampling-factor">-sampling-factor <var>geometry</var></a></td>
    349     <td>horizontal and vertical sampling factor</td>
    350   </tr>
    351 
    352   <tr>
    353     <td><a href="../www/command-line-options.html#seed">-seed <var>value</var></a></td>
    354     <td>seed a new sequence of pseudo-random numbers</td>
    355   </tr>
    356 
    357   <tr>
    358     <td><a href="../www/command-line-options.html#separate">-separate</a></td>
    359     <td>separate an image channel into a grayscale image</td>
    360   </tr>
    361 
    362   <tr>
    363     <td><a href="../www/command-line-options.html#set">-set <var>attribute value</var></a></td>
    364     <td>set an image attribute</td>
    365   </tr>
    366 
    367   <tr>
    368     <td><a href="../www/command-line-options.html#sigmoidal">-sigmoidal-contrast <var>geometry</var></a></td>
    369     <td>increase the contrast without saturating highlights or shadows</td>
    370   </tr>
    371 
    372   <tr>
    373     <td><a href="../www/command-line-options.html#similarity-threshold">-similarity-threshold <var>value</var></a></td>
    374     <td>minimum distortion for (sub)image match (default 0.0)</td>
    375   </tr>
    376 
    377   <tr>
    378     <td><a href="../www/command-line-options.html#size">-size <var>geometry</var></a></td>
    379     <td>width and height of image</td>
    380   </tr>
    381 
    382   <tr>
    383     <td><a href="../www/command-line-options.html#subimage-search">-subimage-search</a></td>
    384     <td>search for subimage</td>
    385   </tr>
    386 
    387   <tr>
    388     <td><a href="../www/command-line-options.html#synchronize">-synchronize</a></td>
    389     <td>synchronize image to storage device</td>
    390   </tr>
    391 
    392   <tr>
    393     <td><a href="../www/command-line-options.html#taint">-taint</a></td>
    394     <td>mark the image as modified</td>
    395   </tr>
    396 
    397   <tr>
    398     <td><a href="../www/command-line-options.html#transparent-color">-transparent-color <var>color</var></a></td>
    399     <td>transparent color</td>
    400   </tr>
    401 
    402   <tr>
    403     <td><a href="../www/command-line-options.html#trim">-trim</a></td>
    404     <td>trim image edges</td>
    405   </tr>
    406 
    407   <tr>
    408     <td><a href="../www/command-line-options.html#verbose">-verbose</a></td>
    409     <td>print detailed information about the image</td>
    410   </tr>
    411 
    412   <tr>
    413     <td><a href="../www/command-line-options.html#version">-version</a></td>
    414     <td>print version information</td>
    415   </tr>
    416 
    417   <tr>
    418     <td><a href="../www/command-line-options.html#virtual-pixel">-virtual-pixel <var>method</var></a></td>
    419     <td>access method for pixels outside the boundaries of the image</td>
    420   </tr>
    421 
    422   <tr>
    423     <td><a href="../www/command-line-options.html#write-mask">-read-mask <var>filename</var></a></td>
    424     <td>associate a write mask with the image</td>
    425   </tr>
    426 
    427   </tbody>
    428 </table>
    429 </div>
    430     </div>
    431   </main><!-- /.container -->
    432   <footer class="magick-footer">
    433     <p><a href="../www/security-policy.html">Security</a> 
    434     <a href="../www/architecture.html">Architecture</a> 
    435     <a href="../www/links.html">Related</a> 
    436      <a href="../www/sitemap.html">Sitemap</a>
    437        
    438     <a href="compare.html#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../images/wand.ico"/></a>
    439        
    440     <a href="http://pgp.mit.edu/pks/lookup?op=get&search=0x89AB63D48277377A">Public Key</a> 
    441     <a href="../www/support.html">Donate</a> 
    442     <a href="../www/https://imagemagick.org/script/contact.php">Contact Us</a>
    443     <br/>
    444     <small> 1999-2019 ImageMagick Studio LLC</small></p>
    445   </footer>
    446 
    447   <!-- Javascript assets -->
    448   <script src="assets/magick.js" crossorigin="anonymous"></script>
    449   <script>window.jQuery || document.write('<script src="https://localhost/ajax/libs/jquery/3.3.1/jquery.min.js"><\/script>')</script>
    450 </body>
    451 </html>
    452