Где я могу запустить этот код распознавания AWS и нужно ли мне устанавливать что-нибудь еще?Какой результат я получу? - PullRequest
0 голосов
/ 25 ноября 2018

`
import boto3

 if __name__ == "__main__":

    bucket='random_name'
    photo='b4.png'

    client=boto3.client('rekognition')


    response=client.detect_text(Image={'S3Object': 
    {'random_name':bucket,'b4.png':photo}})


    textDetections=response['TextDetections']
    print(response)
    print('Matching faces')
    for text in textDetections:
         print('Detected text:' + text['DetectedText'])
         print('Confidence: ' + "{:.2f}".format(text['Confidence']) + "%")
         print('Id: {}'.format(text['Id']))
         if 'ParentId' in text:
               print('Parent Id: {}'.format(text['ParentId']))
               print('Type:' + text['Type'])
               print()`

Это код распознавания изображений (OCR), но я не знаю, куда мне вставить этот код для запуска.Запускаю ли я это в ноутбуках Jupyter и нужно ли мне устанавливать дополнительные вещи?Запускаю ли я это в подсказке Anaconda?Я пробовал оба.В Jupyter я получаю сообщение об ошибке: | ParamValidationError: Ошибка проверки параметра: неизвестный параметр в Image.S3Object: «random_name», должен быть одним из следующих параметров: Bucket, Name, Version Unknown, параметр в Image.S3Object: «b4.png», mustбыть одним из: Ведро, Имя, Версия |и подсказка Анаконды имеет гораздо больше ошибок.Я уже установил AWS и любопытно, есть ли еще что-то для установки.Буду очень признателен, если кто-нибудь поможет мне.

1 Ответ

0 голосов
/ 25 ноября 2018

Код, который вызывает API-интерфейс AWS (например, client.detect_text()), может быть запущен из в любом месте Интернета .Вы показали некоторый код Python, который можно запустить на сервере, на ноутбуке, в экземпляре EC2 или в качестве лямбда-функции (с небольшой очисткой).

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

  • Если вы запускаете код на экземпляре Amazon EC2 или в качестве лямбда-функции, просто назначьте экземпляр / функциюсоответствующая роль IAM, и код автоматически получит учетные данные.
  • Если вы запускаете код на своем компьютере, сначала запустите команду aws configure и укажите свои учетные данные пользователя IAM.

Также обратите внимание, что формат detect_text():

response = client.detect_text(
    Image={
        'Bytes': b'bytes',
        'S3Object': {
            'Bucket': 'string',
            'Name': 'string',
            'Version': 'string'
        }
    }
)

Поэтому ваша строка кода должна быть:

response = client.detect_text(Image={'S3Object':{'Bucket':bucket, 'Name':photo}})

Кроме того, я бы не сказал, чтоэта функция истинная OCR.Скорее, он находит фрагменты текста на картинке, например слова на знаке.Он не подходит для чтения страницы, полной текста, что делается традиционными методами OCR.

...