swift:CIDetectorを使ってみました
概要
CoreImage Libraryを使うと顔認識ができます。以下を参考にして、CIDetectorを使った顔認識をしてみました。
結果
顔のおおざっぱな位置を調べる目的には十分使えそうです。
笑っているかどうかをチェックできるのは興味深いと思いますが、本写真の結果はfalseになっていました。どのような写真だと笑顔を認識できるのか調べる必要がありそうです。
顔の輪郭を矩形として取得できる
CIFaceFeature.boundsで取得できます。
目の位置が取得できる
左右の目の位置を個別に取得できます。ただし、矩形ではなく、開始位置のみです。
- CIFaceFeature.leftEyePosition.x
- CIFaceFeature.leftEyePosition.y
- CIFaceFeature.rightEyePosition.x
- CIFaceFeature.rightEyePosition.y
口の位置が取得できる
口の位置を取得できます。ただし、矩形ではなく、開始位置のみです。
- CIFaceFeature.mouthPosition.x
- CIFaceFeature.mouthPosition.y
その他
顔の部分チェックができます。
左目があるか | hasLeftEyePosition |
右目があるか | hasRightEyePosition |
口があるか | hasMouthPosition |
笑っているか | hasSmile |
左目が閉じているか | leftEyeClosed |
右目が閉じているか | rightEyeClosed |
顔が傾いているか | hasFaceAngle |