2017-02-21 9 views
2

GoogleビジョンAPIを使用して画像から顔を切り抜こうとしています。サンプルコードからランドマークを取得する方法を理解しました。しかし、私はそれらのランドマークを使って顔を切り取る方法を知らない。誰かが擬似コードを提供することができますか、さらに感謝の気持ちを伝える方法について私に指導してください。次のコードは、画像中の顔の頂点を取得するために、クラウド・ビジョン・クライアントを使用して実証GoogleビジョンAPIを使用して顔の一部をトリミングする

+0

作業しているMIMEタイプはどれですか? Jpeg、PNG、GIFなど? Imagemagick、opencvなどの画像処理ライブラリを調べましたか? Javaには、クロップをサポートするBufferedImageもあります。しかし、CMYKやGifなどの画像をサポートするには、ImageMagick/twelvemonkeysなどを使用する必要があります。また、このような簡単な作業を行う上で、オンラインで十分なリソースがあります。 http://stackoverflow.com/help/how-to-ask – saurabheights

答えて

0

(以下のファイルを想定してはfaces.pyと呼ばれている):

import io 
import sys 

from google.cloud import vision 

vision_client = vision.Client() 
with io.open(sys.argv[1], 'rb') as image_file: 
    content = image_file.read() 
image = vision_client.image(content=content) 

faces = image.detect_faces() 
print('Faces:') 
for face in faces: 
    bounds = '' 
    for bound in face.bounds.vertices: 
     bounds += ('{' + str(getattr(bound, 'x_coordinate', 0)) + ',' + 
        str(getattr(bound, 'y_coordinate', 0)) + '}') 
    print('face bounds: {}'.format(bounds)) 

あなたrequirements.txtのようなものになります。

google-cloud-vision==0.22.0 

virutalenv env && source env/bin/activate 
pip install -r requirements.txt 
python faces.py image.jpg 

あなたにアプリを実行します0

出力は次のとおりです。

face bounds: {105,460}{516,460}{516,938}{105,938} 

あなたはcovered in depth elsewhereで顔を強調するためにするためにクリップする場所、これらは次のようになります。

関連する問題