imageworsener
imageworsener copied to clipboard
SSIM based downscaling algorithm
I've found a new downscaling algorithm: https://graphics.ethz.ch/~cengizo/Files/Sig15PerceptualDownscaling.pdf
@jsummers ImageWorsener project is amazing, a hidden, underrated gem. Please, proceed with development.
@sergeevabc say:
Please, proceed with development.
There is hardly anything to continue. The library has acquired a stable finished look. The only thing that can be added to it is modifiers, for example RIS: https://github.com/ImageProcessing-ElectronicPublications/photoquick-examples/tree/main/main/resize
There is hardly anything to continue.
technical.txt written by the author has a “to do” section and this issue tracker has opened issues.
At first the algorithm squares each pixel value of an image I; let the result be the image I2. Then it downscales the images I and I2 by an integer factor with Pixel Mixing to get the images L and L2. After that it uses L and L2 to create the resulting image; see the paper for details.
When I downscale the rings image by two with my implementation of the algorithm, it preserves all rings and does not produce moire patterns:
(view it in 1:1 resolution)
With a higher scaling factor, the pixel mixing artefacts appear:
I have never tested what happens if I use another downscaling algorithm than pixel mixing (or box filter) to calculate L and L2.
With the ellipse image, the sharpening is visible:
Hi all!
![]() |
![]() |
![]() |
---|---|---|
no RIS | RIS mult = 1 | RIS mult = -1 |