2 votes

Better image downsampling algorithm

Mika Fischer 3 supporters

Very high-resolution covers look quite ugly the way bliss downscales them at the moment. The problem is that you're probably using bilinear interpolation. This produces aliasing artefacts when downsampling.

I don't really know how to do that in Java, but if you need more info on the image processing side of things, I do know about those.

This is obviously not the most important thing in the world :)

4 comments

Dan Gravell

Probably worse than that ;)

bliss uses an AffineTransform ( http://en.wikipedia.org/wiki/Affine_transformation ) using this API: http://download.oracle.com/javase/1.4.2/docs/api/java/awt/geom/AffineTransform.html

It might be worth looking at incorporating imgscalr: http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/

Jason Schafer

I've found this issue is exacerbated if you use images that are close to the size you are downsampling to. After reading what Dan posted, I think Bliss's Affine transformation is similar to GIMP's resize algorithm without interpolation turned on (Was testing and comparing images from bliss's conversion from JPEG to png with an image at 1080x1080 going down to 900x900 versus that image from 3000x3000 down to 900x900, interpolation still looks much better in both cases).

If another image scaling library is imported, maybe allow the end user to choose with interpolation method they want (linear, cubic, etc)?

Dan Gravell

Heh, well I don't know about you but 95% of the time I just choose Cubic and it works... I don't know enough about the algorithms to say when none or linear would be useful.

Jason Schafer

The Cubic algorithm is more than sufficient to make resizing "pretty", it was just a thought because I don't know how "picky" people are.

I'm no expert on image processing, so please take my comments with a grain of salt. :)

More information: https://graphicdesign.stackexchange.com/questions/26385/difference-between-none-linear-cubic-and-sinclanczos3-interpolation-in-image