iOS Facedetection работает по-разному в симуляторе и устройстве - PullRequest
4 голосов
/ 18 февраля 2012

Я пытаюсь использовать iOS 5 facedetection, и я обнаружил, что когда я запускаю код на симуляторе, он обнаруживает лицо с правильным кадром.Однако, если я запускаю точно такой же код на том же изображении на устройстве, он возвращает неверные размеры.Вот мой код:

CIImage* image = [CIImage imageWithCGImage:someImage.CGImage];

NSDictionary *detectorOptions =
[NSDictionary dictionaryWithObjectsAndKeys:
 CIDetectorAccuracyHigh, CIDetectorAccuracy,
 nil];

CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace
                                          context:nil
                                          options:detectorOptions];


NSArray *faceFeatures = [detector featuresInImage:image];
for (CIFeature *f in faceFeatures) {
  NSLog(@"Feature: %@", NSStringFromRect(f.bounds));
}

Выход с симулятора (правильный): Функция: {{78, 153}, {200, 200}}

Выход с устройства (неверный): Функция: {{104, 199}, {272, 272}}

Это ошибка?Или я неправильно использую код распознавания лиц?Я также попытался использовать featuresInImage: параметры и передать в другой словарь с ориентацией устройства

...