Man*_*wal 44 augmented-reality ios snapchat
我想开发实时面部过滤器作为MSQRD/Snapchat实时过滤器,但是如果我使用增强现实框架并检测面部或使用核心图像来检测面部和相应处理,我无法知道如何继续.如果有人知道如何实现这一点,请告诉我?
Pau*_*bre 21
我建议Core Image和CIDetector一起去.https://developer.apple.com/library/ios/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_detect_faces/ci_detect_faces.html它自iOS 5开始提供,并且有很好的文档.
创建面部检测器示例:
CIContext *context = [CIContext contextWithOptions:nil]; // 1
NSDictionary *opts = @{ CIDetectorAccuracy : CIDetectorAccuracyHigh }; // 2
CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace
context:context
options:opts]; // 3
opts = @{ CIDetectorImageOrientation :
[[myImage properties] valueForKey:kCGImagePropertyOrientation] }; // 4
NSArray *features = [detector featuresInImage:myImage options:opts]; // 5
Run Code Online (Sandbox Code Playgroud)
这是代码的作用:
1.-创造一个背景; 在此示例中,iOS的上下文.您可以使用处理图像中描述的任何上下文创建功能.)您还可以选择在创建检测器时提供nil而不是上下文.)
2.-创建选项字典以指定检测器的准确度.您可以指定低精度或高精度.精度低(CIDetectorAccuracyLow)快; 如本例所示,高精度是彻底但较慢的.
3.-为面部创建检测器.您可以创建的唯一类型的探测器是人脸.
4.-设置用于查找面部的选项字典.让Core Image了解图像方向非常重要,这样探测器就能知道它可以在哪里找到直立面.大多数情况下,您将从图像本身读取图像方向,然后将该值提供给选项字典.
5.-使用检测器查找图像中的特征.您提供的图像必须是CIImage对象.Core Image返回一个CIFeature对象数组,每个对象代表图像中的一个面.
这里有一些开放的项目,可以帮助你开始CoreImage或其他技术作为GPUImage或OpenCV
1 https://github.com/aaronabentheuer/AAFaceDetection(CIDetector-Swift)
2 https://github.com/BradLarson/GPUImage ( Objective-C)
3 https://github.com/jeroentrappers/FaceDetectionPOC(Objective-C:它已经弃用了iOS9的代码)
4 https://github.com/kairosinc/Kairos-SDK-iOS(Objective-C)
5 https://github.com/macmade/FaceDetect(OpenCV)
| 归档时间: |
|
| 查看次数: |
30115 次 |
| 最近记录: |