Image processing 是否使用ImageMagick删除白色背景,但不删除白色内部图片?

Image processing 是否使用ImageMagick删除白色背景,但不删除白色内部图片?,image-processing,imagemagick,imagemagick-convert,Image Processing,Imagemagick,Imagemagick Convert,我正在尝试删除一个电子商务网站的产品图片中的背景 问题是,脚本还删除了产品内部的白色,使产品在某些区域保持透明 例如: 命令: convert *.jpg -set filename: %t -fuzz 5% -transparent white %[filename:].png 这是我能得到的最好的结果。我对产品周围的这个结果很满意,但我需要产品内部的白色保持白色和不透明 当前方法的问题在于它不尊重边界,只是全局应用,使所有白色像素透明,而不管它们与背景的连接如何 相反,使用“泛光填充”

我正在尝试删除一个电子商务网站的产品图片中的背景

问题是,脚本还删除了产品内部的白色,使产品在某些区域保持透明

例如:

命令:

convert *.jpg  -set filename: %t -fuzz 5% -transparent white %[filename:].png
这是我能得到的最好的结果。我对产品周围的这个结果很满意,但我需要产品内部的白色保持白色和不透明


当前方法的问题在于它不尊重边界,只是全局应用,使所有白色像素透明,而不管它们与背景的连接如何

相反,使用“泛光填充”(floodfill)可以更好地填充位于左上角像素模糊距离内的区域

因此,我选择了一种未使用的品红颜色,以便您可以看到发生了什么:

convert product.jpg -fuzz 5% -fill magenta -draw 'color 0,0 floodfill' result.png

然后,您可以使用命令使洋红透明,如下所示:

convert product.jpg -fuzz 5% -fill magenta -draw 'color 0,0 floodfill' -transparent magenta result.png

效果很好,但我有一些产品的左侧与右侧没有连接。因此它仍然是白色的。。。在右上角我怎么做?我尝试将0,0修改为200200或200,0,但没有work@JonTargaryen您可以在图像周围添加边框,使泛洪填充可以一路流动。看看这里