<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
  <title>ImageMagick: Command-line Tools: Identify</title/>
  <meta http-equiv="Content-Language" content="en-US"/>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
  <meta name="Application-name" content="ImageMagick"/>
  <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.  ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems.  The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
  <meta name="Application-url" content="http://www.imagemagick.org"/>
  <meta name="Generator" content="PHP"/>
  <meta name="Keywords" content="command-line, tools:, identify, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
  <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-2010 ImageMagick Studio LLC"/>
  <meta name="Distribution" content="Global"/>
  <link rel="icon" href="../images/wand.png"  sizes="32x32"/>
  <link rel="shortcut icon" href="../images/wand.ico"  type="images/x-icon"/>
  <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
  <style type="text/css" media="all">
    @import url("../www/magick.css");
  </style>
</head>

<body id="www-imagemagick-org">
<div class="titlebar">
<a href="../index.html">
  <img src="../images/script.png" alt="[ImageMagick]"
  style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
<a href="http://www.networkredux.com">
  <img src="../images/networkredux.png" alt="[sponsor]"
  style="margin: 45px auto; border: 0px; float: left;" /></a>
<a href="http://www.imagemagick.org/discourse-server/">
  <img src="../images/logo.jpg" alt=""
  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
<a href="../index.html">
  <img src="../images/sprite.jpg" alt=""
  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
</div>

<div class="westbar">

<div class="menu">
  <a title="About ImageMagick" href="../index.html">About ImageMagick</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Binary Releases" href="../www/binary-releases.html">Binary Releases</a>
</div>
<div class="sub">
    <a title="Binary Release: Unix" href="../www/binary-releases.html#unix">Unix</a>
</div>
<div class="sub">
    <a title="Binary Release: MacOS X" href="../www/binary-releases.html#macosx">Mac OS X</a>
</div>
<div class="sub">
    <a title="Binary Release: Windows" href="../www/binary-releases.html#windows">Windows</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Command-line Tools" href="../www/command-line-tools.html">Command-line Tools</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Processing" href="../www/command-line-processing.html">Processing</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Options" href="../www/command-line-options.html">Options</a>
</div>
<div class="sub">
    <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
</div>
<div class="menu">
  <a title="Program Interfaces" href="../www/api.html">Program Interfaces</a>
</div>
<div class="sub">
    <a title="Program Interface: MagickWand" href="../www/magick-wand.html">MagickWand</a>
</div>
<div class="sub">
    <a title="Program Interface: MagickCore" href="../www/magick-core.html">MagickCore</a>
</div>
<div class="sub">
    <a title="Program Interface: PerlMagick" href="../www/perl-magick.html">PerlMagick</a>
</div>
<div class="sub">
    <a title="Program Interface: Magick++" href="../Magick++/">Magick++</a>
</div>
<div class="sep"></div>
<div  class="menu">
   <a title="Install from Source" href="../www/install-source.html">Install from Source</a>
</div>
<div class="sub">
    <a title="Install from Source: Unix" href="../www/install-source.html#unix">Unix</a>
</div>
<div class="sub">
    <a title="Install from Source: Windows" href="../www/install-source.html#windows">Windows</a>
 </div>
<div class="menu">
  <a title="Resources" href="../www/resources.html">Resources</a>
</div>
<div class="menu">
  <a title="Architecture" href="../www/architecture.html">Architecture</a>
</div>
<div class="menu">
  <a title="Download" href="../www/download.html">Download</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Search" href="http://www.imagemagick.org/script/search.php">Search</a>
</div>
<div class="sep"></div>
<div class="menu">
  <a title="Site Map"href="../www/sitemap.html">Site Map</a>
</div>
<div  class="sub">
    <a title="Site Map: Links"href="../www/links.html">Links</a>
</div>
<div class="sep"></div>
<div  class="menu">
  <a title="Sponsors" href="../www/sponsors.html">Sponsors:</a>

<div class="sponsbox">
<div  class="sponsor">
   <a title="Sponsor: Free Catalogs" href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 20120801000600 -->
</div>
<div  class="sponsor">
  <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
</div>
<div  class="sponsor">
  <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
