После просмотра вызовов API, которые вы делаете, я понял, что некоторые элементы отсутствуют. Возможно, вы разместили не весь код, но ниже я добавлю пример, иллюстрирующий шаги. Использование этих шагов позволяет избежать ошибок изображения, поэтому ошибка изображения «неправильного размера» могла быть следствием пропущенных шагов.
В своем коде, прежде чем вы сможете добавить изображение в группу лиц (PGP), вы должны создать группу людей (PG), чтобы этот PGP принадлежал. Затем, после создания группы лиц (в начале она пуста), необходимо создать сотрудника группы людей с этим идентификатором PG. После того, как эти две вещи созданы, вы можете начать добавлять изображения в свою группу лиц.
Итак, приведенные выше шаги приведены ниже:
- Создание группы лиц с помощью вызова API create ()
- Создание группы лиц Человек с его вызовом API для create ()
- Добавьте ваши изображения в группу лиц Человек с вызовом API add_face_from_stream ()
После того, как вы добавили все свои изображения, принадлежащие вашей персоне, вы можете использовать данные из нее по своему усмотрению.
См. Пример кода ниже, где загружено одно локальное изображение и добавлен в группу лиц. Я включу изображение, которое я использую, если вы хотите загрузить и протестировать.
import os
from azure.cognitiveservices.vision.face import FaceClient
from msrest.authentication import CognitiveServicesCredentials
KEY = os.environ['FACE_SUBSCRIPTION_KEY']
ENDPOINT = os.environ['FACE_ENDPOINT']
face_client = FaceClient(ENDPOINT, CognitiveServicesCredentials(KEY))
person_group_id = 'women_person_group'
person_id = 'women_hats'
image_name = 'woman_with_sunhat.jpg'
# Create empty Person Group. Person Group ID must be lower case, alphanumeric, and/or with '-', '_'.
print('Creating a Person Group:', person_group_id)
face_client.person_group.create(person_group_id=person_group_id, name=person_group_id)
# Create a Person Group Person.
print('Creating the Person Group Person:', person_id)
women_hat_group = face_client.person_group_person.create(person_group_id, person_id)
# Add image to our Person Group Person.
print('Adding face to the Person Group Person:', person_id)
face_image = open(image_name, 'r+b')
face_client.person_group_person.add_face_from_stream(person_group_id, women_hat_group.person_id, face_image)
# Print ID from face.
print('Person ID:', women_hat_group.person_id)
# Since testing, delete the Person Group, so no duplication conflicts if script is run again.
face_client.person_group.delete(person_group_id)
print()
print("Deleted the person group {} from the Azure Face account.".format(person_group_id))