本文介绍了如何使用Python SDK图片OCR接口,识别图片中的文字信息。

前提条件

  • 安装Python依赖。关于安装Python依赖的具体操作,请参见安装Python依赖
  • 可选:如果使用本地文件或者二进制文件检测,请下载并在项目工程中引入Extension.Uploader工具类

提交图片同步检测任务

接口 描述 支持的Region
ImageSyncScanRequest 提交图片OCR同步识别任务,对图片中的文字进行识别(scene=ocr)。
  • cn-shanghai
  • cn-beijing
  • cn-shenzhen
  • ap-southeast-1
  • ap-southeast-5
示例代码
#coding=utf-8
# 以下代码将调用OCR图片检测接口并实时返回检测结果。
from aliyunsdkcore import client
from aliyunsdkgreen.request.v20180509 import ImageSyncScanRequest
from aliyunsdkgreen.request.extension import HttpContentHelper
import json
import uuid

# 请使用您的AccessKey信息。
clt = client.AcsClient("yourAccessKeyId", "yourAccessKeySecret","cn-shanghai")
# 每次请求时需要新建request,请勿复用request对象。
request = ImageSyncScanRequest.ImageSyncScanRequest()
request.set_accept_format('JSON')
task = {"dataId": str(uuid.uuid1()),
         "url":"https://xxx/test.jpg"
        }

print(task)
# 设置待检测的图片,一张图片对应一个检测任务。
# 多张图片同时检测时,处理时间由最后一张处理完的图片决定。
# 通常情况下批量检测的平均响应时间比单任务检测长,一次批量提交的图片数越多,响应时间被拉长的概率越高。
# 代码中以单张图片检测作为示例,如果需要批量检测多张图片,请自行构建多个任务。
# OCR检测按照实际检测的图片张数*检测单价计费。
request.set_content(HttpContentHelper.toValue({"tasks": [task],
                                               "scenes": ["ocr"]
                                               }))
response = clt.do_action_with_exception(request)
print(response)
result = json.loads(response)
if 200 == result["code"]:
    taskResults = result["data"]
    for taskResult in taskResults:
        if (200 == taskResult["code"]):
            sceneResults = taskResult["results"]
            print(sceneResults)