Slashdot Mirror


Scaling Algorithm Bug In Gimp, Photoshop, Others

Wescotte writes "There is an important error in most photography scaling algorithms. All software tested has the problem: The Gimp, Adobe Photoshop, CinePaint, Nip2, ImageMagick, GQview, Eye of Gnome, Paint, and Krita. The problem exists across three different operating systems: Linux, Mac OS X, and Windows. (These exceptions have subsequently been reported — this software does not suffer from the problem: the Netpbm toolkit for graphic manipulations, the developing GEGL toolkit, 32-bit encoded images in Photoshop CS3, the latest version of Image Analyzer, the image exporters in Aperture 1.5.6, the latest version of Rendera, Adobe Lightroom 1.4.1, Pixelmator for Mac OS X, Paint Shop Pro X2, and the Preview app in Mac OS X starting from version 10.6.) Photographs scaled with the affected software are degraded, because of incorrect algorithmic accounting for monitor gamma. The degradation is often faint, but probably most pictures contain at least an array where the degradation is clearly visible. I believe this has happened since the first versions of these programs, maybe 20 years ago."

2 of 368 comments (clear)

  1. My God is this OLD NEWS by Theovon · · Score: 0, Offtopic

    Sensationalism. This is the kind of sensationalism I used to get into, actually. OMG! GIMP antialiased lines look like ropes because they don't account for gamma properly! (I noticed that 10 years ago.)

    Yeah, so what happens is that these apps scale the image with colors in luma space. In luma space, the color ramp of pixel values looks linear to the human eye. The thing is, the human eye is not linear, so it's technically incorrect to do linear math to combine pixel values in luma space.

    Instead, we should be working in luminance space. Luminance is linear in terms of physical light intensity, and you can do linear math directly on luminance values and have them make physical sense.

    The reason we use luma is because it's more compact to represent what you can SEE in a static image. What takes 8 bits in luma space requires 14 bits in luminance space to get the fine just noticable differences at the right end of the spectrum.

    Most people who have some reasonably advanced education in graphics know ALL about this. And they also realize that it's just not worth worrying about most of the time. I've messed around with gamma-aware scaling, antialiasing, and dithering. Except for very rare circumstances, if you have fine-enough steps in your luma space, it's very difficult to tell the difference, if there even is any. Even dithering to a 6x6x6 color cube looks almost as good in luma as it does in luminance. The only situation where it's vital is if your color space is really small. For instance, if you wanted to dither a color image to a 2x2x2 color cube (8 colors), then ignoring gamma makes it look completely wrong.

    I'll make a physics analogy. This guy is complaining that Newtonian mechanics is inaccurate compared to Einsteinian, except that we're dealing with speeds of 100s of miles per hour. Not going to make a noticable difference.

  2. Re:Wrong by sootman · · Score: 0, Offtopic

    You polled professional users about this question, and none of them cared? Let's see your raw data.

    Oh, come on. I didn't poll a million astronomers last night to see if the sun will rise tomorrow either but I feel pretty confident in saying that it will, and speaking for them.

    I'm not saying it's not an issue AT ALL or that it should not be addressed AT ALL, I'm just saying it's not an IMPORTANT issue. Consider this: millions of people have shoes with laces. Sometimes these laces come untied. Once untied, they sometimes cause problems--you might trip over them, they might get sucked into an escalator or wound up in a bike pedal, etc. Are loose shoelaces a problem? YES. Are loose shoelaces an IMPORTANT problem? NO.

    Images of famous paintings in art books would be a great start, since you're supposed to be seeing what the artist painted, not a rough approximation.

    Wow. This is a fantastically bad idea and, not trying to be mean, but it just shows exactly how unqualified you are to have your opinion be counted. There are a MILLION issues at hand that will effect image quality; this tiny gamma shift is WAY down on the list.

    • First of all, there are uncountable thousands of pieces of art out there, so this is bewilderingly impractical to begin with
    • And much of it is too big to scan
    • No sense mentioning things like the Sistine Chapel

    But beyond that, getting into the strictly technical issues...

    • Should the artwork be photographed/scanned in natural sunlight or in artificial light? Indoors or out? What time of day?
    • By the way, with all the pollution in the air now, is the sunlight that comes through your window even the same color as it was in Monet's time?
    • OK, so say you decide that things should be photographed outdoors on a mountain at the equator at noon on the date of the summer solstice. Great. You do realize that any print made from this image (and let's pretend RGB/CMYK issues don't exist, just to make things easier) will look different when viewed inside, through tinted windows (note: ALL glass is tinted to some extent) and artificial light? You can do whatever you want when capturing the image, but if the viewer won't see it under the same conditions, why bother? (Oh, and I almost forgot--you do know that human visual perception isn't a constant, non-moving target, right? Even just looking at something for a while will change how you perceive it.)

    You say "you're supposed to be seeing what the artist painted, not a rough approximation" so obviously you have no idea how TINY the gamut of reproducible colors is compared to actual paint. Try this experiment: Find a museum with a famous colorful painting. Go to a bookstore and buy the most expensive book you can find that contains a print of that art. Find the image online and bring the most expensive laptop you can find too, or a desktop and a calibrated monitor and a LaCie hood if you're really serious. Then compare the two reproductions with the original artwork and, having studied the relative weights of the issues listed above, tell me exactly how much of the giant difference between the original and reproductions was caused by gamma shift due to electronic resizing.

    This is like saying you should steam-clean the under

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.