Как преобразовать нормализованные точки, полученные из VNFaceLandmarkRegion2D

Я пытаюсь определить ориентиры лица, используя VNDetectFaceLandmarksRequest, который дает мне массив VNFaceObservation, который предоставляет мне нормализованные точки для ориентира, но эти нормализованные точки имеют систему координат изображения, снятого с помощью камеры, я хочу преобразовать каждую точку в систему координат экрана.

Как я могу это сделать?

1 ответ

Решение

Vision ничего не знает о системе координат экрана, потому что Vision ничего не отображает на экране. Это не так сложно, если у вас есть пиксельные координаты относительно изображения.

Чтобы получить точки из нормализованного пространства лица в пространство пикселей изображения, используйте VNImagePointForFaceLandmarkPoint функция (чьи документы говорят вам точно, где получить значения для каждого параметра при работе с VNFaceObservation).

Чтобы найти соответствующую точку экрана для точки на изображении, вам нужно выполнить некоторые преобразования координат, связанные с тем, как вы представляете изображение на экране. Некоторые примеры этого можно найти в проектах примеров кода в документах Apple Vision.

Другие вопросы по тегам