利用Vision框架与3D Touch实现图像识别与交互
1. 利用Vision框架识别图像中的面部特征
1.1 Vision框架可识别的面部部分
Vision框架不仅能在图像中用矩形框识别面部,还能识别并突出显示以下面部部分:
- 面部轮廓
- 鼻子和鼻梁
- 内唇和外唇
- 左右眼的眼睛、眉毛和瞳孔
- 中线
若需获取Vision框架可识别的所有面部部分的完整列表,可访问苹果开发者网站:https://developer.apple.com/documentation/vision/vnfacelandmarks2d 。
1.2 修改代码以识别面部特征
要识别面部特征,需修改AdvancedFacialRecognition项目中的代码。在 handleFacelandmarksRecognition
函数中,使用以下代码查找图像中面部的特征点:
guard let landmarks = faceRectangle.landmarks else {
continue
}
接着,查找特定的特征点,如左眼或鼻子。找到特定面部特征后,使用以下代码将其存储在 landmarkRegions
数组中:
if let faceContour = landmarks.faceContour {
landmarkRegion