1

我正在尝试用相机拍照,然后检测其中的面孔。但它不起作用......results数组返回的计数为零。我已经用互联网上某人的照片测试了这段代码,它返回了一张找到的脸。这是我的代码:

// MARK: - UIImagePickerControllerDelegate Methods
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
        Idea.CurrentIdea.idea.mockups.append(PFFile(data: UIImageJPEGRepresentation(pickedImage, 0.5)!))

        //Face Detection
        let cid:CIDetector = CIDetector(ofType:CIDetectorTypeFace, context:nil, options:[CIDetectorAccuracy: CIDetectorAccuracyHigh]);

        let cii = CIImage(CGImage: pickedImage.CGImage!)

        let results:NSArray = cid.featuresInImage(cii)

        print(results.count)
        for r in results {
            let face:CIFaceFeature = r as! CIFaceFeature;
            NSLog("Face found at (%f,%f) of dimensions %fx%f", face.bounds.origin.x, face.bounds.origin.y, face.bounds.width, face.bounds.height);
        }


    }
    dismissViewControllerAnimated(true, completion: nil)
}

有任何想法吗?谢谢!最近网络上没有太多关于它的内容。

4

1 回答 1

1

确保您的图像方向和探测器的预期图像方向相同。有关更多详细信息,请参阅此答案:https ://stackoverflow.com/a/17019107/919790

于 2015-09-25T16:13:35.247 回答