我只想展平图像的一部分。
以这张图片为例
它具有透明的背景,我想保留(而不是重新创建),并且电缆套管和机器之间也要透明(套管在机器顶部)。图像的所有其他透明部分(即机器本身中的 的透明度)应平坦化。
我已经看到了this问题,但是它仅处理不完全透明的像素,但是,我想将图像中所有不完全不透明的像素弄平。
我使用以下命令将整个图像展平:
convert -flatten input.png output.png
答案 0 :(得分:1)
我不太了解您要做什么,也许您可以添加另一张显示预期结果的图像?
与此同时,您可以将alpha /透明层提取到一个单独的图像中,以便像您的心脏内容那样播放:
convert input.png -alpha extract alpha.png
,然后使用类似的命令合并回图像(但我在此创建洋红色背景而不是使用原始图像):
convert -size 800x600 xc:magenta alpha.png -compose copyalpha -composite result.png
像这样用青色填充外部背景,以将其保留为临时颜色,我们稍后可以再次找到:
convert alpha.png -fill cyan -draw 'color 0,0 floodfill' a.png
现在将所有不是青色的东西都变成白色,然后将所有青色的东西都变成黑色:
convert a.png -fuzz 80% -fill white -opaque black -fuzz 5% -fill black -opaque cyan b.png