我目前正在探索Apple的Core Image框架中的人脸检测功能。
现在,我正在玩苹果公司的示例项目,该示例项目在人的脸上涂上红色正方形。 (https://developer.apple.com/library/ios/samplecode/SquareCam/Introduction/Intro.html)
我的问题是人脸检测每帧都会发生,因此即使我不移动脸部,红场的大小也会疯狂变化。
我承认以下方法可以运行人脸检测。
NSArray* features = [detector featuresInImage:image];
我可以在以下循环中用眼,嘴的位置进行操作:
for(CIFaceFeature* feature in features)
{
}
有什么办法可以使我随时间推移的红色正方形(脸部区域)的大小变平滑?换句话说,如果人的脸不动,我想最小化红场大小的变化。
ps。我可以在Swift中获得答案。上面的方法是在Obj-C中使用的,因为我是从旧项目中获得的。
最佳答案
您可以保存返回的帧,如果新的返回帧与保存的帧不相近,则可以更新它们。
另外,如果返回的框架超出框架范围,则可以将框架画得更大一些并更新它们。
关于ios - CoreImage人脸检测每帧发生一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34101195/