Я использую AWS Rekognition для обнаружения лиц на изображении.Когда лицо обнаружено, оно выводит информацию о связанном прямоугольнике, чтобы вы могли использовать его для рисования на изображении.Тем не менее, это left, top, height и width, а числа представляют собой десятичные числа с плавающей запятой.
Вот пример вывода:
{ "BoundingBox": { "Width": 0.06649632751941680908203125, "Height": 0.102198123931884765625, "Left": 0.52286112308502197265625, "Top": 0.2651510536670684814453125 }
И нарисовать прямоугольники на изображенииЯ делаю это:
list($width, $height, $type, $attr) = getimagesize($destinationPath . $im . '.png');
$white = imagecolorallocate($im, 255, 255, 255);
imagerectangle($im, $result['FaceDetails']['0']['BoundingBox']['Top'] * $width, $result['FaceDetails']['0']['BoundingBox']['Left'] * $height, $result['FaceDetails']['0']['BoundingBox']['Height'] * $width, $result['FaceDetails']['0']['BoundingBox']['Width'] * $height, $white);
imagepng($im, $destinationPath . $im . '.png', 9);
Однако поле никогда не совпадает с лицом.Есть ли более простой способ преобразовать эти переменные или рассчитать их?Я искал повсюду и мог действительно использовать некоторые указания.