Использование локального образа для чтения 3.0, когнитивной службы Azure, компьютерного зрения

#azure #computer-vision #azure-cognitive-services

#azure #компьютерное зрение #azure-cognitive-services

Вопрос:

Я пытаюсь использовать локальное изображение в своем сценарии распознавания текста, в документации приведен следующий пример ( https://learn.microsoft.com/en-us/azure/cognitive-services/computer-vision/quickstarts/python-hand-text ):

введите описание изображения здесь

Но когда я меняю image_url путь к локальному файлу, он отправляет ошибку клиента HTTPError: 400: неверный запрос URL. Я пробовал следовать другим руководствам, но, похоже, ничего не работает.

Любая помощь была бы с благодарностью принята 🙂

Ответ №1:

API когнитивных служб не сможет найти изображение по URL-адресу файла на вашем локальном компьютере. Вместо этого вы можете вызвать ту же конечную точку с двоичными данными вашего изображения в теле запроса.

Замените следующие строки в примере кода Python

 image_url = "https://raw.githubusercontent.com/MicrosoftDocs/azure-docs/master/articles/cognitive-services/Computer-vision/Images/readsample.jpg"

headers = {'Ocp-Apim-Subscription-Key': subscription_key}
data = {'url': image_url}
response = requests.post(
    text_recognition_url, headers=headers, json=data)
  

с

 headers = {'Ocp-Apim-Subscription-Key': subscription_key,'Content-Type': 'application/octet-stream'}
with open('YOUR_LOCAL_IMAGE_FILE', 'rb') as f:
    data = f.read()
response = requests.post(
    text_recognition_url, headers=headers, data=data)
  

И замените следующую строку:

 image = Image.open(BytesIO(requests.get(image_url).content))
  

с

 image = Image.open('./YOUR_LOCAL_IMAGE_FILE.png')