Image Load and Saving in Java - sami-badawi/shapelogic-scala GitHub Wiki
Page for evaluation of different image IO libraries all written in Java.
Currently Shapelogic Scala is using javax.imageio for image load and save. This created a dependency on Oracle JDK.
Good video on issues with image processing in Java
Contenders for Shapelogic IO library
- javax.imageio
- Apache commons-imaging
- ImgLib2
- ImageJ
- SCIFIO
- TwelveMonkeys
javax.imageio
- Comes by default if you are using Oracle JDK.
- Works well with the AWT BufferedImage.
- Does not work on OpenJDK.
Apache commons-imaging
- Many different image formats.
- Here is an image load example. The library is dependent on using AWT graphical contexts for creating images.
- Project is not very active.
- The documentation spotty.
ImgLib2
- The ImgLib2 lib is used by new ImageJ 2.
- It is an elegant framework for handling multi dimensional images.
- Also this would make it easier to integrate Shapelogic Scala with ImageJ.
ImageJ
- ImageJ is a great image processing lib for Java.
- ImageJ integration is not the primary purpose but would make Shapelogic Scala.
- ImageJ is a light weight dependency.
- Allows you to easily display images.
SCIFIO
SCIFIO (SCientific Image Format Input & Output)
- This library can load and save in a lot of image format it works with ImgLib2.
- There are quite a lot of dependencies.
#TwelveMonkeys
- https://github.com/haraldk/TwelveMonkeys
- Pretty lightweight. Fixes problem in Oracles implementation of image handlers.
- Dependent on javax.imageio, which in turn is dependent on Oracle JDK.