2015-09-25 4 views
1

Я пытаюсь сфотографироваться с камерой и затем обнаруживать в ней лица. Но это не сработает ... Массив results возвращает значение нуля. Я проверил этот код с изображением кого-то из Интернета, и он вернул 1 найденное лицо. Вот мой код:CIDetector не обнаруживает лиц с UIImagePickerController (Swift)

// 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) 
} 

Любые идеи? Благодаря! Об этом мало что известно в Интернете.

+0

Вы решили проблему? – Lenny1357

+0

№ Это было довольно давно, я считаю, что я поручил проекту. Попробуйте ответить ниже. – justColbs

ответ

1

Убедитесь, что ориентация изображения и ожидаемая ориентация изображения для детектора одинаковы. См. Этот ответ для получения более подробной информации: https://stackoverflow.com/a/17019107/919790