</div>
<div  class="sponsor">
  <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
</div>
<div  class="sponsor">
  <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
</div>
<div  class="sponsor">
  <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
</div>
<div  class="sponsor">
  <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
</div>
<div  class="sponsor">
   <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
</div>
</div>
</div>
</div>

<div class="eastbar">
  <script type="text/javascript">
  <!--
    google_ad_client = "pub-3129977114552745";
    google_ad_slot = "0574824969";
    google_ad_width = 160;
    google_ad_height = 600;
  //-->
  </script>
  <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  </script>
</div>

<div class="main">



<p class="navigation-index">[<a href="#usage">Example Usage</a> &bull; <a href="#options">Option Summary</a>]</p>

<div class="doc-section">
<p>The <kbd>identify</kbd> program describes the format and characteristics of one or more image files. It also reports if an image is incomplete or corrupt. The information returned includes the image number, the file name, the width and height of the image, whether the image is colormapped or not, the number of colors in the image, the number of bytes in the image, the format of the image (JPEG, PNM, etc.), and finally the number of seconds it took to read and process the image.  Many more attributes are available with the verbose option.  See <a href="../www/command-line-processing.html">Command Line Processing</a> for advice on how to structure your <kbd>identify</kbd> command or see below for example usages of the command.</p>
</div>

<h2><a name="usage"></a>Example Usage</h2>
<div class="doc-section">

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

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify rose.jpg</span><span class='crtout'> rose.jpg JPEG 640x480 DirectClass 87kb 0.050u 0:01</span></p>
<p>Next, we look at the same image in greater detail:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -verbose rose.jpg</span><span class='crtout'>Image: rose.jpg  <br/>
    Format: JPEG (Joint Photographic Experts Group JFIF format)  <br/>
    Class: DirectClass  <br/>
    Geometry: 70x46+0+0  <br/>
    Resolution: 72x72  <br/>
    Print size: 0.972222x0.638889  <br/>
    Units: PixelsPerInch  <br/>
    Type: TrueColor  <br/>
    Endianess: Undefined  <br/>
    Colorspace: RGB  <br/>
    Depth: 8-bit  <br/>
    Channel depth:  <br/>
      red: 8-bit  <br/>
      green: 8-bit  <br/>
      blue: 8-bit  <br/>
    Channel statistics:  <br/>
      red:  <br/>
        min: 37 (0.145098)  <br/>
        max: 255 (1)  <br/>
        mean: 145.58 (0.5709)  <br/>
        standard deviation: 67.3195 (0.263998)  <br/>
      green:  <br/>
        min: 31 (0.121569)  <br/>
        max: 255 (1)  <br/>
        mean: 89.2512 (0.350005)  <br/>
        standard deviation: 52.0488 (0.204113)  <br/>
      blue:  <br/>
        min: 17 (0.0666667)  <br/>
        max: 255 (1)  <br/>
        mean: 80.4075 (0.315323)  <br/>
        standard deviation: 54.0052 (0.211785)  <br/>
    Rendering intent: Undefined  <br/>
    Interlace: None  <br/>
    Background color: white  <br/>
    Border color: rgb(223,223,223)  <br/>
    Matte color: grey74  <br/>
    Transparent color: black  <br/>
    Page geometry: 70x46+0+0  <br/>
    Dispose: Undefined  <br/>
    Iterations: 0  <br/>
    Compression: JPEG  <br/>
    Quality: 100  <br/>
    Orientation: Undefined  <br/>
    Properties:  <br/>
      date:create: 2008-01-08T11:08:52-05:00  <br/>
      date:modify: 2005-04-07T12:48:13-04:00  <br/>
      jpeg:colorspace: 2  <br/>
      jpeg:sampling-factor: 2x2,1x1,1x1  <br/>
      signature: dcd00d6303f80f4fa53f991804cb026151c1e851b7a96255e82da87299583ebc  <br/>
    Artifacts:  <br/>
      verbose: true  <br/>
    Tainted: False  <br/>
    Filesize: 3.97266kb  <br/>
    Number pixels: 3.14453kb  <br/>
    Version: ImageMagick 6.6.5-5 2010-50-50 Q16 http://www.imagemagick.org</span></p>
