You need to enable JavaScript to run this app.
文档中心
文档控制台
注册
veImageX

veImageX

复制全文
下载 pdf
AI 能力组件 2.0
文字识别 OCR
复制全文
下载 pdf
文字识别 OCR

文字识别 OCR 附加组件利用 AI 能力,可将图片中的文字信息转换为可编辑文本。该组件支持通用印刷体和营业执照识别场景,为您提供文字内容(支持简体中文和英文)及文字框坐标,从而提高您的信息处理效率。本文介绍如何使用文字识别 OCR 附加组件。
Image

使用场景
  • 资质审查:在银行、信贷、零售和电商等行业中,识别并核验营业执照、商标注册证等证件。这有助于节省人力成本、提高审核效率,并有效降低业务风险。
  • 内容审核与管理:在社交、电商等平台,识别图片中的违规文字,例如不文明用语、涉黄、涉暴等内容。这有助于快速定位问题图片并进行审核,从而有效规避业务风险。
  • 纸质文件内容电子化:将书本、论文、档案、PPT 等印刷文件内容快速电子化。识别并整理纸质文件中的文本,可方便学校、图书馆、企事业单位等进行资料录入,进而提高内容整理的效率。

使用限制

为确保能够生成图像,请满足以下限制。

  • 输入分辨率:短边 ≤ 2160 px,长边 ≤ 3840 px。如果为其他分辨率,请先通过模板变更图片分辨率。
  • 输入大小:单张图 ≤ 10 MB。如果超出 10 MB,请先通过模板压缩图片大小。
  • 输入格式:.png、.jpg、.jpeg、.webp、.heic、.avif。如果为其他格式,请先通过模板变更图片格式。

使用方法

前提条件

  • 开通 veImageX 产品服务创建服务
  • 已开通智能处理计费配置
  • (可选)如需完成以下操作,确保已新建模板
    • 处理输入图像:如果输入图像不符合输入限制,您可以通过模板来压缩图片大小或变更图片格式等,再将处理后的图片作为输入图像。
    • 处理生成图像:对生成的图像进行二次处理,例如添加水印或调整分辨率。

步骤一:调用 AI 能力

方式一:通过 API 调用

同步处理

调用同步处理接口 AIProcess,提交一条 URL 或 URI 资源执行同步 AI 图像处理任务。
请求示例

POST https://imagex.volcengineapi.com/?Action=AIProcess&Version=2023-05-01
{
    "ServiceId": "91**2g", // 必选。服务 ID。
    "WorkflowTemplateId": "system_workflow_image_ocr", // 必选。模板 ID。
    "WorkflowParameter": "{\"Input\":{\"ObjectKey\":\"example.webp\",\"DataType\":\"uri\"},\"OCRParam\":{\"ModelId\":\"default\",\"Scene\":\"general\"}}" // 必选。模板参数。
}

其中,

  • ServiceId:服务 ID,可从服务管理页面获取。
  • WorkflowTemplateId:取值固定为 system_workflow_image_ocr
  • WorkflowParameter:根据输入参数,设置该参数取值。

返回示例

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "AIProcess",
        "Version": "2023-05-01",
        "Service": "ImageX",
        "Region": "cn-north-1"
    },
    "Result": {
        "Output": "{\"Scene\":\"general\",\"GeneralResult\":{\"Content\":\"TEST\",\"Location\":[[64,57],[140,57],[140,87],[64,87]],\"Confidence\":0.999030}}"
    }
}

Output 的参数含义详见输出参数

异步处理

批量执行 AI 图像处理任务。

注意

确保已新建并启动批量处理任务队列。详见步骤一:新建并启动任务队列

  1. 调用异步处理接口 CreateImageAITask,创建批量处理任务。
    请求示例

    POST https://imagex.volcengineapi.com/?Action=CreateImageAITask&Version=2023-05-01
    {
        "ServiceId": "5s****fo", // 必选。服务 ID。
        "DataType": "uri", // 必选。图片地址类型,支持取值 uri 和 url。
        "DataList": [
            "a.png",
            "uridemo.png"
        ], // 必选。图片 URI 或 URL 列表(URI 不包含 tos-*-i-* 前缀)。
        "CallbackConf": { // 可选。回调配置。
            "Method": "HTTP", // 必选。回调方式,取值固定为 HTTP。
            "Endpoint": "https://demo.com", // 必选。回调地址,用于接收处理结果。
            "DataFormat": "JSON", // 可选。回调数据格式,支持取值 XML 和 JSON。
            "Args": "product id", // 可选。业务自定义回调参数。
            "Type": "task" // 可选。回调触发类型,支持取值 task 和 entry。默认值为 entry。
        },
        "WorkflowParameter": "{\"OCRParam\":{\"ModelId\":\"default\",\"Scene\":\"general\"}}", // 必选。模板参数。
        "WorkflowTemplateId": "system_workflow_image_ocr", // 必选。模板 ID。
        "QueueId": "62f224ce61****826e38c29a" // 必选。队列 ID。
    }
    

    其中,

    • WorkflowTemplateId:取值固定为 system_workflow_image_ocr
    • WorkflowParameter:根据输入参数,设置该参数取值。
      返回示例
    {
        "ResponseMetadata": {
            "RequestId": "20230604110420****100232280022D31",
            "Action": "CreateImageAITask",
            "Version": "2023-05-01",
            "Service": "ImageX",
            "Region": "cn-north-1"
        },
        "Result": {
            "TaskId": "649b9d3****5537684010a7", // 任务 ID。
            "QueueId": "62f224ce61****826e38c29a" // 队列 ID。
        }
    }
    
  2. 通过以下任一方式获取图像处理结果。

    • 回调通知:如果您在上一步设置了回调地址(Endpoint),则当任务完成后,veImageX 会向该回调地址发送回调消息。详见回调
    • 主动查询:如果您未设置回调地址,调用 GetImageAIDetails 接口,获取图像处理结果。

