In this article, I will talk you through how to read JPEG2000 images into a BufferedImage in Java. We also have a related article covering how to write JPEG2000 files in Java.
ImageIO provides support for JPEG2000 using JJ2000 (originally written around 2000). It produces poor results with a lot of our sample images (black spots on white images) and is not complete. So we felt it was time to add a modern implementation to JDeli using Java8.
How to read a JPEG2000 image in Java with ImageIO
Step 1 Create a File, InputStream, or URL pointing to the raw JPEG2000 image.
Step 2 ImageIO will now be able to read a JPEG2000 file into a BufferedImage. This syntax is like so:
BufferedImage image = ImageIO.read(jpg2000FileOrInputStreamOrURL)
How to read a JPEG2000 image in Java with JDeli
Step 1 Add JDeli to your class or module path. (download the trial jar).
Step 2 Create a File, InputStream pointing to the raw JPEG2000 image. You can also use a byte[] containing the image data.
Step 3 Read the JPEG2000 image into a BufferedImage
BufferedImage image = JDeli.read(jpeg2000File);
Start reading and writing images with one line of code
Read: BufferedImage image = JDeli.read(streamOrFile);
Write: JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile)