2017-02-21 7 views
2

Я пытаюсь вырезать лицо из изображения, используя google vision api. Я понял, как получить ориентиры из своего образца кода. Но я не знаю, как обрезать лицо, используя эти ориентиры. Может ли кто-нибудь предоставить какой-нибудь псевдо-код или вести меня о том, как продолжить благодарность.Пометка урожая часть лица с использованием API видения Google

+0

С каким mimetype вы работаете? 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 

Выход:

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

Те бы там, где вы бы клип на подчеркнуть лицо, которое covered in depth elsewhere.

Смежные вопросы