4 ms·
> A fun tangent on the "green cast" mentioned in the post: the reason the Bayer pattern is RGGB (50% green) isn't just about color balance, but spatial resoluti
by shagie 10mo ago
> A fun tangent on the "green cast" mentioned in the post: the reason the Bayer pattern is RGGB (50% green) isn't just about color balance, but spatial resolution. The human eye is most sensitive to green light, so that channel effectively carries the majority of the luminance (brightness/detail) data.
From the classic file format "ppm" (portable pixel map) the ppm to pgm (portable grayscale map) man page:
https://linux.die.net/man/1/ppmtopgm https://linux.die.net/man/1/ppmtopgm
The quantization formula ppmtopgm uses is g = .299 r + .587 g + .114 b.
You'll note the relatively high value of green there, making up nearly 60% of the luminosity of the resulting grayscale image.
I also love the quote in there...
Quote
Cold-hearted orb that rules the night
Removes the colors from our sight
Red is gray, and yellow white
But we decide which is right
And which is a quantization error.
(context for the original - https://www.youtube.com/watch?v=VNC54BKv3mc https://www.youtube.com/watch?v=VNC54BKv3mc )
- boltzmann-brain 10mo agoFunnily enough that's not the only mistake he made in that article. His final image is noticeably different from the camera's output image because he rescaled the values in the first step. That's why the dark areas look so crushed, eg around the firewood carrier on the lower left or around the cat, and similarly with highlights, e.g. the specular highlights on the ornaments. After that, the next most important problem is the fact he operates in the wrong color space, where he's boosting raw RGB channels rather than luminance. That means that some objects appear much too saturated. So his photo isn't "unprocessed", it's just incorrectly processed.
- tpmoney 10mo agoI didn’t read the article as implying that the final image the author arrived at was “unprocessed”. The point seemed to be that the first image was “unprocessed” but that the “unprocessed” image isn’t useful as a “photo”. You only get a proper “picture” Of something after you do quite a bit of processing.
- integralid 10mo agoDefinitely what the author means: >There’s nothing that happens when you adjust the contrast or white balance in editing software that the camera hasn’t done under the hood. The edited image isn’t “faker” then the original: they are different renditions of the same data.
- viraptor 10mo agoThat's not how I read it. As in, this is an incidental comment. But the unprocessed version is the raw values from the sensors visible in the first picture, the processed are both the camera photo and his attempt at the end.
- svara 10mo agoBut mapping raw values to screen pixel brightness already entails an implicit transform, so arguably there is no such thing as an unprocessed photo (that you can look at). Conversely the output of standard transforms applied to a raw Bayer sensor output might reasonably be called the "unprocessed image", since that is what the intended output of the measurement device is.
- Edman274 10mo agoWould you consider all food in existence to be "processed", because ultimately all food is chopped up by your teeth or broken down by your saliva and stomach acid? If some descriptor applies to every single member of a set, why use the descriptor at all? It carries no semantic value.
- eloisius 10mo agoThis whole post read like and in-depth response to people that claim things like “I don’t do any processing to my photos” or feel some kind of purist shame about doing so. It’s a weird chip some amateur photographers have on their shoulders, but even pros “process” their photos and have done so all the way back until the beginning of photography.
- seba_dos1 10mo agoYou do need to rescale the values as the first step, but not exactly the described way (you need to subtract the data pedestal in order to get linear values).
- akx 10mo agoIf someone's curious about those particular constants, they're the PAL Y' matrix coefficients: https://en.wikipedia.org/wiki/Y%E2%80%B2UV#SDTV_with_BT.470 https://en.wikipedia.org/wiki/Y%E2%80%B2UV#SDTV_with_BT.470
- skrebbel 10mo ago> The quantization formula ppmtopgm uses is g = .299 r + .587 g + .114 b. Seriously. We can trust linux man pages to use the same 1-letter variable name for 2 different things in a tiny formula, can't we?
- yencabulator 10mo agoYes, let's blame the documentation for a program from 1989 on a kernel from 1991.
- fragmede 10mo agoWell, we can't blame that on an LLM in any case
- bayindirh 10mo agoIn my copy the exact line is as follows: The quantization formula ppmtopgm uses is y = .299 r + .587 g + .114 b. so, it's either fixed, or it's a typo to begin with.