弃用 VNFaceLandmarkRegion2D 的点

Deprecation of VNFaceLandmarkRegion2D's points

我已经安装了 Xcode beta 5。现在我有一个与 Vision 框架和 VNFaceLandmarkRegion2D 对象相关的警告,特别是:

'point(at:)' was deprecated in iOS 11.0

关于文档 point(at:)points 是在 iOS 中引入和弃用的 11. 不管怎样,现在我可以得到人脸标志点了吗?

在上次 Xcode 更新中 VNFaceLandmarkRegion2D 已更改。现在不需要将 x 和 y 转换为 CGPoint 对象。 VNFaceLandmarkRegion2DnormalizedPoints,一个 CGPoint 的数组。

您可以像这样尝试替代点数 (at:):

if let landmark = face.landmarks?.leftEye {
        for i in 0...landmark.pointCount - 1 { // last point is 0,0
            let point = landmark.normalizedPoints[i]
            if i == 0 {
                context?.move(to: CGPoint(x: x + CGFloat(point.x) * w, y: y + CGFloat(point.y) * h))
            } else {
                context?.addLine(to: CGPoint(x: x + CGFloat(point.x) * w, y: y + CGFloat(point.y) * h))
            }
        }
    }