阅读(2211) (23)

微信小程序 OCR·printedText

2020-07-29 10:01:14 更新

ocr.printedText

本接口应在服务器端调用,详细说明参见服务端API
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载
wx-server-sdk >= 0.4.0

本接口提供基于小程序的通用印刷体 OCR 识别

调用方式:

  • HTTPS 调用
  • 云调用

HTTPS 调用

请求地址

POST https://api.weixin.qq.com/cv/ocr/comm?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN

请求参数

属性 类型 默认值 必填 说明
access_token string 接口调用凭证
img_url string 要检测的图片 url,传这个则不用传 img 参数。
img FormData form-data 中媒体文件标识,有filename、filelength、content-type等信息,传这个则不用传 img_url。

返回值

Object

返回的 JSON 数据包

属性 类型 说明
errcode string 错误码
errmsg string 错误信息
items string 识别结果
img_size string 图片大小

使用说明

接口限制 内测期间已认证的订阅号、服务号、企业号、小程序可直接调用,次数限制为500次/天。

使用 Tips 此接口为后台接口,可基于自有业务承载情况,搭配小程序的拍照、相册选照等一起使用,即可完成身份证照片的采集、上传、识别、信息返回等流程,用于需要基于身份证、银行卡等实体卡或证,采集照片或文字信息等的业务场景。

图片说明 文件大小限制:小于2M

图片支持使用img参数实时上传,也支持使用img_url参数传送图片地址,由微信后台下载图片进行识别。 通用印刷体OCR适用于屏幕截图、印刷体照片等场景

请求数据示例

示例1:

curl https://175.178.95.144/zijie/pic/weixinapp/comm’“http://api.weixin.qq.com/cv/ocr/comm?access_token=ACCESS_TOCKEN”

返回数据示例

{
    "errcode": 0,
    "errmsg": "ok",
    "items": [ //识别结果
        {
            "text": "腾讯",
            "pos": {
                "left_top": {
                    "x": 575,
                    "y": 519
                },
                "right_top": {
                    "x": 744,
                    "y": 519
                },
                "right_bottom": {
                    "x": 744,
                    "y": 532
                },
                "left_bottom": {
                    "x": 573,
                    "y": 532
                }
            }
        },
        {
            "text": "微信团队",
            "pos": {
                "left_top": {
                    "x": 670,
                    "y": 516
                },
                "right_top": {
                    "x": 762,
                    "y": 517
                },
                "right_bottom": {
                    "x": 762,
                    "y": 532
                },
                "left_bottom": {
                    "x": 670,
                    "y": 531
                }
            }
        }
    ],
    "img_size": { //图片大小
        "w": 1280,
        "h": 720
    }
}

云调用

云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

接口方法

openapi.ocr.printedText
需在 config.json 中配置 ocr.printedText API 的权限,详情

请求参数

属性 类型 默认值 必填 说明
imgUrl string 要检测的图片 url,传这个则不用传 img 参数。
img FormData form-data 中媒体文件标识,有filename、filelength、content-type等信息,传这个则不用传 img_url。

img 的结构

属性 类型 默认值 必填 说明
contentType string 数据类型,传入 MIME Type
value Buffer 文件 Buffer

返回值

Object

返回的 JSON 数据包

属性 类型 说明
errCode string 错误码
errMsg string 错误信息
items string 识别结果
imgSize string 图片大小

异常

Object

抛出的异常

属性 类型 说明
errCode string 错误码
errMsg string 错误信息

errCode 的合法值

说明 最低版本

使用说明

接口限制 内测期间已认证的订阅号、服务号、企业号、小程序可直接调用,次数限制为500次/天。

使用 Tips 此接口为后台接口,可基于自有业务承载情况,搭配小程序的拍照、相册选照等一起使用,即可完成身份证照片的采集、上传、识别、信息返回等流程,用于需要基于身份证、银行卡等实体卡或证,采集照片或文字信息等的业务场景。

图片说明 文件大小限制:小于2M

图片支持使用img参数实时上传,也支持使用img_url参数传送图片地址,由微信后台下载图片进行识别。 通用印刷体OCR适用于屏幕截图、印刷体照片等场景

请求数据示例

const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.ocr.printedText({
        type: 'photo',
        imgUrl: 'ENCODE_URL'
      })
    return result
  } catch (err) {
    return err
  }
}

// cloud = require('wx-server-sdk')
// ...
// 方法返回 Promise
cloud.openapi.ocr.printedText({
  type: 'photo',
  img: {
    contentType: 'image/png',
    value: Buffer
  }
})

返回数据示例

{
    "errcode": 0,
    "errmsg": "ok",
    "items": [ //识别结果
        {
            "text": "腾讯",
            "pos": {
                "left_top": {
                    "x": 575,
                    "y": 519
                },
                "right_top": {
                    "x": 744,
                    "y": 519
                },
                "right_bottom": {
                    "x": 744,
                    "y": 532
                },
                "left_bottom": {
                    "x": 573,
                    "y": 532
                }
            }
        },
        {
            "text": "微信团队",
            "pos": {
                "left_top": {
                    "x": 670,
                    "y": 516
                },
                "right_top": {
                    "x": 762,
                    "y": 517
                },
                "right_bottom": {
                    "x": 762,
                    "y": 532
                },
                "left_bottom": {
                    "x": 670,
                    "y": 531
                }
            }
        }
    ],
    "img_size": { //图片大小
        "w": 1280,
        "h": 720
    }
}