帮助与文档 > 产品文档 > 视觉智能服务 > API文档 > 图像矫正
图像矫正

图像矫正 API 简介

概念解释

图像矫正服务,对图片进行方向矫正、效果增强、去除卷曲等操作,对压缩后的图像还原清晰图像,提升图像的质量。可与图像矫正、手写文字识别、试卷手写体擦除等服务搭配使用,提升文字内容辨识度和综合识别效果。

说明

Hi,您好,欢迎使用有道智云图像矫正 API接口服务。

如果您想快速体验服务,建议您前往 体验中心 或者在体验中心右下侧找到小程序二维码,扫描进行体验。

本文档主要针对需要集成HTTP API的技术开发工程师,详细描述OCR识别能力相关的技术内容。

如果您有与我们商务合作的需求,可以通过以下方式联系我们:

商务邮箱: AIcloud_Business@corp.youdao.com

如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

客服QQ:1906538062

智云OCR技术交流QQ 1群: 654064748

智云OCR技术交流QQ 2群: 471638046

联系邮箱: zhiyun@corp.youdao.com

温馨提示:

  • 本文档主要针对开发人员,接入测试前需要获取应用ID应用密钥;如果您还没有,请按照 新手指南 获取。
  • 平台向每个账户赠送50元的体验金,供用户集成前测试所用,具体资费规则详见 图像矫正服务报价

接口能力

有道智云图像矫正 API接口提供OCR图像矫正服务,您只需要通过调用有道智云OCR API,传入经过Base64编码的图片,通过POST请求方式,就可以得到相应的图像矫正结果。

有道智云图像矫正 API HTTPS地址:

https://openapi.youdao.com/ocr_dewarp

协议须知

调用方在集成图像矫正 API时,请遵循以下规则。

规则描述
传输方式HTTPS
请求方式POST
字符编码统一使用UTF-8编码
响应格式统一采用application/x-www-form-urlencoded格式

接口调用参数

调用API需要向接口发送以下字段来访问服务。

字段名含义备注必填
appKey应用标识(应用 ID)可在应用管理查看true
curtime时间戳当前UTC时间戳(秒)true
q图片的 base64。编码大小不超过 5MB建议不超过1M,避免对图像质量压缩产生影响true
salt随机字符串最好是UUID,和curtime一起防请求重放true
sign签名信息:sha256(appKey+input+salt+curtime+密钥)生成签名可参考下方示例true
signType签名类型v3true
angle是否进行360角度识别(开启图像增强预处理时有效)0:不开启,1:开启。默认不开启(0)false
enhance是否进行图像增强预处理0:不开启,1:开启。默认不开启(0)false
docDetect是否进行图像检测,0:不开启,1:开启。默认开启(1)。放弃文档检测。服务返回结果将不包含文档类型字段false
docDewarp是否进行图像矫正,同时将自动跳过轮廓分割。返回结果中的 'dewarped' 字段中是未矫正的图0:不开启,1:开启。默认开启(1),跳过矫正,同时将自动跳过轮廓分割。返回结果中的 'dewarped' 字段中是未矫正的图false
dewarpHeight指定矫正图的目标尺寸(高),宽度存在时有效0-6000false
dewarpWidth指定矫正图的目标尺寸(宽),高度存在时有效0-6000false

签名生成方法如下:

signType=v3;
sign=sha256(应用ID+input+salt+curtime+应用密钥);
其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

如果对签名有疑问,可以参看文档末尾各语言demo。

输出结果

返回的结果是json格式,具体说明如下:

字段类型字段说明
requestIdtext请求Id
errorCodetext错误码
msgtext错误信息
originalImgtextbase64编码,原图
dewarpResultsjsonarray图像处理结果List
+dewarpedtextbase64编码,矫正后的图像
+docTypetext版面类型,取值范围是{"A4", "A3_2", "A3_3"},依次表示A4版面、A3双栏、A3三栏
+correctionSymboltext内容完全等同于原王标版本的符号检测的服务返回结果,详见下述例子
+isDewarpedtext当前文档是否被矫正,其取值范围是{"true", "false"}。值为true表明当前图是经过矫正的,值为false表明当前图是被放弃矫正的(常见于A3版面中,由于矫正算法计算出的旋转角过大,为避免误矫正,遂放弃矫正)

correctionSymbols 即为保存了该文档中符号信息的字典,例如:

{'symbolRegions': [{'boundingBox': '0,231,66,231,66,304,0,304'},
{'boundingBox': '2,951,47,951,47,996,2,996'},
{'boundingBox': '373,119,431,119,431,185,373,185'},
{'boundingBox': '68,1025,118,1025,118,1091,68,1091'}]}

具体可参见下面的参考示例。

参考示例

识别的返回结果:

{
    "errorCode": "0",
    "msg": "SUCCESS",
    "requestId": "534fb4c9-6490-41ce-9dd2-c416f68f579c",
    "dewarpResults": [{
        "dewarped": "/9j/4AAQSkZJRgABAQA==......",  //图片base64
        "docType": "A3_3",
        "correctionSymbol": "{\"symbolRegions\":[],\"symbolLabels\":[]}",
        "isDewarped": "true"
    }],
    "originalImg": "/9j/4AAQSkZJRgABAgA==......" //图片base64
}

服务配置

支持图片格式每小时最大请求次数图片大小
jpg\png\bmp3600图像编码后大小必须小于5M,建议不要超过1M,会影响图片质量

错误代码列表

错误码含义
101缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。
102不支持的语言类型
103翻译文本过长
104不支持的API类型
105不支持的签名类型
106不支持的响应类型
107不支持的传输加密类型
108应用ID无效,注册账号,登录后台创建应用并完成绑定,可获得应用ID和应用密钥等信息
109batchLog格式不正确
110无相关服务的有效应用,应用没有绑定。注:某些服务的结果发音需要tts服务,需要在控制台创建语音合成实例绑定应用后方能使用。
111开发者账号无效
112请求服务无效
113q不能为空
114不支持的图片传输方式
201解密失败,可能为DES,BASE64,URLDecode的错误
202签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保 img 为 UTF-8 编码.
203访问IP地址不在可访问IP列表
205请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南
206因为时间戳无效导致签名校验失败
207重放请求
301辞典查询失败
302翻译查询失败
303服务端的其它异常
304会话闲置太久超时
401账户已经欠费停
402offlinesdk不可用
411访问频率受限,请稍后访问
412长请求过于频繁,请稍后访问
46001未接收到图片
46002图片过大
46003图像处理失败
46004不支持angle类型
46005不支持enhance类型
46008不支持docDetect类型
46009不支持docDewarp类型
46010不支持dewarp尺寸类型

常用语言 Demo

Java 示例

图像矫正 Java demo

Python3 示例

图像矫正 python3 demo

C#示例

图像矫正 c# demo

PHP 示例

图像矫正 php demo

go 示例

图像矫正 go demo

常见问题

可参考图像矫正服务常见问题查阅解决方案,若未能解决问题可联系相关技术同学沟通。