如何将特定颜色范围减少为单一颜色?

问题描述 投票:0回答:1

我正在使用

-kmeans
将一些图像从真正的 RGB 减少到 256 色,以便在虚幻引擎 1 中使用。为了使这些纹理具有透明度,我需要使用洋红色遮罩颜色 (
#ff00ff
)。

问题是我要转换的图像是抗锯齿的,因此它们包含真正的洋红色和其他颜色之间的步骤,导致遮罩区域周围出现粉红色像素。我无法更改源图像来防止这种抗锯齿。

我的想法是将一系列洋红色的颜色减少为真正的洋红色。 (示例)我该怎么做?

这是我到目前为止的命令。我还需要将洋红色作为索引中的第一种颜色,这样做可以做到这一点,但它会显着恶化输出的质量:

magick "$PNG_FILE" -define kmeans:seed-colors="#ff00ff" -kmeans 255 "$PCX_FILE"
image-processing imagemagick k-means antialiasing
1个回答
0
投票

实际上,这种方法是不可行的,因为它最终可能会瞄准非预期的像素。更好的方法是将蒙版隔离在单独的文件中,其中只有蒙版和透明背景,使用

-kmeans 2
删除抗锯齿,然后使用
composite

将该图像叠加到基础纹理上
© www.soinside.com 2019 - 2024. All rights reserved.