Ghostscript tiffsep创建在ImageMagick显示中反转的CMYK图像?

时间:2017-04-10 11:08:41

标签: imagemagick ghostscript

不知道该怎么做 - 但是假设我们使用这个PDF文件:https://stlab.adobe.com/wiki/index.php/File:Test.pdf,我想使用Ghostscript的tiffsep设备获取分色:

cd /tmp
wget https://stlab.adobe.com/wiki/images/d/d3/Test.pdf
ghostscript -q -sDEVICE=tiffsep -dNOPAUSE -dBATCH -dSAFER -r72x72 -sOutputFile=testseps.tif -dFirstPage=1 -dLastPage=1 Test.pdf
eog testseps.tif & display testseps.tif

这会生成五个文件:testseps(Black).tiftestseps(Cyan).tiftestseps(Magenta).tiftestseps.tiftestseps(Yellow).tif。我在Gnome之眼(testseps.tif)和ImageMagick的eog中打开全彩输出(display),这就是我得到的(Ubuntu 14.04,MATE桌面,ghostscript 9.10) ,ImageMagick 6.7.7-10 2017-03-14 Q16):

Screenshot.png

即,ImageMagick的display(左)显示此文件的颜色反转,而Eye of Gnome(右)显示正确的文件相同?!

那么如何在display和Eye of Gnome中正确显示这个CMYK tiff?我可以用ImageMagick的convert以某种方式转换它,命令行是什么?我已经尝试了类似的东西:

convert testseps.tif -colorspace CMYK -alpha off -define quantum:polarity=min-is-white -colorspace CMYK testseps2.tif

...并且该文件再次显示同样的问题。

编辑:此外,如果我尝试使用convert

组合各个分色
convert \
testseps\(Cyan\).tif \
testseps\(Magenta\).tif \
testseps\(Yellow\).tif \
testseps\(Black\).tif \
-set colorspace CMYK \
-profile /usr/share/ghostscript/9.10/iccprofiles/default_cmyk.icc 
-combine 
combined.tif

...然后combined.tif在ImageMagick display中正确显示 - 但在Gnome之眼中显示为完全黑色!如果我在-negate之后添加-combine切换,那么我将返回上一个状态(display显示倒置,eog显示正确)

EDIT2:尝试使用服务http://www.rgb2cmyk.org/,以获取此处发布的RGB屏幕截图的CMYK tif,并且还显示相同的错误:它在display中被反转,并且显示正确在侏儒之眼。

仅供参考,以下是testseps.tif的一些信息:

$ tiffinfo testseps.tif 
TIFF Directory at offset 0x8 (8)
  Subfile Type: multi-page document (2 = 0x2)
  Image Width: 612 Image Length: 792
  Resolution: 72, 72 pixels/inch
  Bits/Sample: 8
  Compression Scheme: LZW
  Photometric Interpretation: separated
  FillOrder: msb-to-lsb
  Orientation: row 0 top, col 0 lhs
  Samples/Pixel: 4
  Rows/Strip: 428
  Planar Configuration: single image plane
  Page Number: 0-0
  Software: GPL Ghostscript 9.10
  DateTime: 2017:04:10 12:53:45
  ICC Profile: <present>, 56412 bytes
