Stream-based image processing in Java2D
We are developing an application which deals with relatively large images. Using Java2D API (esp. BufferedImage) it is inevitable to consume large amount of memory (e.g. when openning a 50m PNG image, it consumes 700mb of memory). Things get much worse when we need to transform images. For example converting that PNG image to gray scale. The grayscale image needs its own chunk of memory, causing out of memory problem.
I have searched for stream-based image processing, but almost found nothing.
Does anybody knows such third-party library? or can Java2D help me out reducing memory consumption?