Попытка использовать python с photos.capture_image () для API регистрации Kairos - PullRequest
0 голосов
/ 19 сентября 2018

В настоящее время я работаю с API Kairos и пытаюсь использовать Pythonista, чтобы сделать новую фотографию на моем iPad, а затем загрузить ее в API регистрации Kairos.Я могу заставить это работать хорошо с изображением URL, но для жизни я не могу заставить это работать, делая фотографию с модулем фотографий.Из моего понимания модуль photos возвращает изображение PIL, и я думаю мне нужно кодировать base64, что перед загрузкой в ​​API Kairos ??

Вот мой код без использования модуля photos:

#import photos
import requests

#img = photos.capture_image()
url = "https://api.kairos.com/enroll"

values = """
  {
    "image": "https://images.pexels.com/photos/614810/pexels-photo-614810.jpeg?cs=srgb&dl=face-facial-hair-fine-looking-614810.jpg&fm=jpg",
    "subject_id": "test",
    "gallery_name": "test"
  }
"""

headers = {
    'Content-Type': 'application/json',
    'app_id': '********',
    'app_key': '************************'
}

request = requests.post(url, data=values, headers=headers)
response = request.content

print(response)

Я надеюсь, что кто-то может мне помочь, показав мне, что мне нужно сделать, чтобы выполнить эту задачу.Любая помощь с благодарностью.

Заранее спасибо,

Колин

1 Ответ

0 голосов
/ 22 сентября 2018

Мне удалось заставить это работать, преобразовав образ PIL с помощью BytesIO, а затем кодировав с base64:

with io.BytesIO() as output:
    img = photos.capture_image()
    img.save(output, 'JPEG')
    contents = output.getvalue()
    image = base64.b64encode(contents)

Надеюсь, это поможет некоторым в будущем.

...