JPEG2000 (.jp2, .j2k)

Background & Context

    • MIME type: image/jp2
    • JPEG2000 raster image and compression format.
    • Used for photographic images.
    • JPEG is an acronym for Joint Photographic Experts Group.
    • Binary file format.
    • Supports a variety of color resolutions and opacity.
    • Uses lossy or lossless compression based on wavelet transforms.
    • Can store images as an array of rectangular tiles that are encoded separately.

Import & Export

  • Import["file.jp2"] imports a JPEG2000 file as an image.
  • Import["file.jp2",elem] imports the specified element from a JPEG2000 file.
  • The import format can be specified with Import["file","JPEG2000"] or Import["file",{"JPEG2000",elem,}].
  • Export["file.jp2",expr] exports an image, graphics, or any other expression as a raster image to JPEG2000.
  • When exporting Wolfram Language graphics or arbitrary expressions to JPEG2000, the resulting image has the same raster size as its displayed form.
  • Image objects are by default exported at their raster size.
  • Because JPEG2000 is a raster image format, all fonts are rasterized on export.
  • See the following reference pages for full general information:
  • Import, Exportimport from or export to a file
    CloudImport, CloudExportimport from or export to a cloud object
    ImportString, ExportStringimport from or export to a string
    ImportByteArray, ExportByteArrayimport from or export to a byte array

Notebook Interface

  • In the notebook front end, Insert Picture and the Open menu allow import of a JPEG2000 file into a cell.
  • Save Selection As exports the selected part of a notebook as a JPEG2000 file.

Import Elements

  • General Import elements:
  • "Elements" list of elements and options available in this file
    "Summary"summary of the file
    "Rules"list of rules for all available elements
  • Data representation elements:
  • "Data"array of color values
    "Graphics"Graphics object
    "Image"raster image, given as an Image object
    {"Thumbnail",size}thumbnail of a given size (default size = Small)
  • Import and Export by default use the "Image" element for JPEG2000 files.
  • Import["file.jp2","Data"] gives an array of color values taken to be encoded using the color model specified by the "ColorSpace" option.
  • The following can be used to select or specify individual image tiles:
  • "Tiles",mthe m^(th) row of tiles
    "Tiles",m,nthe n^(th) tile in row m
    "Tiles",m,n,elemelement elem of the n^(th) tile in row m
  • Advanced Import elements:
  • "BitDepth"bit resolution used for each color channel in the file
    "Channels"number of image color channels
    "ImageSize"raster dimensions
    "Summary"summary of the file

Options

  • Import and Export options:
  • ImageSizeAutomaticoverall image size
    "ImageTopOrientation"Toporientation of the image as stored in the file
  • Export options:
  • "BitDepth"Automaticbit resolution used for each color channel
    CompressionLevelAutomaticsets the compression parameter of the image-encoding algorithm
    "ImageTopOrientation"Toporientation of the exported image
    "TileSize"Automaticpixel dimensions of image tiles
  • Allowed settings for "BitDepth" are integers in the range from 1 to 31.
  • Possible values of CompressionLevel range from 0 to 1, with larger values corresponding to smaller file sizes.
  • For lossy compression methods, a higher compression level corresponds to a lower-quality encoding.
  • "TileSize" specifies the default size of the image tiles in a JPEG2000 file, and is normally set to a value of the form . The tiles in the bottom row and the rightmost column may be smaller than the default size.
  • Detailed properties and settings:
  • "ColorSpace"Automaticcolor space of the image
    "ImageEncoding""JPEG2000"compression method used in the file
    "TileDimensions"{1,1}dimensions of the tiling array
  • Import and Export support JPEG2000 alpha channels in gray-level and RGB images.
  • Possible settings for "ImageEncoding":
  • "JPEG2000"standard lossy JPEG2000 encoding
    "Lossless"lossless variant of the JPEG2000 compression method

Examples

open allclose all

Basic Examples  (3)

This imports a JPEG2000 file as an image:

Summary of an image:

Export an image object to JPEG2000:

Import Elements  (13)

Available Elements  (3)

List of available elements:

Import all elements as a list of rules:

Import some image options:

The "Options" element does not return all options that are present in the imported image:

Data Representation  (5)

"Data"  (1)

Import the image data:

Create an image from imported data:

"Graphics"  (1)

Import as a Graphics object:

"Image"  (1)

Import as an Image object:

This is the default import element for JPEG2000:

"Thumbnail"  (1)

Import a thumbnail of the image:

"Tiles"  (1)

Import image as a list of tiles:

Combine image tiles:

Metadata  (5)

"BitDepth"  (1)

Get the number of bits used for representing each color channel:

"Channels"  (1)

Get the number of image channels:

"ColorSpace"  (1)

Get the encoded color space:

Use ImageColorSpace to get the color space of an imported image:

"ImageSize"  (1)

Get the dimensions of the image stored in the file:

Using ImageDimensions on an imported image gives the same result:

"Summary"  (1)

Get the image summary:

Export Options  (3)

ImageSize  (1)

By default, the image is exported in its full resolution:

Specify the raster size of exported image:

"ImageTopOrientation"  (1)

By default, the upright image is exported using "ImageTopOrientation"->Top:

Specify the orientation:

"TileSize"  (1)

Specify the tile size during export: