2013-09-10 2 views
2

Я хочу обнаружить несколько лиц в моем проекте. Поэтому я планировал использовать свойство trackingID для CIFaceFure для отслеживания лица. Но я обнаружил, что каждый раз он подходит для каждого лица.CIFaceFeature trackingID всегда подходит для нескольких лиц

Итак, моя проблема заключается в том, как я могу однозначно идентифицировать лицо, когда в видеокадре присутствует несколько лиц. Я не хочу распознавать лицо для последующего обнаружения только для текущего видеокадра. Благодарю.

Я использую тот же код, что и в проекте образца яблока SqaureCam. в iOS 6.

for (CIFaceFeature *face in features) { 
    NSLog(@"face.trackingID %d",face.trackingID); 
} 

Приведенный выше код приносит один и тот же идентификатор для каждого лица.

ответ

8

Если вы еще этого не сделали, вам необходимо указать использование CIDetectorTracking в параметрах детектора. Если я правильно помню, он должен выглядеть примерно так:

NSDictionary *detectorOptions = @{CIDetectorTracking: @YES}; 
CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions]; 
Смежные вопросы