[Комментарии с призами] python+baidu api анимация аватаров персонажей

задняя часть Python
[Комментарии с призами] python+baidu api анимация аватаров персонажей

Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.

Эта статья участвовала в "Проект «Звезда раскопок»”, чтобы выиграть творческий подарочный пакет и бросить вызов творческим поощрительным деньгам.

Сегодня я собираюсь сделать очень интересную вещь, а именно анимировать аватары персонажей. С этой статьей легко начать работу, и для Xiaobai не составит труда ее использовать.Вы можете управлять ею напрямую и использовать ее. Результаты, как показано ниже.

22.png

11.png

Адрес API Байду:Love.Baidu.com/Specialties/image P…

Техническая документация:love.baidu.com/love-doc/Я маг…

Здесь используется API Baidu Smart Cloud.Сначала вам необходимо зарегистрировать учетную запись Baidu, а затем войти в Baidu Smart Cloud. Откройте для реализации портретной анимации и создания приложений. Анимация персонажей здесь предназначена для обработки изображений персонажей в анимационные изображения.

image.png

Здесь используется API Baidu, в документации есть подробное описание использования, можете проверить сами.

# encoding:utf-8
import requests 

# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
response = requests.get(host)
if response:
    print(response.json())

Сначала соберите приложение, а затем проверьте ваш client_id=[AK, полученный с официального сайта]&client_secret=[SK, полученный с официального сайта]. Просто заполните эти две вещи. Тогда response.json() будет содержать необходимый access_token. access_token необходим для полного кода ниже.

import requests
import base64
  
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxx &client_secret=xxx2'
response = requests.get(host)
if response:
  access_token= response.json()["access_token"]

request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"

# 二进制方式打开需要处理图片文件
f = open('1.jpg', 'rb') # 打开需要处理的图片
img = base64.b64encode(f.read())
  
params = {"image":img}
request_url = request_url + "?access_token=" + access_token
response = requests.post(request_url, data=params)
print(response)
if response:
  # 保存文件
  f = open('2.jpg', 'wb')
  img = (response.json()['image'])
  f.write(base64.b64decode(img))
  f.close()

Вышеупомянутый процесс получения access_token был завершен, а затем обработка изображения выполняется через следующий API-адрес URL.

request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"

Не забудьте открыть картинку, вам нужно использовать бинарный метод открытия,b64decodeОсновная функция функции состоит в том, чтобыbase64закодированныйbytes-likeобъект илиASCIIстрока для декодирования.

Затем данные всей картинки передаются в качестве параметра в апи, а апи нужно добавить только что полученный выше access_token.

Наконец, получите ответный ответ, если ответ в порядке, то получите возвращенное двоичное значение в формате json.response.json()['image']. После кодирования этого значения запишите его в файл 2.jpg

На самом деле в API Baidu Smart Cloud довольно много интересных функций. Есть распознавание текста, распознавание животных, и студенты, которые заинтересованы в практике своих рук, могут на самом деле подняться и бросить примеры API и исходного кода, которые в основном понятны с первого взгляда.

Не стесняйтесь обсуждать со мной программу, а также отвечать на вопросы.Обратите внимание на общедоступный номер: Поэтический код, подружиться.