算式识别

最近更新时间:2024-10-17 01:26:41

我的收藏

1. 接口描述

接口请求域名: ocr.tencentcloudapi.com 。

本接口支持作业算式题目的自动识别和判分,目前覆盖 K12 学力范围内的 11 种题型,包括加减乘除四则、加减乘除已知结果求运算因子、判断大小、约等于估算、带余数除法、分数四则运算、单位换算、竖式加减法、竖式乘除法、脱式计算和解方程,平均识别精度达到93%以上。

默认接口请求频率限制:10次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:ArithmeticOCR。
Version String 公共参数,本接口取值:2018-11-19。
Region String 公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-beijing, ap-guangzhou, ap-hongkong, ap-shanghai 。
ImageBase64 String 图片的 Base64 值。
支持的图片格式:PNG、JPG、JPEG,暂不支持 GIF 格式。
支持的图片大小:所下载图片经Base64编码后不超过 7M。图片下载时间不超过 3 秒。
图片的 ImageUrl、ImageBase64 必须提供一个,如果都提供,只使用 ImageUrl。
示例值:string
ImageUrl String 图片的 Url 地址。
支持的图片格式:PNG、JPG、JPEG,暂不支持 GIF 格式。
支持的图片大小:所下载图片经 Base64 编码后不超过 7M。图片下载时间不超过 3 秒。
图片存储于腾讯云的 Url 可保障更高的下载速度和稳定性,建议图片存储于腾讯云。
非腾讯云存储的 Url 速度和稳定性可能受一定影响。
示例值:string
SupportHorizontalImage Boolean 用于选择是否支持横屏拍摄。打开则支持横屏拍摄图片角度判断,角度信息在返回参数的angle中,默认值为true
示例值:true
RejectNonArithmeticPic Boolean 是否拒绝非速算图,打开则拒绝非速算图(注:非速算图是指风景人物等明显不是速算图片的图片),默认值为false
示例值:true
EnableDispRelatedVertical Boolean 是否展开耦合算式中的竖式计算,默认值为false
示例值:true
EnableDispMidResult Boolean 是否展示竖式算式的中间结果和格式控制字符,默认值为false
示例值:true
EnablePdfRecognize Boolean 是否开启pdf识别,默认值为true
示例值:true
PdfPageIndex Integer pdf页码,从0开始,默认为0
示例值:0

3. 输出参数

参数名称 类型 描述
TextDetections Array of TextArithmetic 检测到的文本信息,具体内容请点击左侧链接。
示例值:{}
Angle Float 图片横屏的角度(90度或270度)
示例值:0
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 算式识别示例代码

算式识别示例代码

输入示例

POST / HTTP/1.1
Host: ocr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ArithmeticOCR
<公共请求参数>

{
    "ImageUrl": "https://ocr-demo-1254418846.cos.ap-guangzhou.myqcloud.com/document/ArithmeticOCR/ArithmeticOCR1.jpg",
    "SupportHorizontalImage": true
}

输出示例

{
    "Response": {
        "Angle": 0,
        "RequestId": "c69aa49a-b6e2-40f7-a37f-b1802188165f",
        "TextDetections": [
            {
                "AdvancedInfo": "",
                "Answer": "",
                "Confidence": 0,
                "DetectedText": "40*40=1600",
                "ExpressionType": "1",
                "ItemCoord": {
                    "Height": 23,
                    "Width": 117,
                    "X": 290,
                    "Y": 244
                },
                "Polygon": [
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    }
                ],
                "Result": true
            },
            {
                "AdvancedInfo": "",
                "Answer": "",
                "Confidence": 0,
                "DetectedText": "40*50=2000",
                "ExpressionType": "1",
                "ItemCoord": {
                    "Height": 22,
                    "Width": 116,
                    "X": 291,
                    "Y": 283
                },
                "Polygon": [
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    }
                ],
                "Result": true
            },
            {
                "AdvancedInfo": "",
                "Answer": "55*66=3630",
                "Confidence": 0,
                "DetectedText": "55*66=121",
                "ExpressionType": "1",
                "ItemCoord": {
                    "Height": 24,
                    "Width": 106,
                    "X": 291,
                    "Y": 322
                },
                "Polygon": [
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    }
                ],
                "Result": false
            },
            {
                "AdvancedInfo": "",
                "Answer": "",
                "Confidence": 0,
                "DetectedText": "128*5=640",
                "ExpressionType": "1",
                "ItemCoord": {
                    "Height": 24,
                    "Width": 106,
                    "X": 292,
                    "Y": 360
                },
                "Polygon": [
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    }
                ],
                "Result": true
            },
            {
                "AdvancedInfo": "",
                "Answer": "",
                "Confidence": 0,
                "DetectedText": "500-(100+20)=380",
                "ExpressionType": "1",
                "ItemCoord": {
                    "Height": 22,
                    "Width": 156,
                    "X": 291,
                    "Y": 403
                },
                "Polygon": [
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    }
                ],
                "Result": true
            },
            {
                "AdvancedInfo": "",
                "Answer": "",
                "Confidence": 0,
                "DetectedText": "48-(10+20)=18",
                "ExpressionType": "1",
                "ItemCoord": {
                    "Height": 23,
                    "Width": 123,
                    "X": 295,
                    "Y": 441
                },
                "Polygon": [
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    },
                    {
                        "X": -1,
                        "Y": -1
                    }
                ],
                "Result": true
            }
        ]
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.DownLoadError 文件下载失败。
FailedOperation.EmptyImageError 图片内容为空。
FailedOperation.ImageDecodeFailed 图片解码失败。
FailedOperation.ImageNoText 图片中未检测到文本。
FailedOperation.LanguageNotSupport 输入的Language不支持。
FailedOperation.OcrFailed OCR识别失败。
FailedOperation.UnKnowError 未知错误。
FailedOperation.UnOpenError 服务未开通。
InvalidParameterValue.InvalidParameterValueLimit 参数值错误。
LimitExceeded.TooLargeFileError 文件内容太大。
ResourceUnavailable.InArrears 账号已欠费。
ResourceUnavailable.ResourcePackageRunOut 账号资源包耗尽。
ResourcesSoldOut.ChargeStatusException 计费状态异常。