[Swift3]画像の顔を検知する

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
Swift

Twitterで「NAOKIの顔を検知するアプリ作った」と呟いたらそこそこの反応があったので、その方法を紹介。(参考ツイート)
画像から顔を検出し、検出した顔を赤枠で囲う。

画像を用意する

顔検出の対象にする画像をCIImage型で用意する。

顔検出を行う

CIDetectorを使用する。顔が複数ある場合はまとめて検出される。

検出結果をビューに表示する

元の画像を表示するビューを作成する→検出した顔から座標を取り出して、顔を囲う枠のビューを作成する→リサイズする、という手順を踏む。

元の画像を表示するビューを作成する

検出した顔から座標を取り出して、顔を囲う枠のビューを作成する

CIDetectorで検出した顔の座標は左下が原点になっているため、座標を反転する必要がある。

リサイズする

完成したソース

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。