【发布时间】:2012-11-08 15:34:42
【问题描述】:
Apple 最近在 CIDetector 类中添加了一个名为 CIDetectorTracking 的新常量,它似乎能够跟踪视频中帧之间的人脸。如果我能弄清楚它是如何工作的,这对我来说将是非常有益的..
我已经尝试使用我能想到的远程相关的每个对象将这个键添加到检测器选项字典中,包括我的 AVCaptureStillImageOutput 实例、我正在处理的 UIImage、YES、1 等。
NSDictionary *detectorOptions = [[NSDictionary alloc] initWithObjectsAndKeys:CIDetectorAccuracyHigh, CIDetectorAccuracy,myAVCaptureStillImageOutput,CIDetectorTracking, nil];
但无论我尝试传递什么参数,它要么崩溃(显然我在这里猜测)要么调试器输出:
指定了未知的 CIDetectorTracking。忽略。
通常情况下,我不会猜到这一点,但关于这个主题的资源几乎不存在。 Apple's class reference 状态:
用于启用或禁用检测器的面部跟踪的键。采用 当您想要跨视频帧跟踪人脸时使用此选项。
iOS 6+ 和 OS X 10.8+ 除外。
CIDetector.h内的评论:
/*选项字典中用于指定该功能的键 应该使用跟踪。 */
如果这还不够糟糕,Google 搜索会提供 7 个结果(当他们找到这篇文章时为 8 个)所有这些结果要么是 Apple 类引用、API 差异、一个 SO 帖子询问如何在 iOS 5 中实现这一点,或前者的第 3 方副本。
话虽如此,任何有关正确使用 CIDetectorTracking 的提示或技巧将不胜感激!
【问题讨论】:
-
使用 YES 选项,您是否将其包装到 NSNumber 中? [NSNumber numberWithBool:YES]?什么是崩溃日志?此示例适用于静止图像,但如果您还没有看到它,它可能会很有用:b2cloud.com.au/how-to-guides/face-detection-in-ios-5
-
@CharlieMonroe 感谢您的回复,我已经尝试过了,我相信它会导致同样的崩溃。当我回到我的电脑上时,我会仔细检查日志。我只是浏览了那个教程,我不相信它会有帮助。这是一个很好的教程,但正如你所说,只涵盖静止图像,我正在寻找有关使用 iOS 6 中引入的类在帧之间进行面部跟踪的信息。
-
在视频中跨帧跟踪人脸是什么意思?这与单独分析每一帧有何不同?
标签: objective-c ios face-detection