When you now (in current versions of IM as of about IM 6.7.8.3) separate channels of an sRGB color image, they become linear grayscale rather than in the old days as nonlinear (sRGB) grayscale. To fix this now do something like
convert image -set colorspace RGB -separate separateimages_%d.png
or with any other colorspace conversion as well
convert image -set colorspace RGB -colorspace HSL hslseparateimages_%d.png
When combining
convert separateimages_*.png -combine -colorspace sRGB combined.png
or
convert hslseparateimages_*.png -set colorspace HSL -combine -colorspace sRGB hslcombined.png
The issue is to trick IM to treat the input color image as if it was already linear, so that IM does not convert to linear.
See
viewtopic.php?f=4&t=21269