我在.jpg format
中有white background color
的图像。我想在Imagemagick
中将白色背景颜色删除为透明。我尝试了很多方法,但仍然无法删除白色背景。有人可以帮我解决这个问题。
答案 0 :(得分:52)
您的JPEG中无法使用透明背景颜色。 JPEG文件格式不支持透明度。
如果您需要透明背景,则需要将JPEG转换为
示例命令:
convert your.jpg -transparent white your.png
答案 1 :(得分:38)
首先,您需要将图像格式从.jpg
转换为.png
格式,因为JPEG不支持透明度。然后使用此命令:
convert image1.png -fuzz 20% -transparent white result.png
-fuzz
选项允许将纯白色的指定百分比偏差转换为透明。这很有用,例如,当您的图像包含噪点或细微渐变时。
答案 2 :(得分:8)
我刚刚找到了一件非常整洁的东西!
magicwand 1,1 -t 20 -f image -r outside -m overlay -o 0 image.jpg imgOutput.png
这是一个Fred Weinhaus bash脚本,可以从here下载(仅限非商业用途)。还有大约250个脚本!!而且这个太棒了!它确实完成了诀窍,删除所有背景,同时保持内部图像点不受影响!
在他的页面上,有几个图像作为示例,因此您可以选择需要放在命令行上的内容!
初始位置1,1
是一般猜测,所有轮廓都是背景。
注意输出必须是" .png"
答案 3 :(得分:2)
这是我没有魔术棒的解决方案(magick
替换convert
以获取im< 7.0):
magick img.png -fuzz 20% -fill none -draw "alpha 1x1 floodfill" result.png