$site=strtolower("ImageMagick");

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:

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

Use this command to convert a JPEG-2000 image to the PNG image format:

    $ magick wizard.jp2 wizard.png

Let's convert a JPEG image to a lossless JPEG-2000 image:

    $ magick wizard.jpg -quality 0 wizard.jp2

Here we extract an area from the image:

    $ magick 'wizard.jp2[640x480+0+0]' wizard.png

Extract a particular tile from the image:

    $ magick 'wizard.jp2[2]' wizard.png

Specify a subsampling factor:

    $ magick wizard.png -colorspace YUV -sampling-factor 2:2 wizard.jp2

Save a tiled JPEG-2000 image:

    $ magick wizard.png 'wizard.png[512x512]'

Write a digital Cinema 4K profile compliant codestream:

    $ magick wizard.png -resize 4096x2160! -depth 12 wizard.jp2

Here is a complete list of JPEG-2000 decoding options:

jp2:quality-layers=x | set the maximum number of quality layers to decode.
jp2:reduce-factor=x | set the number of highest resolution levels to be discarded.

Here is a complete list of JPEG-2000 encoding options:

jp2:number-resolutions=x | number of resolutions to encode.
jp2:quality=x,x,... | 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.
jp2:rate=x,x,... | 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.
jp2:progression-order=x | choose from LRCP, RLCP, RPCL, PCRL or CPRL.

About ImageMagick