Imagemagick Convert -append 产生不正确的输出

Faz*_*ton 4 png imagemagick

我正在尝试将一系列图像拼接在一起。前几个似乎工作正常,但几次之后,会出现坏图像而不是指定的图像。这是前几张图片:

\n\n

pieces-0.png:\n在此输入图像描述\n pieces-1.png:\n在此输入图像描述\n pieces-2.png:\n在此输入图像描述\n pieces-3.png:\n在此输入图像描述

\n\n

我正在运行命令:

\n\n
convert pieces-0.png pieces-1.png pieces-2.png pieces-3.png -append pieces-all.png\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,pieces-all.png看起来像这样:

\n\n

在此输入图像描述

\n\n

I\xe2\x80\x99m 不确定灰色部分来自哪里,或者为什么橙色和粉色部分没有显示。一些教程和 ImageMagick 文档本身表明这应该可行。我究竟做错了什么?

\n

Iel*_*ton 5

首先,您需要像这样识别图像的色彩空间:

$ identify -verbose pieces-[0-3].png | grep Colorspace
Run Code Online (Sandbox Code Playgroud)

输出将类似于:

 Colorspace: Gray
 Colorspace: Gray
 Colorspace: sRGB
 Colorspace: sRGB
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您的前两个图像使用颜色空间“灰色”,然后 Imagemagick 在最终转换中设置为默认颜色空间。

最后,如果您希望在转换中使用颜色,请使用最后两个图像的色彩空间,最后命令:

$ convert pieces-[0-3].png -colorspace sRGB -append pieces-all.png
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述