本文介绍了调用图片异步检测接口识别通用图文OCR的方法。通用图文OCR能够识别并返回图片中的文字内容。
业务接口:/green/image/asyncscan,表示图片异步检测。
计费信息:
检测超时:
同步检测允许的最长检测时间是6秒,如果检测在该时间限制内没有完成,系统会强制返回超时错误码。如果您对实时性要求不高,可以选择异步检测,其他情况下请选择同步检测,同步检测接口的调用相对简单些。对于同步检测接口的调用,建议您将超时时间设置为6秒。
返回结果:
异步检测任务不会实时返回检测结果,您需要通过callback或者轮询的方式获取检测结果。检测结果最长保留一小时。
图片要求:
图片链接支持以下协议:HTTP和HTTPS。
图片支持以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
图片大小限制为20 MB以内(适用于同步和异步调用),高度或者宽度不能超过30,000像素(px),且图像总像素不超过2.5亿(px)。
其中,GIF格式的图片,图像总像素不超过4,194,304(px),高度或者宽度不能超过30,000像素(px)。
图片下载时间限制为3秒内,如果下载时间超过3秒,返回下载超时。
图片像素建议不低于256*256(px),像素过低可能会影响识别效果。
图片检测接口的响应时间依赖图片的下载时间。请保证被检测图片所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存等。
本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。
名称
类型
是否必须
示例值
描述
bizType
String
default
scenes
StringArray
["ocr"]
指定检测场景,取值:ocr。
callback
String
检测结果回调通知您的URL,支持使用HTTP和HTTPS协议的地址。该字段为空时,您必须定时轮询检测结果。
callback接口必须支持POST方法、UTF-8编码的传输数据,以及表单参数checksum和content。内容安全按照以下规则和格式设置checksum和content,调用您的callback接口返回检测结果。
用户UID必须是阿里云账号的UID,而不是RAM用户的UID。
content:JSON字符串格式,请自行解析反转成JSON对象。关于content结果的示例,请参见查询检测结果的返回示例。
您的服务端callback接口收到内容安全推送的结果后,如果返回的HTTP状态码为200,则表示接收成功,其他的HTTP状态码均视为接收失败。接收失败时,内容安全将最多重复推送16次检测结果,直到接收成功。重复推送16次后仍未接收成功,则不再推送,建议您检查callback接口的状态。
seed
String
aabbcc123
随机字符串,该值用于回调通知请求中的签名。
由英文字母、数字、下划线(_)组成,不超过64个字符。由您自定义,用于在接收到内容安全的回调通知时校验请求由阿里云内容安全服务发起。
当使用callback时,该字段必须提供。
例如,abc经国密SM3加密后返回66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0。
tasks
JSONArray
extras
JSONObject
xxx
如果使用高精度OCR识别,需要传入该参数,格式为{"type":"${ocrType}"}。ocrType取值:advanced,表示高精度OCR。
名称
类型
是否必须
示例值
描述
dataId
String
test_data_xxxx
数据ID。需要保证在一次请求中所有的ID不重复。
url
String
检测对象的URL。
公网HTTP/HTTPS URL,且长度不超过2048个字符。
文件路径格式:oss://<bucket-name>.<endpoint>/<object-name>
interval
Integer
截帧频率,GIF图、长图检测专用。
GIF图可理解为图片数组,interval参数指定了每隔多少张图片抽取一帧进行检测。只有该值存在时,才会对GIF进行截帧。
长图分为长竖图和长横图。
对长竖图(高大于400像素(px),高宽比大于2.5),按照(高:宽)取整来计算总图数,并进行切割。
对长横图(宽大于400像素(px),宽高比大于2.5),按照(宽:高)取整来计算总图数,并进行切割。
默认只会检测GIF图、长图的第一帧,interval参数用于指示后台在检测时可按照该间隔跳着检测,以节省检测成本。
interval需要与maxFrames参数组合使用。例如,设置interval为2,maxFrames为100,在检测GIF图、长图时,将每间隔1帧检测一次,最多检测100帧,计费则按照实际检测的数量计算。
maxFrames
Integer
100
最大截帧数量,GIF图、长图检测专用,默认值为1。
当interval*maxFrames小于GIF图、长图所包含的图片帧数量时,截帧间隔自动修改为GIF图、长图所包含的图片帧数/maxFrames,以提高整体检测效果。
名称
类型
示例值
描述
code
Integer
200
错误码,和HTTP状态码一致。
msg
String
OK
请求信息的响应消息。
dataId
String
test_data_xxxx
检测对象对应的数据ID。
如果在检测请求参数中传入了dataId,则此处返回对应的dataId。
taskId
String
aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****
检测任务的ID。
url
String
检测对象的URL。
公网HTTP/HTTPS URL,且长度不超过2048个字符。
文件路径格式:oss://<bucket-name>.<endpoint>/<object-name>
extras
JSONObject
xxx
额外调用参数,对应检测请求参数中的extras。
该参数可能会被调整,目前请勿依赖该参数的返回值。
请求示例
正常返回示例
业务接口:/green/image/results,表示查询图片异步检测结果。
计费信息:
该接口不计费。
查询超时:
建议您将查询间隔设置为30秒(即在提交异步检测任务30秒后查询结果),最长不能超出4个小时,否则结果将会丢失。
本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。
名称
类型
是否必须
示例值
描述
body
JSONArray
["aaa25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695"]
要查询的检测任务的taskId列表。数组中的元素个数不超过100个。
您在提交检测任务后,可以从返回数据中获取检测任务的taskId。
名称
类型
示例值
描述
code
Integer
200
错误码,和HTTP状态码一致。
msg
String
OK
请求信息的响应消息。
dataId
String
test_data_xxxx
检测对象对应的数据ID。
如果在检测请求参数中传入了dataId,则此处返回对应的dataId。
taskId
String
aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****
检测任务的ID。
url
String
检测对象的URL。
公网HTTP/HTTPS URL,且长度不超过2048个字符。
文件路径格式:oss://<bucket-name>.<endpoint>/<object-name>
extras
JSONObject
xxx
额外调用参数,对应检测请求参数中的extras。
该参数可能会被调整,目前请勿依赖该参数的返回值。
results
Array
名称
类型
示例值
描述
scene
String
ocr
检测场景,取值:ocr。
label
String
ocr
检测结果的分类。取值:
normal:图片中未识别出文字信息。
ocr:图片中包含文字信息。
suggestion
String
review
建议用户执行的操作,取值:
pass:无需关注返回结果。
review:关注识别出的文字信息。
rate
Float
99.91
在OCR图文识别场景中,可以不用关注该返回值。
ocrLocations
Array
ocrData
Array
本文提供了调用图片异步检测任务的具体内容,
静态图(非GIF图片)有文字时,返回识别出来的所有文字信息组合。通常文本组合信息存储于数组第一个元素上。
frames
Array
xxx
动态图(GIF图片)有文字时,返回识别出来的每一帧及对应的文字。
ocrDetailInfo
Object
只有在异步检测任务的请求参数extras中传入了{"type":"advanced"}才会返回该结果。
名称
类型
示例值
描述
wordNum
Integer
字块数量。
wordsInfo
Object
名称
类型
示例值
描述
charInfo
Array
direction
Integer
文字方向。取值:
0:横行
1:竖行
pos
Array
prob
Integer
99
置信度。
word
String
林下漏光
字块包含的文字内容。
请求示例
正常返回示例
普通图文OCR
高精度图文OCR
关注阿里云公众号或下载阿里云APP,关注云资讯,随时随地运维管控云服务