imageworsener icon indicating copy to clipboard operation
imageworsener copied to clipboard

SSIM based downscaling algorithm

Open HybridDog opened this issue 7 years ago • 5 comments

I've found a new downscaling algorithm: https://graphics.ethz.ch/~cengizo/Files/Sig15PerceptualDownscaling.pdf

HybridDog avatar Dec 31 '17 16:12 HybridDog

@jsummers ImageWorsener project is amazing, a hidden, underrated gem. Please, proceed with development.

sergeevabc avatar Mar 17 '21 13:03 sergeevabc

@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

zvezdochiot avatar Mar 17 '21 13:03 zvezdochiot

There is hardly anything to continue.

technical.txt written by the author has a “to do” section and this issue tracker has opened issues.

sergeevabc avatar Mar 18 '21 18:03 sergeevabc

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: rings_0 5 (view it in 1:1 resolution)

With a higher scaling factor, the pixel mixing artefacts appear: rings_ssimdown 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: ellipse_ssimdown

HybridDog avatar Mar 19 '21 16:03 HybridDog

Hi all!

no RIS RIS=1 RIS=-1
no RIS RIS mult = 1 RIS mult = -1

zvezdochiot avatar Mar 19 '21 20:03 zvezdochiot