方式二:通过服务端 SDK 调用

veImageX 提供了以下编程语言的 SDK,方便您调用 API。

前提条件

调用接口前,请先完成 Golang SDK 的安装及初始化操作。

同步处理

提交一条 URL 或 URI 资源执行同步 AI 图像处理任务。详见同步处理

package imagex_test

import (
        "context"
        "encoding/json"
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_AIProcess(t *testing.T) {
        instance := imagex.NewInstance()

        instance.SetCredential(base.Credentials{
              // 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。
                AccessKeyID:     "ak",
                SecretAccessKey: "sk",
        })

        param := &imagex.AIProcessReq{
                AIProcessBody: &imagex.AIProcessBody{
                  ServiceID: "91**2g", // 必选。服务 ID。
                  WorkflowTemplateID: "system_workflow_image_ocr",   // 必选。模板 ID。固定取值。
                  WorkflowParameter: "{\"Input\":{\"ObjectKey\":\"a.png\",\"DataType\":\"uri\"},\"OCRParam\":{\"ModelId\":\"default\",\"Scene\":\"general\"}}", // 必选。根据本文模板说明 > 输入参数,设置该参数取值。
 },
        }
        
        resp, err := instance.AIProcess(context.Background(), param)

        if err != nil {
                fmt.Printf("error %v", err)
        } else {
                t, _ := json.Marshal(resp)
                fmt.Printf("success %v", string(t))
        }
}

异步处理

  1. 创建批量处理任务。接口参数说明详见 CreateImageAITask

    package imagex_test
    
    import (
            "context"
            "encoding/json"
            "fmt"
            "testing"
    
            "github.com/volcengine/volc-sdk-golang/base"
            imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
    )
    
    func Test_CreateImageAITask(t *testing.T) {
            instance := imagex.NewInstance()
    
            instance.SetCredential(base.Credentials{
                  // 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
                  // 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。        
                    AccessKeyID:     "ak",
                    SecretAccessKey: "sk",
            })
    
            param := &imagex.CreateImageAITaskReq{
                CreateImageAITaskBody: &imagex.CreateImageAITaskBody{
                   ServiceID: "5s****fo",                       // 必选。服务 ID。
                   QueueID:   "649a9dbc32**064d44cf5b0",        // 必选。队列 ID。
                   DataType:  "uri",                            // 必选。图片地址类型,支持取值 uri 和 url。
                   DataList:  []string{"a.png", "uridemo.png"}, // 必选。图片 URI 或 URL 列表(URI 不包含 tos-*-i-* 前缀)。
                   CallbackConf: &imagex.CreateImageAITaskBodyCallbackConf{ // 可选。回调配置。
                      Method:     "HTTP",             // 必选。回调方式,取值固定为 HTTP。
                      Endpoint:   "https://demo.com", // 必选。回调地址,用于接收处理结果。
                      DataFormat: "JSON",             // 可选。回调数据格式,支持取值 XML 和 JSON。
                      Args:       "productid",        // 可选。业务自定义回调参数。
                      Type:       "task",             // 可选。回调触发类型,支持取值 task 和 entry。默认值为 entry。
                   },
                   WorkflowParameter:  "{\"OCRParam\":{\"ModelId\":\"default\",\"Scene\":\"general\"}}", // 必选。根据本文模板说明 > 输入参数,设置该参数取值。
                   WorkflowTemplateID: "system_workflow_image_ocr",                                                // 必选。模板 ID。固定取值。
                },
            }
    
            resp, err := instance.CreateImageAITask(context.Background(), param)
    
            if err != nil {
                    fmt.Printf("error %v", err)
            } else {
                    t, _ := json.Marshal(resp)
                    fmt.Printf("success %v", string(t))
            }
    }
    
  2. 通过以下任一方式获取图像处理结果。

    • 回调通知:如果您在上一步设置了回调地址,则当任务完成后,veImageX 会向该回调地址发送回调消息。详见回调
    • 主动查询:如果您未设置回调地址,需主动获取图像处理结果。接口参数说明详见 GetImageAIDetails
      package imagex_test
      
      import (
              "context"
              "encoding/json"
              "fmt"
              "testing"
      
              "github.com/volcengine/volc-sdk-golang/base"
              imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
      )
      
      func Test_GetImageAIDetails(t *testing.T) {
              instance := imagex.NewInstance()
      
              instance.SetCredential(base.Credentials{
                    // 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
                    // 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。              
                      AccessKeyID:     "ak",
                      SecretAccessKey: "sk",
              })
      
              param := &imagex.GetImageAIDetailsQuery{
                  QueueID: "649a9dbc32**064d44cf5b0", // 必选。队列 ID。
                  TaskID: "67174744a**54449623155b9", // 必选。任务 ID。
                  StartTime: 1684713599, // 必选。查询开始时间。Unix 秒级时间戳。
                  EndTime: 1684913599, // 必选。查询结束时间。Unix 秒级时间戳。
                  Status: "Success", // 可选。任务执行状态。默认返回所有任务。
                  SearchPtn: "test", // 可选。图片 URI 或 URL 关键字。默认返回所有任务。
                  Limit: 10, // 必选。分页条数。取值范围为 (0, 100]。
                  Offset: 0, // 可选。分页偏移量。
                  ServiceID: "5s****fo", // 必选。服务 ID。
              }
      
              resp, err := instance.GetImageAIDetails(context.Background(), param)
      
              if err != nil {
                      fmt.Printf("error %v", err)
              } else {
                      t, _ := json.Marshal(resp)
                      fmt.Printf("success %v", string(t))
              }
      }
      

步骤二:查看结果图

通过调用服务端 SDK 获取资源地址(推荐)

veImageX 提供了以下编程语言的 SDK,方便您调用 API。详见方式一:通过调用服务端 SDK 获取资源地址(推荐)

通过控制台获取资源地址

资源管理页面完成以下操作,获取资源地址。
Image

模板说明

模板 ID

system_workflow_image_ocr

输入参数

您需要将输入参数序列化为 JSON 字符串后,作为同步处理接口 AIProcess 或异步处理接口 CreateImageAITaskWorkflowParameter 参数传入,或作为批量处理时的模板配置参数传入。

参数
类型
是否必选
示例值
说明
Input
Object
-
输入图像的信息。
仅在调用同步处理接口 AIProcess 时必选。
OCRParam
Object
-
文字识别 OCR 参数。

输出参数

veImageX 服务会将输出参数序列化为 JSON 字符串后作为 AIProcess 接口、回调GetImageAIDetails 接口的 Output 参数返回。

参数

类型

示例值

说明

Scene

String

general

图像 OCR 的识别场景。取值如下:

  • general:通用场景,用于识别通用印刷体文本。
  • license:营业执照场景,用于识别营业执照中的社会信用代码等文本信息。

GeneralResult

List of <GeneralTextInfo>

{"Content":"TEST","Location":[[64,57],[140,57],[140,87],[64,87]],"Confidence":"0.999030"}

Scene 取值为 general 时的返回结果。

LicenseResult

Map<String,GeneralTextInfo>

{"USCC":{"Content":"91330100****100Y43","Location":[[100, 50], [300, 50], [300, 80], [100, 80]]}, "address":{"Content":"北京市海淀区xx科技园","Location":[[100, 90], [400, 90], [400, 120], [100, 120]]}, "capital":{"Content":"1000万元人民币","Location":[[100, 130], [300, 130], [300, 160], [100, 160]]}, "corporation":{"Content":"张三","Location":[[100, 170], [200, 170], [200, 200], [100, 200]]}, "expiry_date":{"Content":"2030-12-31","Location":[[100, 210], [250, 210], [250, 240], [100, 240]]}, "name":{"Content":"北京市某某科技有限公司","Location":[[100, 20], [450, 20], [450, 50], [100, 50]]}, "register_date":{"Content":"2010-01-01","Location":[[100, 250], [250, 250], [250, 280], [100, 280]]}, "scope":{"Content":"技术开发、技术咨询、技术服务","Location":[[100, 290], [500, 290], [500, 350], [100, 350]]}}

Scene 取值为 license 时,返回一个包含以下字段的 Map 集合,其中每个字段值的结构均与 GeneralTextInfo 相同。

  • USCC:统一社会信用代码,是企业的唯一身份标识码。
  • address:企业注册地址。
  • capital:注册资本。
  • corporation:法定代表人姓名。
  • expiry_date:营业执照的有效期截止日期。
  • name:企业名称。
  • register_date:企业注册日期。
  • scope:企业经营范围。

GeneralTextInfo

参数

类型

示例值

说明

Content

String

TEST

文字内容。

Location

[][]int

[[64,57],[140,57],[140,87],[64,87]]

以图片左上角为坐标原点,按左上、右上、右下、左下的顺序提供文字框的坐标。

Confidence

Float

0.999030

识别结果的可信度,取值范围为 [0,1]。数值越高,表示结果越可信。

说明

仅在 Scene 取值为 general 时会返回该字段。

最近更新时间:2026.01.15 18:14:08
这个页面对您有帮助吗?
有用
有用
无用
无用