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

Add more resizing filters #1035

Closed
ghost opened this issue Sep 26, 2022 · 2 comments
Closed

Add more resizing filters #1035

ghost opened this issue Sep 26, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@ghost
Copy link

ghost commented Sep 26, 2022

Add more resizing filters because more options = better.
These are the two types I think would be neat to add:

  • general resizers which are used pre or post super-resolution model.
  • pixel art scalers which are used independently of the super-resolution models.

So these are the general resizers already in chaiNNer:

  • Nearest Neighbor (point)
  • Box
  • Bilinear (triangle)
  • Bicubic (cubic or catrom??)
  • Lanczos

Already in Pillow:

  • Hamming

Can be implemented pretty easily:
Basically everything on this page
comparison of filters
Most desirable of these is probably:

  • mitchell
  • spline
  • lagrange

These are all simple algo to implement as I can just cannibalize the image magic 'resize.c'. I'm guessing adding imagemagick with wand ctype binding is not desirable.

More complex:
Pixel art scaling algorithms.
These are different from above, as the above can resize with n scalar, where n = (0 , infinity), these are usually restricted to a single scalar greater than 1. Wikipedia has a good list. I'm guessing this might need its own node?

==

Let me know what you think.

@Athari
Copy link

Athari commented Oct 7, 2022

Any Hermite fans here? 😁 Blurry or not, it doesn't introduce ringing, and the only currently available option without ringing is bilinear. Not a massive difference in a lot of cases, but still.

@RunDevelopment
Copy link
Member

Resolved by #2398.

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

No branches or pull requests

2 participants