使用Google vision API

时间:2017-02-21 09:27:43

标签: java android google-vision

我正在尝试使用google vision api从图像裁剪出脸部。我知道如何从他们的示例代码中获取地标。但我不知道如何使用这些标志来裁剪脸部。有人可以提供一些伪代码或指导我如何进一步谢谢。

1 个答案:

答案 0 :(得分: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

输出是:

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

这些将是你要剪贴的地方,以突出显示covered in depth elsewhere的脸。