我正在尝试使用批处理程序删除电子商务网站产品图片的背景。 问题是,该脚本还会删除产品内部的白色颜色,导致某些区域的产品变为透明。 例如: 命令: convert *.jpg -set filename: %t -fuzz 5% -transparent white %[filename:].png 这是我能得到的最好结果。我对产品周围的结果感到满意,但我需要确保产品内部的白色保持不透明。
您当前方法的问题在于它不尊重边界,它只是全局应用,使得所有白色像素透明,无论它们与背景的连通性如何。相反,您可以使用一个“泛洪填充”算法,仅填充到距离左上角像素模糊距离内的区域。因此,我选择了一个未使用的洋红色,以便您可以看到发生了什么: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