我正在尝试使用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。但是,没有关于如何使用它的提示。有没有人能帮我弄一下门槛?
谢谢!
发布于 2012-04-19 21:15:42
我发现thresholdImage函数在gmagick中还不可用。这个特性已经implemented in SVN了,但还没有发布。
https://stackoverflow.com/questions/10182425
复制相似问题