Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSIM based downscaling algorithm #33

Open
HybridDog opened this issue Dec 31, 2017 · 5 comments
Open

SSIM based downscaling algorithm #33

HybridDog opened this issue Dec 31, 2017 · 5 comments

Comments

@HybridDog
Copy link

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

@sergeevabc
Copy link

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

@zvezdochiot
Copy link

@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

@sergeevabc
Copy link

There is hardly anything to continue.

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

@HybridDog
Copy link
Author

HybridDog commented Mar 19, 2021

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

@zvezdochiot
Copy link

zvezdochiot commented Mar 19, 2021

Hi all!

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants