原始图片:
这需要实现。
砖图片:我有很多像下面的图像
我需要将此图像与颜色相乘" rgba(103,68,56,5)"并使中心白色部分透明。
我的方式:
转换mortar.png(-clone 0 -fill' rgba(103,68,56,5)' -colorize 100)-channel rgba -alpha on -compose Multiply -composite迫击炮.PNG
转换mortar.png -transparent' rgba(103,68,56,5)' mortar.png
我得到的结果是:
如果想要的图像如下图所示:只需看一下图像的内侧角线和白色区域上可以忽略的点。
我尝试过不同的模糊值,但是会使图像质量下降,并在彩色区域放置孔。
请右键单击图像并将其保存在您的位置,以查看完整图像的样子。
使用命令
添加模糊后的输出转换m.png -blur 0x.3(+ clone -fill' rgba(103,68,56,5)' -colorize 100)-channel rgba -alpha on -compose Multiply -composite -transparent' rgba(103,68,56,5)' out.png
期望的输出:
答案 0 :(得分:0)
更新了答案
我认为问题在于你的原始迫击炮图像已经在边界周围嘈杂。我将它带入Photoshop并放大了很多,你可以看到它周围有嘈杂的人工制品。
我只能想到模糊它们然后将它们设置为纯白色,因为有些嘈杂的位实际上也出现在你不希望它们透明的真实边框中。我正在考虑这些问题:
convert mortar.png -blur 0x3 -white-threshold 95% -transparent white \( +clone -fill 'rgb(103,68,56)' -colorize 100 \) -compose Multiply -composite out.png
不确定还有什么建议。
原始答案
我认为您可能会发现添加少量模糊以帮助边缘是有用的,并且还可以像这样一次性完成:
convert mortar.png -blur 0x.3 \( +clone -fill 'rgba(103,68,56,5)' -colorize 100 \) -channel rgba -alpha on -compose Multiply -composite -transparent 'rgba(103,68,56,5)' out.png