VNFaceLandmarkRegion2D积分的弃用

时间:2017-08-08 13:24:56

标签: face-recognition ios11 vision

我已经安装了Xcode beta 5.现在我有一个与Vision框架和Uncaught TypeError: jQuery(...).jqGrid is not a function at HTMLTableElement.serializeCellData (cam.php:224) at HTMLTableElement.serializeFeedback (jquery.jqGrid.src.js:2278) at HTMLTableElement.<anonymous> (jquery.jqGrid.src.js:8478) at Function.each (jquery.min.js:2) at n.fn.init.each (jquery.min.js:2) at n.fn.init.saveCell (jquery.jqGrid.src.js:8403) at n.fn.init.$.fn.jqGrid (jquery.jqGrid.src.js:2643) at HTMLSelectElement.<anonymous> (jquery.jqGrid.src.js:8368) at HTMLSelectElement.dispatch (jquery.min.js:3) at HTMLSelectElement.r.handle (jquery.min.js:3)对象有关的警告,特别是:

  

'point(at :)'在iOS 11.0中已弃用

关于文档VNFaceLandmarkRegion2Dpoint(at:)已在iOS 11中引入和弃用。无论如何,现在我可以获得面部标志点吗?

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:2)

您可以尝试替代点(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))
            }
        }
    }