Интерфейс Baidu реализует распознавание цветов

Идентификация изображения

предисловие

   Недавно был написан проект по распознаванию цветов, но прежде чем писать, позвоните в интерфейс Baidu, чтобы попробовать его.

Хотя удобнее напрямую звонить в чужие интерфейсы, но для тех, кто пишет это дело в первый раз, они сначала понятия не имеют, и могут только исследовать медленно, поэтому я хочу разобраться во всем процессе, для тех, кто есть эта идея Партнеры могут иметь ссылку.

  Перепечатанные статьи просьба указывать источник:nuggets.capable/post/684490…

1. Вход в платформу

   Сначала выполните поиск «Открытая платформа Baidu AI» на Baidu, щелкните консоль справа и войдите в интерфейс входа.Если вы использовали продукты Baidu (например, Baidu SkyDrive), вы можете войти напрямую.

   Далее вам нужно выбрать конкретный пункт услуги.Распознавание цветов, которое необходимо реализовать, относится к распознаванию изображений, поэтому войдите в панель управления распознаванием изображений. (Помимо распознавания цветов, распознавание изображений также включает распознавание логотипов, распознавание животных, распознавание моделей транспортных средств и т. д.)

2. Создайте приложение

   Чтобы создать приложение, необходимо подать заявку на разрешения интерфейса для вашего собственного проекта, и его можно будет официально назвать после того, как приложение будет успешным.

  Нажмите «Создать приложение», чтобы войти в интерфейс приложения.

   Заполните форму правдиво и нажмите «Создать», чтобы создать приложение.

   После завершения создания выберите «Список приложений», чтобы отобразить созданные вами приложения.

   После успешного создания приложения генерируются соответствующий ключ API и секретный ключ для последующих операций.

3. Access token

   В практических приложениях API Key и Secret Key используются не для интерфейсных вызовов, а по access_token

  access_token, который представляет собой авторизацию Baidu, полученную вами самостоятельно. При вызове API вы должны включить параметр access_token в URL-адрес. Метод получения заключается в написании кода для запроса данных с сервера и авторизации адреса службы.https://aip.baidubce.com/oauth/2.0/tokenОтправьте запрос (рекомендуется POST) со следующими параметрами в URL:

  • тип_гранта:Обязательный параметр, зафиксированный в client_credentials
  • ID клиента:Обязательный параметр, API Key приложения
  • клиент_секрет:Обязательный параметр, Секретный ключ приложения

   Получите пример кода access_token:

# encoding:utf-8
import requests 

# client_id 为官网获取的AK(API Key), client_secret 为官网获取的SK(Secret Key)
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())

  Информация, возвращаемая сервером, представлена ​​в текстовом формате JSON. Важными параметрами являются:

  • доступ_токен:Токен доступа, который необходимо получить
  • истекает:Срок действия токена доступа (в секундах, обычно 1 месяц)

(Другие параметры можно игнорировать)

   Если вы чувствуете, что возвращаемая информация громоздка, вы можете получить ее напрямуюaccess_tokenпараметр:

print(response.json()['access_token']) #修改示例代码最后一行

4. Цветочная идентификация

  После того, как вышеуказанная работа будет завершена, вы можете использовать интерфейс для распознавания цветов.

   Этот интерфейс используется для идентификации изображения, то есть для входного изображения цветка, вывода результата идентификации цветка.

Описание параметра:

параметр ценность
Content-Type application/x-www-form-urlencoded

Образец кода:

import requests
import base64

'''
#植物识别
'''

request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/plant"

path='【图片地址】'
# 二进制方式打开图片文件
f = open(path, 'rb')
img = base64.b64encode(f.read())

params = {"image":img}
access_token = '【请求的access_token】'
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
    print (response.json())

   дает пример изображения:

   Результат распознавания:

Показатель   можно рассматривать как вероятность: вероятность быть признанным подсолнухом равна 0,872, вероятность быть признанным подсолнечником с сердцевидным листом — 0,001, вероятность быть признанным эхинацеей черносердой — 0,0006. Следовательно, существует высокая вероятность того, что это подсолнух, что соответствует нашему собственному суждению. Исходя из этого, результаты распознавания по-прежнему очень хорошие.

Ссылаться на

  Техническая документация идентификации Baidu