0

PHPのpeclモジュールGmagickを使用してスクリプトを作成し、画像からやや白い背景を削除しようとしています。コマンドラインで、imagemagickに対して次の2つのコマンドを使用します。

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。ただし、使用方法についてのヒントはありません。誰かがしきい値を手伝ってくれますか?

ありがとう!

4

1 に答える 1

0

私はthresholdImage関数がgmagickでまだ利用できないことを知りました。この機能はSVNに実装されていますが、まだリリースされていません。

于 2012-04-19T13:15:41.580 に答える