All Projects → osamu620 → OpenHTJ2K

osamu620 / OpenHTJ2K

Licence: BSD-3-Clause license
An open source implementation of ITU-T Rec.814 | ISO 15444-15 (a.k.a. HTJ2K).

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to OpenHTJ2K

gpu-camera-sample
High quality Image Processing software on GPU (Windows, Linux, ARM) for real time machine vision camera applications. Performance benchmarks and Glass-to-Glass time measurements. MIPI CSI cameras support. RAW2RGB processing on GPU.
Stars: ✭ 200 (+852.38%)
Mutual labels:  jpeg2000
imagecodecs
Image transformation, compression, and decompression codecs. Forked from https://pypi.org/project/imagecodecs
Stars: ✭ 56 (+166.67%)
Mutual labels:  jpeg2000
openjpeg-data
Test files for the OpenJPEG libraries and utilities
Stars: ✭ 37 (+76.19%)
Mutual labels:  jpeg2000
rais-image-server
RAIS: A IIIF-compliant, 100% open source image server for blazing-fast deep zooming
Stars: ✭ 72 (+242.86%)
Mutual labels:  jpeg2000
librfxcodec
JPEG2000 codec for RDP
Stars: ✭ 18 (-14.29%)
Mutual labels:  jpeg2000
sail
The missing small and fast image decoding library for humans (not for machines) ⛵ https://sail.software
Stars: ✭ 206 (+880.95%)
Mutual labels:  jpeg2000

CMake CodeQL

OpenHTJ2K

OpenHTJ2K is an open source implementation of ITU-T Rec.814 | ISO/IEC 15444-15 (a.k.a. JPEG 2000 Part 15, High-Throughput JPEG 2000; HTJ2K)

What OpenHTJ2K provides

OpenHTJ2K provides a shared liberary and sample applications having the following functionalities:

  • Decoding of ITU-T Rec.800 | ISO/IEC 15444-1 (JPEG 2000 Part 1) or ITU-T Rec.814 | ISO/IEC 15444-15 (JPEG 2000 Part 15.) compliant codestreams
    • fully compliant with conformance testing defined in ITU-T Rec.803 | ISO 15444-4.
  • Encoding an image into a codestream/JPH file which is compliant with HTJ2K
    • currently supports only HTJ2K. The optional markers like COC, POC, etc. are not implemented.
    • encoding of HT SigProp and MagRef passes are not implemented.
    • up to 12 bit per component sample is currently supported.
    • Quality control for lossy compression with Qfactor feature

Requirements

cmake (version 3.14 or later) and C++11 compliant compiler.

Building

Type the following command. ./ is a root of cloned repository and ${BUILD_DIR} is a build directory (for example, ../build or ./build and so on)

cd ./
cmake -G "Unix Makefiles" -B ${BUILD_DIR} -DCMAKE_BUILD_TYPE=Release
cd  ${BUILD_DIR}
make

Then the executables should be found in ${BUILD_DIR}/bin directory.

Usage

Encoder

Only Part 15 compliant encoding is supported. Both .j2c (codestream) and .jph (file format) are available.

./open_htj2k_enc -i inputimage(in PNM/PGX/(TIFF, libtiff required) format) -o output [options...]

The encoder can take comma-separated multiple files. For example, components in YCbCr color space can be encoded by

./open_htj2k_enc -i inputY.pgx,inputCb.pgx,inputCr.pgx -o output 

options

  • Stiles=Size
    • Size of tile "{height, width}", Default is equal to the image size
  • Sorigin=Size
    • origin of the input image in the reference grid, Default is {0,0}
  • Stile_origin=Size
    • origin of tiles in the reference grid, Default is {0,0}
  • Clevels=Int
    • Valid range for number of DWT levels is from 0 to 32 (Default is 5)
  • Creversible=yes or no
    • yes for lossless mode, no for lossy mode, Default is no
  • Cblk=Size
    • Code-block size, Default is 64x64
  • Cprecincts=Size
    • Precinct size
  • Cycc=yes or no
    • yes to use RGB->YCbCr, Default is yes
  • Corder
    • Progression order: LRCP, RLCP, RPCL, PCRL, CPRL, Default is LRCP
  • Cuse_sop=yes or no
    • Default is no
  • Cuse_eph=yes or no
    • Default is no
  • Qstep=Float
    • 0.0 < base step size <= 2.0
  • Qguard=Int
    • 0 to 7 for the number of guard bits, Default is 1
  • Qderived=yes or no
    • yes switches the quantyzation style to derived (Default is no)
  • Qfactor=Int
    • 0 to 100 for the quality of the lossy compressed image
    • for YCbCr inputs, valid chroma subsampling formats are 4:4:4, 4:2:0, and 4:2:2
  • -jph_color_space
    • Color space of input components: RGB, YCC
    • if inputs are represented in YCbCr, use YCC
  • -num_threads Int
    • number of threads to use in encode or decode
    • 0, which is the default, indicates usage of all threads

Decoder

The both Part 1 and Part 15 compliant decoding are supported.

./open_htj2k_dec -i codestream -o outputimage [-reduce n: number of DWT level reduction]

To see a help, use -h option.

Supported file types

Encoder

  • input image formats: .pgm, .ppm, .pgx, .tif (libtiff required)
  • output codestreams: .j2k, .j2c, .jphc (Part 15 codestream), .jph (Part 15 file format)

Decoder

  • input codestreams : .j2k, .j2c, .jphc
  • output image formats: .raw, .ppm, .pgm, .pgx
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].