关于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");