korteck Posted December 17, 2006 Share Posted December 17, 2006 As someone with an obsessive compulsive personality, I really need to understand what happens to an image when it's reduced. I know that the overall quality of the image is diminished. If 800 pixels are squeezed into 200 pixels, then something has to go, but just exactly how does that work? Is there a simple mathematical equation (ratio proportion) that takes place? I'm mostly concerned about the lines of one or two pixels' width. In the process of reduction, are the single width lines the last to be affected? Can someone please give me the benefit of their expertise? Thank you. Quote Link to comment Share on other sites More sharing options...
William Bokunic Posted December 17, 2006 Share Posted December 17, 2006 Okay, it's fairly simple actually. Let's use your example of an 800x800 pixel image being reduced to 200x200. The simple part? The mathematics involved, 800/200 = 4. This means that if you shrink the image 800x800 to 200x800, the first of every four pixels horizontally is kept, and the remaining three are deleted (or blurred into the picture for some programs). So naturally you'll lose a lot of color and detail from this, and it's even worse when you don't stay to proportions. Now this changes with the resolution. I'm used to dealing with 500+ resolution images, but if you're dealing with the standard ( 78 ) this will affect you far more than myself. Another theory that may come from this is that instead of the first of the four, it's a randomly picked pixel of the four and then it goes on to the next column and so on. I'm not 100% sure on this, but this would be the more logical approach if one had to assume what resizing actually does. Quote Link to comment Share on other sites More sharing options...
Rick Brewster Posted December 17, 2006 Share Posted December 17, 2006 William, what you described is called nearest neighbor resampling. In general, look at it like this. Let's say you're converting an 800-wide image to a 200-wide image. You have 4 input pixels (0 through 3) that all have to fit in to 1 output pixels (pixel 0 in the output). With nearest neighbor, you just grab input pixel 0 and put it in output pixel 0. Input pixel 4 goes into output pixel 1, and then input 7 goes into output 2, etc. With super sampling you actually take the average of all of those pixels ... i0+i1+i2+i3 / 4 = o0, and then i4+i5+i6+i7 / 4 = o1. Each pixel is actually a quadtet of byte values, one for each color value, so you do this for each color channel individually. Other algorithms such as bicubic, bilinear, etc. operate on similar principles: you take the input pixels, perform some linear combination on them, and that's how you compute the output pixels. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Rick Brewster Posted December 17, 2006 Share Posted December 17, 2006 More info at Wikipedia ... http://en.wikipedia.org/wiki/Nearest_ne ... erpolation http://en.wikipedia.org/wiki/Super_sampling http://en.wikipedia.org/wiki/Bicubic http://en.wikipedia.org/wiki/Bilinear_interpolation Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
William Bokunic Posted December 17, 2006 Share Posted December 17, 2006 You put it much better than myself lol. The super sampling bit you mentioned actually described exactly what I meant by blurring the pixels (as in blurring all the colors of the four pixels into one), or atleast that's what I think was what you were saying. (Edit: I was typing this before you posted the links.) Quote Link to comment Share on other sites More sharing options...
Rick Brewster Posted December 17, 2006 Share Posted December 17, 2006 Ahh yes. But the goal is to not blur the picture I have this huge book on computer graphics that describes some really cool resampling methods I'd like to implement. Problem is that it's so mathematically intense and they don't really discuss it in practical terms (e.g. it's too much math, and not any code). Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
William Bokunic Posted December 17, 2006 Share Posted December 17, 2006 Gahh I still can't put it right >.< (lol) Yeah, so much math that to do any kind of hardcore Digital Photography editing that a minimum of a 2 GHz processor is basically required lol. Plus having to type all that and then maybe end up finding errors and then having to locate where exactly that error is x.x Headaches (especially if there's dozens of lines of code). Quote Link to comment Share on other sites More sharing options...
Rick Brewster Posted December 17, 2006 Share Posted December 17, 2006 Actually the image resampling code in Paint.NET comprises at least 1000 lines of code. And yeah some parts of it are pretty interesting, especially when you have to take into consideration alpha composition with premultiplied alpha and color values. "Ok it works, I'm never touching that again for a thousand years." Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
William Bokunic Posted December 17, 2006 Share Posted December 17, 2006 Yeah, I'm exactly like that whenever I decide to program some sort of small scale game. "Okay, the magic system is in, I am never going to design a spell that goes outside of it!" Quote Link to comment Share on other sites More sharing options...
korteck Posted December 17, 2006 Author Share Posted December 17, 2006 Thank you both very much. I've been using nothing but best quality and had forgotten about the other resampling options. I didn't know what they were before, but now I have a better idea of what resampling means. Thanks for the links Rick. I'll study up this week. For now though, I'll continue to use best quality and be sure to paint in proportion to the final size of the image. Thanks for that tip William. Quote Link to comment Share on other sites More sharing options...
William Bokunic Posted December 17, 2006 Share Posted December 17, 2006 Well some good can come from not sticking to the same proportions, such as if shrinking it/enlarging it in only one direction is used for blending with another image, it can create a pretty cool effect. Though if you just mean resizing pictures for tutorials on this board and the like, than proportions it is :-p Quote Link to comment Share on other sites More sharing options...
entY8 Posted December 17, 2006 Share Posted December 17, 2006 i recently needed bicubic interpolation (but not for an image program ) and the source code of PdN was really very useful, especially the link you put in a comment from where to get the mathematical basis (would never have found that with any internet search engine on the world). thank you for this being open source :wink: Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.