【发布时间】:2018-02-22 22:28:03
【问题描述】:
我使用以下代码从图像中检测人脸。
let userDirectory = FileManager.default.homeDirectoryForCurrentUser
let desktopDirectory = userDirectory.appendingPathComponent("Desktop")
let pictureUrl = desktopDirectory.appendingPathComponent("test").appendingPathExtension("jpg")
let image = CIImage(contentsOf: pictureUrl)
let faceDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: [CIDetectorAccuracy: CIDetectorAccuracyHigh])
let faces = faceDetector?.features(in: image!) as! [CIFaceFeature]
print("Number of faces: \(faces.count)")
如何检测人脸并将其保存到 NSImage?
【问题讨论】:
-
所以,
CIFeature有一个bounds属性,它定义了找到的边界矩形。所以问题变成了“你如何复制图像的一部分”? this question 可能会对此有所启发(我个人喜欢投票最多的答案),然后您可以查看 How to save a UIImage to a file using UIImagePNGRepresentation -
OSX 没有 UIwhatever。他还需要从 NSImage 转换为 CIImage 再转换回 NSImage