3

Is there a way to move all gray colors of a CMYK image (e.g. a CMYK .tiff) into the black (K) plate with ImageMagick?

(In Adobe Acrobat Pro, this functionality is labeled: "Promote grays to CMYK black")

Here's an image to experiment with: Example Image

You can view an example of this process on Wikipedia.

Kurt Pfeifle
  • 86,724
  • 23
  • 248
  • 345
cg433n
  • 729
  • 1
  • 6
  • 10
  • If you add an image to test on, I will try and work out an answer. – Mark Setchell Dec 11 '14 at 11:07
  • Thank you for updating your post. I have had a read and I presume you are referring to Gray Component Replacement (GCR) as detailed here... http://cmc.printing.org/how-color-separation-with-gcr-gives-you-more-consistent-color/ Before I do too much work, is that what you mean? Also, if GCR is what you seek, do you mean 100% GCR or say 50% as specified in the example? – Mark Setchell Dec 11 '14 at 15:48
  • Also, the image above is a JPEG in sRGB colorspace, not a CMYK TIFF. – Mark Setchell Dec 11 '14 at 15:49

2 Answers2

1

Also not a full answer as such, but hopefully useful towards producing one - by Kurt, myself or others. I looked at the Photoshop method of GCR and am adding the characteristic curves that Adobe seem to use for GCR. There are 5 levels, ranging from "None", through "Light", "Medium", "Heavy" and "Full".

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

I presume the "Light" curve is showing that no black ink is added into the mix till it would be over 50%, and the "Medium" shows the black would have to be only 25% before any gets added, and the "Heavy" shows that only 12-15% of black is needed before black ink gets added into the mixture.

I also add the following reference to assist any other answerers... see PDF here.

Mark Setchell
  • 191,897
  • 31
  • 273
  • 432
0

Taking into account that the provided example image is NOT a TIFF (as announced), and does NOT use a CMYK color space (as announced), but is a JPEG using sRGB, here is how you would convert it into a TIFF file using CMYK, where the black channel is used:

 convert                               \
    https://i.stack.imgur.com/HFnCz.jpg \
   -colorspace cmy                     \
   -colorspace cmyk                    \
    cmyk.tiff

To separate out the different colors again and show them as grayscale images each, use these commands:

 convert HFnCz.tiff -colorspace cmyk -channel c         -separate channel_c.png
 convert HFnCz.tiff -colorspace cmyk -channel m         -separate channel_m.png
 convert HFnCz.tiff -colorspace cmyk -channel y         -separate channel_y.png
 convert HFnCz.tiff -colorspace cmyk -channel k -negate -separate channel_k.png

I did output to PNG in order to keep the file size a bit smaller...

Here are the 4 color separations. Top left is C, top right is M, bottom left is Y, bottom right is K:

Top left is Cyan, top right is Magenta, bottom left is Yellow, bottom right is blacK

Update

I made a mistake in my original answer. The -negate command parameter should only be there for the blacK channel.

Kurt Pfeifle
  • 86,724
  • 23
  • 248
  • 345
  • Hello Kurt. Do you believe this to fully answer the OP's request to "move all grays to the black plate"? Or are you suggesting this is a starting point for further processing? – Mark Setchell Dec 11 '14 at 22:51
  • This may only be a starting point for further *discussion*. Because to '***move***' all grays is not possible, when there are no grays in the original (which is RGB) in the first place! What you can do is '***convert***' for each pixel, equal amounts of R, G and B values to respective values of K (either fully, or a certain amount...). – Kurt Pfeifle Dec 11 '14 at 23:23
  • Good! We are on the same page :-) – Mark Setchell Dec 12 '14 at 09:34