ImageMagick 错误地将一些图像显示为底片

ImageMagick 错误地将一些图像显示为底片

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

  1         2      3      4
  • 图片 1是 ImageMagick 显示的原始主文件display。它显示为负片,但不应该如此。使用其他工具显示时,这是正常的。
  • 图片 2是使用“convert main.jpg footer.jpg -append output.jpg”将图像 4 附加到图像 1 中。主要部分仍为负数,但页脚正常
  • 图片 3与以下文件相同图片 2,但与 Windows Preview 中显示的一样(除了 IM 之外,其他版本都一样display)。主图像正常,但页脚为负数。
  • 图片 4是所有实用程序中可自行正常显示的页脚文件。

我曾尝试做过:

convert main.jpg -negate footer.jpg  -append -negate output.jpg

但这使得页脚几乎完全变黑(但在 IM 中显示正确display!)。它还有一个缺点,就是它无法对本来就正确的图像执行正确的操作。

问题是我有一大批文件需要处理,其中一些文件没有出现此问题。使用identify -verbose,我发现一些有问题的文件似乎更有可能具有等于或接近图像几何尺寸的“分辨率”。具有高于或明显低于几何尺寸的“分辨率”的图像似乎不太可能出现此问题。

主图像均为 350x350 像素,页脚为 350x60。

identify -verbose其他与可能有显著差异的差异如下:

Image: NORMAL.jpg                      Image: NEGATIVE.jpg
  Format: JPEG                            Format: JPEG
  Class: DirectClass                      Class: DirectClass
  Geometry: 350x350+0+0                   Geometry: 350x350+0+0
  Resolution: 100x100                     Resolution: 338.66x338.66
  Print size: 3.5x3.5                     Print size: 1.03348x1.03348
  Units: Undefined                        Units: PixelsPerInch
  Type: TrueColor                         Type: ColorSeparation
  Endianess: Undefined                    Endianess: Undefined
  Colorspace: RGB                         Colorspace: CMYK
  Depth: 8-bit                            Depth: 8-bit
  Channel depth:                          Channel depth:
    red: 8-bit                              cyan: 8-bit
    green: 8-bit                            magenta: 8-bit
    blue: 8-bit                             yellow: 8-bit
                                            black: 8-bit

我已经尝试在 Linux 中使用 IM 6.5.1-0 和 6.6.8-3 以及在 Windows 中使用 6.5.2-5。

我如何才能可靠地诊断出导致这种情况的原因并自动纠正?如何才能将这些图像批量添加,而无需进行大量手动干预?

对于这些小片段我深感抱歉,但这些都是受版权保护的图片。

答案1

事实证明,问题出在色彩空间上。我通过将其从 CMYK 转换为 RGB 解决了该问题。

identify -verbose *.{jpg,JPG} |
    grep -E '^(Image:|[[:blank:]]+Colorspace: CMYK)'|
    grep -Po 'Image: \K.*' |
    xargs -I % convert % -colorspace RGB footer.jpg  -append combined/%

相关内容