1

カメラで写真を撮り、その中の顔を検出しようとしています。しかし、うまくいきません...results配列はゼロのカウントを返します。このコードをインターネット上の誰かの写真でテストしたところ、見つかった顔が 1 つ返されました。これが私のコードです:

// 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 に答える