我已经设置了一个CIDetector,它在我尝试过的示例应用程序中工作得很好。但在我当前的项目中,功能数组始终为空。
我已经用AVFoundation创建了一个自定义摄像头。我需要在拍摄静态图像后检测人脸。
我遗漏了什么?当你第一次使用人脸检测时,有什么常见的问题吗?
代码如下:
var ciImage = CIImage(CGImage: capturedImage!.CGImage)
var ciDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil,
options: [CIDetectorAccuracy: CIDetectorAccuracyHigh])
var feautures = ciDetector.featuresInImage(ciImage)
for feautures: CIFaceFeature in (feautures as! [CIFaceFeature]) {
self.faceCount++
print("face detected")
}谢谢
发布于 2015-09-07 17:44:02
错误是您对集合和迭代项使用了相同的变量名("feautures")。而且,不需要将类型转换放在括号中,也不需要指定两次类型。
下面是一个工作版本:
let ciImage = CIImage(CGImage: capturedImage!.CGImage)
let ciDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: [CIDetectorAccuracy: CIDetectorAccuracyHigh])
let features = ciDetector.featuresInImage(ciImage)
for face in features as! [CIFaceFeature] {
self.faceCount++
print("face detected")
}https://stackoverflow.com/questions/32434706
复制相似问题