首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不使用S3检测图像文本的情况下本地测试AWS的推理

如何在不使用S3检测图像文本的情况下本地测试AWS的推理
EN

Stack Overflow用户
提问于 2019-02-13 14:24:16
回答 1查看 1.4K关注 0票数 1

我正试图扫描图像中的文本,但如果不使用S3桶,我就无法找到源代码。这是我找到的唯一源代码,但它使用的是S3。我在这个项目中使用python。

https://docs.aws.amazon.com/rekognition/latest/dg/text-detecting-text-procedure.html

代码语言:javascript
复制
import boto3

if __name__ == "__main__":

bucket='bucket'
photo='text.png'

client=boto3.client('rekognition')


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

textDetections=response['TextDetections']
print ('Detected text')
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

在这里找到一个如果没有S3桶,我可以使用吗?并运行它与我所需要的不同,因为它只检测标签。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-13 14:39:35

Rekognition中的DetectText方法(对于boto,detect_text)可以接受以下参数之一:

  • 对亚马逊S3桶中的图像的引用
  • base64 64编码的图像字节

因此,如果不使用S3桶,则必须提供其字节。在文档中没有提到第三种方式。输入结构描述如下:

代码语言:javascript
复制
{
  "Image": { 
    "Bytes": blob,
    "S3Object": { 
      "Bucket": "string",
       "Name": "string",
       "Version": "string"
     }
  }
}

并且,要获取非S3映像的字节流,可以从这个答案复制实现。

代码语言:javascript
复制
client = boto3.client('rekognition')

image_path='images/4.jpeg'
image = Image.open(image_path)

stream = io.BytesIO()
image.save(stream,format="JPEG")
image_binary = stream.getvalue()

response = client.detect_text(Image={'Bytes':image_binary})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54672488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档