См. RGB в HSV в PHP
Взятие только битов насыщенности из этого кода и преобразование в процент:
function saturation($R, $G, $B) { // 0-255
$Min = min($R, $G, $B);
$Max = max($R, $G, $B);
return $Max == 0 ? 0 : (($Max - $Min) / $Max) * 100;
}
В качестве альтернативы вы можете использовать исходный код по ссылке выше - значения HSV, которые он возвращает, находятся между 0,0 и 1,0, поэтому вам просто нужно умножить значение насыщенности на 100, чтобы получить свой процент.