我正在尝试使用 PHP 的 pecl 模块 Gmagick 创建一个脚本,以从图像中删除一些白色的背景。在命令行上,我对 imagemagick 使用以下两个命令:
convert source.jpg \( +clone -fx 'p{0,0}' \) \
-compose Difference -composite \
-modulate 100,0 -alpha off -threshold 10% source_mask.png
convert source.jpg source_mask.png \
-alpha Off -compose CopyOpacity -composite \
source_transparent.png
我已经能够采取最初的几个步骤:
$source_gm = new Gmagick();
$source_gm->readImage($source_path);
$white_gm = new Gmagick();
$white_gm->newImage($source_gm->getImageWidth(), $source_gm->getImageHeight(), 'white', 'png');
$mask_image = $source_gm->compositeImage($white_gm, Gmagick::COMPOSITE_DIFFERENCE, 0, 0);
$mask_image->modulateImage(100, 0, 0);
Gmagick 模块有某种常数,应该用于阈值Gmagick::COMPOSITE_THRESHOLD
。但是,没有关于如何使用它的提示。有人可以帮我解决门槛吗?
谢谢!