使用 Objective-C 在实时视频中检测眼睛?

Posted

技术标签:

【中文标题】使用 Objective-C 在实时视频中检测眼睛?【英文标题】:Detect eyes in real time video with Objective-C? 【发布时间】:2017-08-05 08:10:37 【问题描述】:

我正在检查this Apple sample code, Squarecam。还有一些用 Swift 编写的示例。

在本例中,检测到人脸时会绘制一个红色方块。我的问题是:如何在眼睛上画圆圈?

我仍然不知道如何以与示例中的面部相似的方式检测眼睛。

或者眼睛的位置(faceFeature.leftEyePosition)如何用于画圆。

有什么想法吗?

【问题讨论】:

这是我正在使用的类:这是link 在方法中:drawFaces 添加了图像胡须。该示例不使用人脸特征对象的 .mouthPosition 的 hasMouth 属性。如果我想使用 leftEyePosition 和 rightEyePosition 属性,如何使用这些值添加眼镜/镜头? 【参考方案1】:

面部特征为您提供图像边界内的特征点。

open var leftEyePosition: CGPoint  get 

您可以围绕该点构建一个矩形。获得矩形后,您可以创建一个图层并在面部图像上进行合成。

 if let overlay = CIImage(color: overlayColor).cropping(to: faceImage.extent).applyingPerspectiveTransformFilter(onRect: eyeRect)
  
   let eyeMarkedImage = overlay.compositingOverImage(faceImage)
  

applyingPerspectiveTransformFilter”和“cropping”是 CIFilters。

【讨论】:

以上是关于使用 Objective-C 在实时视频中检测眼睛?的主要内容,如果未能解决你的问题,请参考以下文章

使用OpenCV,Haar级联检测器进行面部眼睛嘴部检测

Android:使用传感器实时检测眼睛的运动

OpenCV+dlib实现疲劳检测

教你快速使用OpenCV/Python/dlib进行眨眼检测识别!

人脸检测实战高级:使用 OpenCVPython 和 dlib 完成眨眼检测

第41月第12天 活体检测