具有 alpha 透明度的 ImageMagick kmeans

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

我想将 kmeans 应用于带有 alpha mask 的图像。它应该只适用于可见的颜色。我希望能单线完成。起始图片:

天真地应用 kmeans(哎呀,全是一种颜色):

convert SpaceshipTransparency.png -kmeans 12x20 KmeansOnly.png

实验。遍历所有 alpha 选择。

-alpha remove
似乎可以工作,但它有白色背景?需要删除这个,我在 ImageMagick 文档上找到了一个三步过程,通过输出蒙版作为中间步骤:

convert SpaceshipTransparency.png -alpha Remove -kmeans 12x20 AlphaRemove.png
convert SpaceshipTransparency.png -alpha extract mask.png
convert AlphaRemove.png mask.png -alpha Off -compose CopyOpacity -composite ThreeStepProcess.png

imagemagick imagemagick-convert
1个回答
0
投票

您可以使用 Imagemagick 中的括号处理内存中 (MPR:) 图像通过链接来组合命令。

尝试:

convert SpaceshipTransparency.png -write mpr:img +delete \
\( mpr:img -alpha Remove -kmeans 12x20 \) \
\( mpr:img -alpha extract \) \
-alpha Off -compose CopyOpacity -composite OneStepProcess.png
© www.soinside.com 2019 - 2024. All rights reserved.