かれ4

かれこれ4個目のブログ

マナカナの画像からProejctOxfordとimagemagickで顔を切り出す。

前回マナカナの画像をBingAPIを使って収集しましたが、
今回はマナカナの画像から、顔だけを切り出して行きます

顔の切り出しをするには、顔の位置を特定してとか色々必要層ですが、
今回はまとめてProjectOxfordのFaceAPIを使います。

f:id:tottokug:20150731062146p:plain

Microsoft Project Oxford Face APIs

使うためにはAzureのPortalからMarketplace

f:id:tottokug:20150731063229p:plain

FaceAPI
f:id:tottokug:20150731063234p:plain

後は必要そうな情報をいれて数クリックで使えるようになりました。

Sign Upが完了したら
https://dev.projectoxford.ai/Developer
にアクセスして、Keyを取得します

f:id:tottokug:20150731063627p:plain



Keyが取得出来たら後は使うだけで、顔の切り出しが出来るようになります。

カレントディレクトリに写真があるとして、
以下のスクリプトを実行です。
(実行にはjqimagemagickが必要です)

APIKeyにはFaceAPIのKeyが入ります。PrimaryでもSecondaryでも良いと思います。

#!/bin/bash
IFS='
'
APIKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[ -d face ] && mkdir face
for f in $(find ./ -type f); 
do
  curl -X POST  -H "Content-Type: application/octet-stream" --data-binary @${f} \
  "https://api.projectoxford.ai/face/v0/detections?subscription-key=${APIKey}"   \
  | jq '.[].faceRectangle | "\(.width)x\(.height)+\(.left)+\(.top)"' 
  | xargs -I{}  convert -crop  {} ${f} face/$(uuidgen)-{}-${f##*/};  
done


face/というディレクトリに顔の部分だけを切り出した画像が出来上がって来ます。
f:id:tottokug:20150731064415p:plain

なんだか、明らかにマナでもカナでも無い人がいる。。。