What are the most appropriate algorithms for downscaling images extremely while maintaining recognition

imageimage manipulation

I want to create a window icon (128×128 at most, the icon in the corner of the window on Windows is 24×24, I believe) from a large image (1024×768 and more). I've tried several algorithms – nearest neighbor, bicubic interpolation, but they all produce a very soft and barely recognizable image.

Do I need content-aware resize for this task?

Best Answer

Generally when you want to make an icon in multiple sizes, you start with vector graphics which will allow you to resize without losing any information. From there, you can resize it to the size of the icon and make the icon. This is ideal. Resizing from existing images is problematic since, unless it is a precise reduction in size (1/2x 1/4x 1/8x, etc.), pixels are going to have to be approximated even by the best algorithms.

If you have the original image, there are ways of "tracing" the image to be drawn as a svg file in Inkscape. You lose a little bit of definition, but you can also make adjustments until it is closer to what you started with. Once you have that, it is much easier to switch from svg format to other formats.

Hope that helps!

Related Topic