The GetDPI Photography Forum

Great to see you here. Join our insightful photographic forum today and start tapping into a huge wealth of photographic knowledge. Completing our simple registration process will allow you to gain access to exclusive content, add your own topics and posts, share your work and connect with other members through your own private inbox! And don’t forget to say hi!

Methods of interpolation for scaling images

D

Dobias

Guest
Hi dear Community,

today i coded a small algorithm for skaling images.
It works like this:

In the following example image i want to scale a 5*s5 pixel image to 3*3.

I have marked one example pixel.

On the left you can see, which source pixels match the destination pixel.
For calculating the value of the destination pixel, i use all pixels from the source image that are covered by the rectangle corresponding to the destination pixel. I give each pixel a weight according to the area of it that is covered.
Sounds complicated, but i can scale down (factor 2) a 2Megapixel-RGB-image in 150ms on my pc (no supercluster ;)).

When i compare my result with these of Gimp and Photoshop, i don't see a difference in quality, but still a difference.
I am also surprised that Gimp-bilinear is not the same as Photoshop-bilinear. Its the same game with bicubic interpolation.

Here is an example image:

Original (128*128):

Zoom:



Scaled (48*48):

Gimp-bilinear:
http://24htpichost001.24.funpic.de/interpolation/Testbild_048_gimp_linear.png
Zoom:


Photoshop-bilinear:
http://24htpichost001.24.funpic.de/interpolation/Testbild_048_photoshop_bilinear.png
Zoom:


Gimp-bicubic:
http://24htpichost001.24.funpic.de/interpolation/Testbild_048_gimp_bikubisch.png
Zoom:


Photoshop-bicubic:
http://24htpichost001.24.funpic.de/interpolation/Testbild_048_photoshop_bikubisch.png
Zoom:


My Algorithm:
http://24htpichost001.24.funpic.de/interpolation/Testbild_048_imgconv_neu.png
Zoom:


In small everything looks the same, but in the zoomed version (this time of course without interpolation) the differences are well visible.

Does anyone of you know, what they make different? I did not get it out of the gimp-sources (scale-region.c). And I am interested in getting to know why Gimp and Photoshop differ. I thought that "bilinear" and "bicubic" are mathematically well defined.

It would be great if someone could help me out.

Thanks in advance.
Dobiasd
 
Last edited:
Top