iOS OC人脸动态贴图功能实现
iOS 开发里的 OC 人脸贴图功能,算是个蛮有趣的实践项目。结合OpenCV和AVFoundation,可以实时把贴纸叠在脸上,像抖音、Snapchat 那样的玩法。如果你搞娱乐或社交类 App,这一套还挺实用的。
OpenCV 2.4.9人脸识别,还支持用CascadeClassifier
找脸、goodFeaturesToTrack
追特征点,配合摄像头视频流用起来,识别速度还不错。摄像头部分用的是AVFoundation,通过AVCaptureSession
取每一帧,再转成cv::Mat
。
贴图的可以靠Core Graphics或Core Image做缩放、旋转、定位,基本能保证贴得准。不光静态图,想搞动态或根据表情变化的图,也可以扩展点表情识别算法,甚至拉上Core ML或者TensorFlow玩玩训练模型。
性能上要注意点,贴图是每帧都在跑,建议开个子线程,不然 UI 卡得慌。还有一点,视频帧和图像数据转换这里挺关键,搞不清格式的容易踩坑。
,这项目适合想搞点互动效果的 iOS 开发者练手,涉及的东西不少,从OpenCV图像到iOS 底层图形都用得上。如果你对人脸识别感兴趣,这个项目可以试试。
想深入了解的话,可以看看这些相关文章:
26.92MB
文件大小:
评论区