ずんぐりむっくり追加2016/07/29

顔検出で遊ぶ Androidアプリ「おかしな(ヵ_ォ)カメラ」をバージョンアップしました。
エフェクトをひとつ追加しています。

新エフェクト「ずんぐり

ずんぐりエフェクト

体を背景ごと縦に縮小することによって、「顔拡大」とは違ったずんぐりむっくりした感じになります。
なるべく足のあたりまでフレームに収めた方が、それらしく見えるでしょう。


表に見える部分の変更はこのエフェクト追加くらいですが、中身は大きく変わっています。
↓ここからプログラム的な話

今まで顔検出APIには Camera.FaceDetectionListenerを使用してきましたが、このバージョンでは Google Play Serivcesの FaceDetectorを使っています。
注:
元々SDKにある android.media.FaceDetector ではなく、

com.google.android.gms.vision.face.FaceDetector の方です。


FaceDetectorでは検出した顔の傾き等を取得できるので、前のバージョンよりはもう少し正確に顔の範囲を得ることができるようになっています。(FaceDetectionListenerの方でも目や鼻の位置を取得できるはずなのですが、少なくとも自分の持っている端末ではサポートされていません)

顔検出APIとして高機能である FaceDetector ですが、アプリ開発時は使えませんでした。
使い物にならない、という意味ではなく本当に使用不可ということです(isOperational()で引っかかる)。
ライブラリを後からダウンロードするようになっているのですが、そのライブラリにバグがあって配信されていなかったようです(元は英語での説明なのでちょっとニュアンスは怪しいです)。

Google Play Servicesが 9.2になって使えるようになって良かったのですが、おかげで顔検出部分だけではなく、エフェクト描画部分もかなり作り直しになってしまいました。