如何在命令行上使用ImageMagick制作三色图像?

如何在命令行上使用ImageMagick制作三色图像?,imagemagick,imagemagick-convert,Imagemagick,Imagemagick Convert,我需要将JPG转换为带有“convert”的三色PNG,允许黑色、白色和灰色(#808080) 每种接近黑色(#000000)的颜色都应转换为黑色,每种最接近灰色的颜色都应转换为黑色,每种接近白色的颜色都应转换为该颜色 后处理只完成一半的工作,因为,后处理后,灰度值可能会改变。我需要精确到#8080 有办法吗 您可以通过创建一个只包含您想要的三种颜色的贴图来实现,然后重新映射图像以仅使用这些颜色。这样做的命令看起来像这样 convert input.png +dither \ \( xc:

我需要将JPG转换为带有“convert”的三色PNG,允许黑色、白色和灰色(#808080)

每种接近黑色(#000000)的颜色都应转换为黑色,每种最接近灰色的颜色都应转换为黑色,每种接近白色的颜色都应转换为该颜色

后处理只完成一半的工作,因为,后处理后,灰度值可能会改变。我需要精确到#8080


有办法吗

您可以通过创建一个只包含您想要的三种颜色的贴图来实现,然后重新映射图像以仅使用这些颜色。这样做的命令看起来像这样

convert input.png +dither \
   \( xc:black xc:gray50 xc:white +append -write mpr:map +delete \) \
   -remap mpr:map -set colorspace RGB output.png
如果您使用的是Windows,则应将连续的反斜杠“\”改为插入符号“^”。此外,您不需要用反斜杠来转义括号

编辑以添加:我在输出之前添加了“-set colorspace RGB”,以确保结果是线性的,这将确保输出忠实于您在地图中指定的颜色