Thatās exactly the spirit yes. Thatās why GāMIC also works with images that doesnāt represent ācolorsā at all. Feed it with e.g. MRI datasets where each pixel/voxel value represents a response to a magnetic field, and it will work the same. Do it with X-Ray images, satellite images, and so onā¦ it will work the same. You will be able to perform blur, convolution, sharpening, and all usual image processing operators on those images. The user has to know what kind of data he gives to the tool.
At the end, this means the tool is generic, thatās the point.
This also means you cannot say things like : āI donāt use GāMIC because I donāt know what kind of data is expected as inputā. This is a nonsense, from a GāMIC perspective.
The reality is color images represent a very small planet in the whole image processing universe. Iām aware we are on a photography forum, so we mainly talk about RGB images here, but image processing algorithms are just mathematically defined, they mostly donāt give a shit about colors.
Of course, we should take care of applying the algorithms in the more accurate color representation, when algorithms are applied on images. But in general, no need to be āexactā, close is enough. LinearRGB is known to be more adapted for doing color averaging, but that is only because it is more close to how we, human perceive the averaging of colors. All the examples illustrated by @Elle are well known, but try with a slightly different transformation, like using a gamma of 2.2 instead of 2.4. Iām 100% sure you wonāt see the difference, as long as the inverse transformation is also well defined.
Anyway, at the end people do not perceive colors the same.
Thus, I think people shouldnāt be obsessed by numbers when representing colors. Taking care of the 2th digit after the decimal point is definitely useless when talking about a color transformation.
Most of the time, it is more than sufficient to know that :
- RGB colors in usual file formats (
JPEG
,PNG
, ā¦) are encoded in sRGB. - Doing a āroughā sRGB->LinearRGB transform is a good idea to make usual color arithmetic more close to our visual perception (or sometimes use the Lab color space instead).
- Do the LinearRGB->sRGB transform at the end, to store the result back in a file.
The conversion formula is finally of little importance. Just be close enough and youāre good.
Iāve met a lot of people whose job is to design image processing algorithms (thatās also my job), and they all do that, roughly. I think I have to say it again: itās more than sufficient for most of the real cases. I donāt believe in statements like āthis color representation is not exact to be able to process the image with this algorithmā. Sounds more like the delirium of a maniac to me
Something close enough to how our perception works is enough.
The effect of the 5th digit after the decimal point is ridiculously negligible compared to the kind of operations a smart image processing algorithm performs.
Good night