I am making a live camera app for Mac OSX . I am using swift 5 , target OSX is Mac OS Catalina. I am using Vision framework for face detection but face detection frame(Green colour) is not showing correctly. It detects the face but frame coordinate is not correct.
private func handleFaceDetectionResults(_ observedFaces: [VNFaceObservation]) {
self.clearDrawings()
let facesBoundingBoxes: [CAShapeLayer] = observedFaces.flatMap({ (observedFace: VNFaceObservation) -> [CAShapeLayer] in
let faceBoundingBoxOnScreen = self.previewLayer.layerRectConverted(fromMetadataOutputRect: observedFace.boundingBox)
let faceBoundingBoxPath = CGPath(rect: faceBoundingBoxOnScreen, transform: nil)
let faceBoundingBoxShape = CAShapeLayer()
faceBoundingBoxShape.path = faceBoundingBoxPath
faceBoundingBoxShape.fillColor = NSColor.clear.cgColor
faceBoundingBoxShape.strokeColor = NSColor.green.cgColor
var newDrawings = [CAShapeLayer]()
newDrawings.append(faceBoundingBoxShape)
return newDrawings
})
facesBoundingBoxes.forEach({ faceBoundingBox in self.view.layer?.addSublayer(faceBoundingBox) })
self.drawings = facesBoundingBoxes
}
Please suggest to set green frame in face.