$ identify -verbose testseps.tif 
Image: testseps.tif
  Format: TIFF (Tagged Image File Format)
  Class: DirectClass
  Geometry: 612x792+0+0
  Resolution: 72x72
  Print size: 8.5x11
  Units: PixelsPerInch
  Type: ColorSeparation
  Endianess: MSB
  Colorspace: CMYK
  Depth: 8-bit
  Channel depth:
    cyan: 8-bit
    magenta: 8-bit
    yellow: 8-bit
    black: 8-bit
  Channel statistics:
    Cyan:
      min: 0 (0)
      max: 235 (0.921569)
      mean: 5.93515 (0.0232751)
      standard deviation: 33.3466 (0.130771)
      kurtosis: 28.8423
      skewness: 5.53334
    Magenta:
      min: 0 (0)
      max: 245 (0.960784)
      mean: 2.7823 (0.010911)
      standard deviation: 18.73 (0.0734511)
      kurtosis: 68.8725
      skewness: 8.12072
    Yellow:
      min: 0 (0)
      max: 255 (1)
      mean: 5.04176 (0.0197716)
      standard deviation: 30.8529 (0.120992)
      kurtosis: 34.9211
      skewness: 6.05297
    Black:
      min: 0 (0)
      max: 226 (0.886275)
      mean: 1.06569 (0.00417917)
      standard deviation: 13.7509 (0.0539252)
      kurtosis: 227.454
      skewness: 15.0002
  Image statistics:
    Overall:
      min: 0 (0)
      max: 255 (1)
      mean: 3.70622 (0.0145342)
      standard deviation: 25.5137 (0.100054)
      kurtosis: 51.8946
      skewness: 7.28691
  Total ink density: 298%
  Rendering intent: Undefined
  Gamma: 1
  Interlace: None
  Background color: cmyk(255,255,255,0)
  Border color: cmyk(223,223,223,0)
  Matte color: cmyk(189,189,189,0)
  Transparent color: cmyk(0,0,0,0)
  Compose: Over
  Page geometry: 612x792+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: LZW
  Orientation: TopLeft
  Properties:
    date:create: 2017-04-10T12:53:45+02:00
    date:modify: 2017-04-10T12:53:45+02:00
    signature: 1ad1532f697fa72492fe994d79f1b67d617a34cd927f31b41e6a12214b9bc49e
    tiff:endian: lsb
    tiff:photometric: separated
    tiff:rows-per-strip: 428
    tiff:software: GPL Ghostscript 9.10
    tiff:timestamp: 2017:04:10 12:53:45
  Profiles:
    Profile-icc: 187484 bytes
      Description: Artifex CMYK SWOP Profile
      Manufacturer: Artifex CMYK SWOP Profile
      Model: Artifex CMYK SWOP Profile
      Copyright: Copyright Artifex Software 2011
  Artifacts:
    filename: testseps.tif
    verbose: true
  Tainted: True
  Filesize: 220KB
  Number pixels: 485K
  Pixels per second: 24.24MB
  User time: 0.020u
  Elapsed time: 0:01.019
  Version: ImageMagick 6.7.7-10 2017-03-14 Q16 http://www.imagemagick.org

1 个答案:

答案 0 :(得分:1)

我怀疑这里没有实际的错误,当然也不是Ghostscript。问题在于对0的解释。

您的显示器无法显示CMYK墨水,因此需要将文件中的CMYK转换为RGB进行显示。现在对于RGB,当R = G = B = 0时,结果是黑色,当R = G = B = 1(对于8位显示为0r 255)时,结果为白色。

RGB是一种加色模型,相比之下,CMYK是一种减色模型;当你放下多种墨水时,你实际上是从p; age反射的光中减去,而不是RGB,你可以在其中添加光来获得颜色。

所以当你得到C = M = Y = K = 0时,这究竟意味着什么?一般惯例是它意味着白色,因为人们通常在白色媒体上打印。当然,如果您的纸张是绿色的,那么打印CMYK = 0的结果将不是“白色”,它将是绿色。

可以理解(如果非常规)代表CMYK中缺少着色剂,因为RGB中没有着色剂。所以CMYK = 0 - &gt; RGB = 0,结果为黑色。

传统上,我们希望CMYK = 0为白色。

我不是ImageMagick的专家,但我怀疑是发生了什么,它正在进行CMYK-> RGB转换,只是将CMYK = 0映射到RGB = 0,所以你变黑了。假设使用convert来组合分色的输出是一个CMYK文件,你可以查看光栅的前几个字节,看看IM是如何写CMYK = 0的。你会得到00 00 00 00或者你会得到别的东西。您可能还想查看PhotmetricInterpretation TIFF标签,看看它在2种情况下的设置。

无论如何,如果它在解释photmetricitry方面存在差异,那么我认为它不可能获得一个在两个应用程序上都能正常工作的文件。有人认为CMYK = 0是黑色,另一个认为是白色。