Преобразовать VNFaceLandmarkRegion2D для обнаружения лиц Vision в координаты кадра для масштабирования - PullRequest
0 голосов
/ 20 февраля 2019

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

Пожалуйста, дайте мне знать, как преобразовать точки VNFaceLandmarkRegion2D в координаты кадра.Так что я могу получить местоположение для трансформации или предложить любой другой способ трансформации ориентира лица.

1 Ответ

0 голосов
/ 20 февраля 2019

Как новичок я смог найти метки лица в виде CGPoint:

  1. Сначала преобразовал выбранное изображение в CIImage
  2. Использовал FaceDetector на изображении
  3. Проанализировал изображение для каждого лица, если оно имеет более одного

Код:

let chosenPicture = CIImage(data: (self.selectedimage.image?.tiffRepresentation)!)
let selectedFace = faceDetector?.features(in: chosenPicture!, options: [CIDetectorSmile:true])
for person in selectedFace as! [CIFaceFeature] {
    let p1LeftEye = person.leftEyePosition
    let p1RightEye = person.rightEyePosition
    let p1Mouth = person.mouthPosition
...