【问题标题】:Detect eyes in real time video with Objective-C?使用 Objective-C 在实时视频中检测眼睛?
【发布时间】:2017-08-05 08:10:37
【问题描述】:
我正在检查this Apple sample code, Squarecam。还有一些用 Swift 编写的示例。
在本例中,检测到人脸时会绘制一个红色方块。我的问题是:如何在眼睛上画圆圈?
我仍然不知道如何以与示例中的面部相似的方式检测眼睛。
或者眼睛的位置(faceFeature.leftEyePosition)如何用于画圆。
有什么想法吗?
【问题讨论】:
-
这是我正在使用的类:这是link 在方法中:drawFaces 添加了图像胡须。该示例不使用人脸特征对象的 .mouthPosition 的 hasMouth 属性。如果我想使用 leftEyePosition 和 rightEyePosition 属性,如何使用这些值添加眼镜/镜头?
标签:
objective-c
face-detection
core-image
【解决方案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。