PHP-ImageMagick抠图

关于ImageMagick 抠图容差度的解释

fuzz 算法解释
Fuzz Distance and Transparent Colors

参考文章

参考的文章

根据两个rgb的颜色范围进行抠图

比如 一张背景为绿色的图片 使用颜色拾取器识别出要去掉绿色的主要rgb 在找出边缘绿色的rgb就好了

解释

$bgcolor 是你要去掉颜色的主要rgb的颜色 diff 的算法是 abs( 主要rgb颜色减去边缘rgb颜色)

代码

$input="xxxxx.jpg";
//待抠图文件路径
$ouput="xxxxx.png";
//存放路径
$bgcolor = 'rgb(r,g,b)';    #主要范围的颜色rgb          
//背景颜色。可使用十六进制色码和rgb(r,g,b)
$data = (round((sqrt((diff ^ 2 + diff ^ 2 + diff ^ 2))/ 3),2) * 10 );
$fuzz=$data.'%';  #相似度  也叫容差
exec("convert $input -fuzz $fuzz -transparent '$bgcolor' $ouput");

你可能感兴趣的:(PHP)