<p>To get the print size in inches of an image at 72 DPI, use:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -format "%[fx:w/72] by %[fx:h/72] inches" document.png</span><span class='crtout'>8.5 x 11 inches</span></p>
<p>The depth and dimensions of a raw image must be specified on the command line:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -depth 8 -size 640x480 image.raw</span><span class='crtout'>image.raw RGB 640x480 DirectClass 9kb 0.000u 0:01</span></p>
<p>Here we display the image texture features and the number of unique colors in the image:</p>

<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -verbose -features 1 -unique image.png</span></p>
<p>You can find additional examples of using <kbd>identify</kbd> in <a href="http://www.imagemagick.org/Usage/">Examples of ImageMagick Usage</a>.</p>

</div>

<h2><a name="options"></a>Option Summary</h2>
<div class="doc-section">

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

<table class="doc">
  <tbody>
  <tr>
    <th align="left">Option</th>
    <th align="left">Description</th>
  </tr>

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

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

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#authenticate">-authenticate <em class="option">value</em></a></td>
    <td valign="top">decrypt image with this password</td>
  </tr>

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

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#colorspace">-colorspace <em class="option">type</em></a></td>
    <td valign="top">set image colorspace</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#crop">-crop <em class="option">geometry</em></a></td>
    <td valign="top">crop the image</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#debug">-debug <em class="option">events</em></a></td>
    <td valign="top">display copious debugging information</td>
  </tr>

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

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#density">-density <em class="option">geometry</em></a></td>
    <td valign="top">horizontal and vertical density of the image</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#depth">-depth <em class="option">value</em></a></td>
    <td valign="top">image depth</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#extract">-extract <em class="option">geometry</em></a></td>
    <td valign="top">extract area from image</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#features">-features <em class="option">distance</em></a></td>
    <td valign="top">display image features (e.g. contract, correlations, etc.).</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#format_identify_">-format <em class="option">string</em></a></td>
    <td valign="top">output formatted image characteristics</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#gamma">-gamma <em class="option">value</em></a></td>
    <td valign="top">level of gamma correction</td>
  </tr>

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

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#interlace">-interlace <em class="option">type</em></a></td>
    <td valign="top">type of image interlacing scheme</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#interpolate">-interpolate <em class="option">method</em></a></td>
    <td valign="top">pixel color interpolation method</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#limit">-limit <em class="option">type value</em></a></td>
    <td valign="top">pixel cache resource limit</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#list">-list <em class="option">type</em></a></td>
    <td valign="top">Color, Configure, Delegate, Format, Magic, Module, Resource, or Type</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#log">-log <em class="option">format</em></a></td>
    <td valign="top">format of debugging information</td>
  </tr>

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

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

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

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

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

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#sampling-factor">-sampling-factor <em class="option">geometry</em></a></td>
    <td valign="top">horizontal and vertical sampling factor</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#set">-set <em class="option">attribute value</em></a></td>
    <td valign="top">set an image attribute</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#size">-size <em class="option">geometry</em></a></td>
    <td valign="top">width and height of image</td>
  </tr>

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

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#unique">-unique</a></td>
    <td valign="top">display image the number of unique colors in the image.</td>
  </tr>

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#units">-units <em class="option">type</em></a></td>
    <td valign="top">the units of image resolution</td>
  </tr>

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

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

  <tr>
    <td valign="top"><a href="../www/command-line-options.html#virtual-pixel">-virtual-pixel <em class="option">method</em></a></td>
    <td valign="top">access method for pixels outside the boundaries of the image</td>
  </tr>

  </tbody>
</table>

</div>

</div>

<div id="linkbar">
    <span id="linkbar-west">&nbsp;</span>
    <span id="linkbar-center">
      <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
      <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
    </span>
    <span id="linkbar-east">&nbsp;</span>
  </div>
  <div class="footer">
    <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
    <span id="footer-east"> <a href="http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
  </div>
  <div style="clear: both; margin: 0; width: 100%; "></div>
  <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-17690367-1']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
  </script>
</body>
</html>
