当前,我有成千上万张图片,我想摆脱对象周围的空白,而不是对象内部的空白。但是,空白不是恒定的。参见下面的图片。
图片1:
图片2:
图片3:
这样的选项不起作用,因为它们会删除图像中的所有空白
convert image.png -fuzz 10% -transparent white output.png
有什么建议吗?
答案 0 :(得分:1)
摆脱空白是什么意思?如果要使其透明,则在ImageMagick 6中,可以使用mogrify命令如下处理整个图像文件夹:
此过程涉及用白色的1个像素边框填充图像,以确保白色无处不在。然后进行模糊的洪水填充。然后将多余的一个像素全部删除。我假设背景色几乎是白色的。根据需要更改模糊值。
Create a new directory to hold the output (or backup your input directory)
Change directory to the one holding your input images
mogrify -path path_to/outdirectory -format png -bordercolor white -border 1 -fuzz 20% -fill none -draw "matte 0,0 floodfill" -shave 1x1 *.png
这是生成的图像。
当然,您必须下载它们以确保它们透明。
请注意,我下载的图像是JPG。因此,如果您的图像是jpg而不是命令中的png,则将* .png更改为* .jpg。或者只是使用*更改所有格式。
请参阅 https://imagemagick.org/Usage/basics/#mogrify https://imagemagick.org/Usage/draw/#matte
如果使用ImageMagick 7,则将遮罩更改为alpha,然后将mogrify更改为magick mogrify。