Almost all image formats requires sRGB. Only DPX, EXR (float TIFF and some rare others) not use sRGB - one use Log and others can handle any colors without any colorspace at all.
For example all JPEG files we shot by photo has sRGB, any image on any web site and anything that designed to be shown on a common monitor has sRGB. If it was not so we all will see banding anywhere.
Our human eye
http://www.telescope-optics.net/eye_int ... sponse.htm is about Log colorspace, and we can't see 256 intensity levels without banding. To smooth gradient monitors use gamma 2.2 ( and any tv-set)
- this came long ago from CRT devices that has about gamma 2.2 function between voltage and result luminance - this occasional historical reason help us not to see banding by Log eye when we split intensity on 256 levels when we came into the digital age.
Now TFT (and all not CRT) devices repeats that CRT gamma 2.2 specially for humans not to see banding.
So, do you understand that we can't store an image with no colorspace and just 256 intensity levels for a human eye?
You can open any graphics redactor (Gimp for example), make 3 colors: (0,0,0) (127,127,127) and (255,255,255) and you will see by eye that gray (127) is much closer to 255 and do not have middle intensity.
- i just draw a gradient in a Gimp, in the middle was 127, but eye see that gradient is not linear and shifted to white. Only when i applied levels and set gamma to .4545 (1/2.2) i see a linear gradient (middle intensity in the middle of the gradient) and a banding, of course.
So when you save a Linear image to tga (jpeg,png,any not float or log), you loose information in shadows. Images that operates all common people are sRGB, most people does not know about it - and there is no need to know it for most common image operations. But who knows prefer to perform operations in a linear colorspace (without sRGB colorspace). You should not be a professional to notice how defocus and motion blur works in linear and sRGB colorspaces when highlights and shadows are near - in linear it is much more natural ( so does any operation that mix high and low intensity colors together ).
There is lots of explanations on this theme in inet.
- i just searched an internet (but haven't read

)
http://www.w3.org/Graphics/Color/sRGB.html
http://www.comp-fu.com/2012/03/linear-g ... on-part-2/
http://www.comp-fu.com/wp-content/uploa ... mation.gif
http://en.wikipedia.org/wiki/SRGB
Most common people shoot a photo (sRGB) open it in a gimp, photoshop or any other soft that does not change colorspace (sRGB), perform levels, crop, and save an image (in a common sRGB format). It seems that the same workflow in imagemagick too. And this is normal when everywhere is sRGB ( and you are not defocus gourmand ).
Professional soft opens an image and immediately translate it from some colorspace (from Log or sRGB) to a physical intensity values (linear colorscpace) - the exception is EXR that has natural colors already. Show user a viewer with sRGB LUT. Perform operations with a physically correct color values (defocus gourmands are very glad here), than on save it applies colorspace back (if format is not EXR) - log for DPX and sRGB for others.
But in this case soft must have floating point internal engine - or it loose colors.
If imagemagick engine operates with integers and does not have floating point math, it can (professional color correction gourmands use other soft, usually designed for a special hardware). But you should know, that you always operate in sRGB colorspace.
I hope it is helpful for you

and sorry if you does not need any lessons )
Back to our concrete images and commands:
Code: Select all
convert -verbose -version some_film.exr -colorspace sRGB some_film.exr.tga
- works!
Unless an image format specification requires sRGB, such as PNG, we write the format in the colorspace of the source image. So a linear EXR RGB images is written as linear RGB to TGA, for example. We leave it to the user to decide which colorspace to save the image
- i think this is right, colorspace should be kept with no change, if user does not manually specify it for an input and\or output image.
If the TGA specification requires sRGB as its colorspace, let us know and we can add a patch to ImageMagick to automagically convert linear RGB to sRGB before we write the image.
- yes tga and all other common formats (not floating point) reqires sRGB, and there should be a conversion if colorspace is not sRGB.
And now there is some mess with the different ways we convert Log to sRGB and Linear to sRGB.
ps
professional photographers ( and lots of people that just think so

) prefer to operate raw camera formats too - the same reason ( or they just heard that something should be better

)
pps
photoshop and gimp has an integer color math and it is more than enough for lots of people that use them for profession reasons