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