Code: Select all
convert rose: -colorspace RGB -separate +append show:
convert rose: -colorspace sRGB -separate +append show:
If I understand correctly, the images from "-separate" are greyscale, so IM applies the usual rule of converting them (if necessary) to RGB.
"rose:" is sRGB. The first command converts it to RGB, then separates the channels. As the channels are already RGB, "-separate" does no conversion.
Yes to grayscale... No to conversion... The purpose of -seperate is to seperate the channels as seperate images, NOT convert the values.
If the image is sRGB, the grayscale images will be sRGB values even though the grayscale itself is meant to be 'linear-gray'.
The same goes with the reverse -combine. It merges the channel values without any changes to those values (the colorspace to set for the resulting image is a different matter).
fmw42 wrote:-separate converts each sRGB channel to linear grayscale.
YES it should convert each channel to linear-greyscale, but without any change to the input channel values. The resulting greyscale images may be regarded as linear-gray, but really it is just a greyscale image storing sRGB channel values, and the colorspace is not a consideration. The values should remain unchanged, not get distorted just because the colorspace is not linear.
Take seperating a Lab colorspace image.. -separate should get geryscale images of L, A, and B channels as is... the L channel should not be converted to a linear Intensity, it should remain a unadulterated Luma channel. The same should be for sRGB images
the values should remain, unchanged.
The actual working problem is an attempt to resize in a special DIY colorspace (LAB with a linear intensity instead of 'L') I am having major problems with channel extractions.