



<!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>JP2 Encoding Options @ 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="jp2, encoding, options, 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/jp2.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">ImageMagick's JPEG-2000 image formats, JP2 and JPC, accept a plethora of encoding options as detailed below.  As an example, suppose you are interested in these options:</p>

<ul>
<li>code blocks are 64 samples in width and 32 samples in height</li>
<li>no multicomponent transform</li>
<li>4 resolution levels for each component</li>
<li>compression is lossy at 64:1</li>
</ul>

<p>Use this command to convert a JPEG-2000 image to the PNG image format:</p>

<pre><code>
convert wizard.jp2 wizard.png
</code></pre>

<p>Let's convert a JPEG image to a lossless JPEG-2000 image:</p>

<pre><code>
convert wizard.jpg -quality 0 wizard.jp2
</code></pre>

<p>Here we extract an area from the image:</p>

<pre><code>
convert 'wizard.jp2[640x480+0+0]' wizard.png
</code></pre>

<p>Extract a particular tile from the image:</p>

<pre><code>
convert 'wizard.jp2[2]' wizard.png
</code></pre>

<p>Specify a subsampling factor:</p>

<pre><code>
convert wizard.png -colorspace YUV -sampling-factor 2,2 wizard.jp2
</code></pre>

<p>Save a tiled JPEG-2000 image:</p>

<pre><code>
convert wizard.png 'wizard.png[512x512]'
</code></pre>

<p>Write a digital Cinema 4K profile compliant codestream:</p>

<pre><code>
convert wizard.png -resize 4096x2160! -depth 12 wizard.jp2
</code></pre>

<p>Here is a complete list of JPEG-2000 decoding options:</p>

<div class="table-responsive">
<table class="table table-sm table-striped">
  <tr>
    <td>jp2:quality-layers=<var>x</var></td>
    <td>set the maximum number of quality layers to decode.</td>
  </tr>
  <tr>
    <td>jp2:reduce-factor=<var>x</var></td>
    <td>set the number of highest resolution levels to be discarded.</td>
  </tr>
</table></div>

<p>Here is a complete list of JPEG-2000 encoding options:</p>

<div class="table-responsive">
<table class="table table-sm table-striped">
  <tr>
    <td>jp2:number-resolutions=<var>x</var></td>
    <td>number of resolutions to encode.</td>
  </tr>
  <tr>
    <td>jp2:quality=<var>x</var>,<var>x</var>,...</td>
    <td>set the quality layer PSNR, given in dB. The order is from left to right in ascending order. The default is a single lossless quality layer.</td>
  </tr>
  <tr>
    <td>jp2:rate=<var>x</var>,<var>x</var>,...</td>
    <td>the compression ratio values. Each value is a factor of compression, thus 20 means 20 times compressed. The order is from left to right in descending order. A final lossless quality layer is signified by the value 1. The default is a single lossless quality layer.</td>
  </tr>
  <tr>
    <td>jp2:progression-order=<var>x</var></td>
    <td>choose from LRCP, RLCP, RPCL, PCRL or CPRL.</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="security-policy.html">Security</a> •
    <a href="architecture.html">Architecture</a>
</p>
    <p><a href="jp2.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://localhost/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script src="../js/magick.html"></script>
</body>
</html>
<!-- Magick Cache 25th August 2017 00:36 -->