我正在IOS上使用
这张脸很大很明显,但是
我将其设置为5,只是因为一个在线教程的例子。 然而,我处理的图像是用户上传的,所以我事先不知道脸部的方向。 有没有办法尝试所有方向? 在图像事先不确定的情况下,实现
以下是我的代码:
CoreImage
来检测图像中的人脸。当有多张人脸时它能正常工作,但对于像这样简单的脸部却无法检测出来:![enter image description here](https://istack.dev59.com/UNesI.webp)
CoreImage
检测不到。
我认为可能是因为我的kCGImagePropertyOrientation
有问题。我将其设置为5,只是因为一个在线教程的例子。 然而,我处理的图像是用户上传的,所以我事先不知道脸部的方向。 有没有办法尝试所有方向? 在图像事先不确定的情况下,实现
CoreImage
人脸检测的正确方法是什么?以下是我的代码:
var imageOptions = Dictionary<String,Any>()
imageOptions[CIDetectorImageOrientation] = 5
imageOptions[CIDetectorSmile] = true
let image = CIImage(cgImage: imageView.image!.cgImage!)
let accuracy = [CIDetectorAccuracy: CIDetectorAccuracyHigh]
let faceDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: accuracy)
let faces = faceDetector?.features(in: image, options: imageOptions as? [String : AnyObject])