各方位的IOS CoreImage面部检测

时间:2017-07-21 22:27:09

标签: ios core-image

我在IOS上使用CoreImage来检测图像中的面部。当有多个面时,它可以正常工作,但对于像这样的简单面部不起作用:

enter image description here

脸部非常明显,但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])

1 个答案:

答案 0 :(得分:3)

你可以这样做

data-error=@Html.ValidationMessageFor(m => m.FirstName)