`
导入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 Prompt中运行它吗?我都尝试过。在Jupyter中,我得到一个错误:| ParamValidationError:参数验证失败:Image.S3Object中的未知参数:“ random_name”,必须为以下之一:Bucket,Name,Version Image.S3Object中的未知参数:“ b4.png”,必须是以下之一:桶,名称,版本|而Anaconda提示有更多错误。我已经安装了AWS,并且好奇是否还有更多的要安装。如果有人帮助我,将不胜感激。
答案 0 :(得分:0)
调用AWS API的代码(例如client.detect_text()
)可以从 Internet上的任何地方运行。您已经展示了一些可以在服务器,笔记本电脑,EC2实例上或作为Lambda函数(需要一些清除)运行的Python代码。
它唯一需要的另一件事是一组凭据,以便它可以连接到您的 AWS帐户。
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方法无法读取整页的文字。