



<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8"  />
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"  />
  <title>High Dynamic-Range Images @ ImageMagick</title>
  <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="https://www.imagemagick.org" />
  <meta name="generator" content="PHP" />
  <meta name="keywords" content="high, dynamic-range, images, 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-2017 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 href="https://www.imagemagick.org/script/high-dynamic-range.html" rel="canonical" />
  <link href="../images/wand.png" rel="icon" />
  <link href="../images/wand.ico" rel="shortcut icon" />
  <link href="css/magick.css" rel="stylesheet" />
</head>
<body>
<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="nav magick-nav">
      <a class="nav-link " href="../index.html">Home</a>
      <a class="nav-link " href="download.html">Download</a>
      <a class="nav-link " href="command-line-tools.html">Tools</a>
      <a class="nav-link " href="command-line-processing.html">Command-line</a>
      <a class="nav-link " href="resources.html">Resources</a>
      <a class="nav-link " href="develop.html">Develop</a>
      <a class="nav-link " href="https://www.imagemagick.org/script/search.php">Search</a>
      <a class="nav-link float-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">High dynamic-range imaging (HDRI) permits a far greater dynamic range of exposures (i.e. a large difference between light and dark areas) than standard digital imaging techniques. HDRI accurately represents the wide range of intensity levels found in real scenes ranging from the brightest direct sunlight to the deepest darkest shadows.  The HDR imaging approach includes:</p>

<ul>
  <li>render/capture floating-point color space</li>
  <li>encompass the entire perceivable gamut (extend values outside [0,1] range)</li>
  <li>post-process in extended color space</li>
  <li>apply tone-mapping for specific display</li>
</ul>

<h2 class="magick-post-title"><a id="enable"></a>Enabling HDRI in ImageMagick</h2>

<p>By default, image pixels in ImageMagick version 7 are stored in a floating-point representation that range from 0 to the quantum depth, which is typically 16-bits (Q16).  With HDRI enabled, the pixels can include negative values as well as values that exceed the quantum depth. A majority of digital image formats do not support HDRI, and for those images any pixels outside the quantum range are clamped before they are stored.</p>

<p>The most promising HDR image format is EXR.  You must have the <a href="http://www.openexr.org">OpenEXR</a> delegate library installed to read or write this format.  Other HDR formats include TIFF 48-bit integer and 96-bit float formats, HDR, PFM, and ImageMagick's own MIFF format.</p>

<p>To disable the HDRI version of ImageMagick, use this Unix/Linux command:</p>

<pre class="highlight"><code>./configure --disable-hdri
</code></pre>

<p>Under Windows, uncomment the <code>MAGICKCORE_HDRI_SUPPORT</code> definition in the <code>magick-baseconfig.h</code> configuration file and build.</p>

<p>To verify HDRI is properly configured, look for "HDRI" as a feature:</p>

<pre class="highlight"><code>identify -version
Features: HDRI
</code></pre>
</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="security-policy.html">Security</a> •
    <a href="architecture.html">Architecture</a>
</p>
    <p><a href="high-dynamic-range.html#">Back to top</a> •
    <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
    <a href="https://www.imagemagick.org/script/contact.php">Contact Us</a></p>
        <p><small>© 1999-2017 ImageMagick Studio LLC</small></p>
  </footer>
</div><!-- /.container -->

  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
  <script src="../js/magick.html"></script>
</body>
</html>
<!-- Magick Cache 8th October 2017 11:16 -->