阿里云文字识别(OCR)服务 Quick Start

简介: 阿里云文字识别(Optical Character Recognition,OCR)可以将图片中的文字信息转换为可编辑文本,是一款由阿里巴巴达摩院权威AI团队打造的全栈全场景OCR文本识别类产品。根据客户的业务场景和需求,将产品分为了通用文字识别、个人证照识别、票据凭证识别、教育场景识别、车辆物流识别、企业资质识别、小语种文字识别等,满足各种客户的图片识别需求。由于阿里云视觉智能开放平台和云市场这两个渠道下也具备阿里文字识别服务,一些不熟悉的客户很容易将三者搞混淆,这边简单做下对比。然后再针对个人证照识别下常见的服务-身份证识别功能简单介绍下产品的开通及使用。

一、产品对比

  • 1.1 阿里云文字识别(OCR)与云市场文字识别
    官网阿里云文字识别资源包和云市场一方,都是阿里云官方的渠道,只是产品的服务放在云市场售卖。两者产品能力完全一样,但是两边资源包不通用,调用接口方式不同;另外后续产品上架的新服务,优先上架官网处。

云市场用appcode调用,仅支持资源包,阿里云官网用AccessKey调用,支持资源包和后付费。请参考链接:
官网控制台:https://ocr.console.aliyun.com/overview
官网获取AccessKey:https://help.aliyun.com/document_detail/295361.html
云市场AppCode:https://market.console.aliyun.com/imageconsole/index.htm

  • 1.2 视觉智能开放平台与阿里云文字识别(OCR)

视觉智能平台OCR,则是完全另一个产品,不属于读光OCR,但是其底层技术能力都是达摩院研发,只是不同的开发团队;视觉智能平台除了OCR之外,还有一些别的能力,比如分割抠图、视频理解、视觉生产等。所以相比官网阿里云文字识别(OCR)功能更广一些,而官网文字识别(OCR)做的更加基础一些,对于文字识别的能力更加集中一些。

二、开通服务

  • 2.1 阿里云页面搜索文字识别服务

image.png


image.png


  • 2.2 确认服务后开通

image.png


image.png


image.png


三、调用服务

  • 3.1 读光体验馆体验测试

    • 测试方法:选择所需的产品并在体验馆中上传测试图片或者添加URL地址进行图片解析,右侧为返回的结果。
  • 选择需要的服务

image.png

  • 传测试图片或者添加URL地址进行图片解析

image.png

  • 查看识别结果

image.png

  • 3.2 openAPI快速调试

    • 查看API接口文档获取请求参数

image.png

  • 填入参数发起调用

image.png

  • 3.3 JavaSDK调用身份证识别

    • 导入Maven依赖文件
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>ocr_api20210707</artifactId>
  <version>1.1.3</version>
</dependency>
  • java SDK Code
import com.aliyun.ocr_api20210707.models.RecognizeIdcardResponse;
import com.aliyun.tea.TeaException;
import com.google.gson.Gson;

//印刷文字识别-身份证识别
public class RecognizeIdcardTest {

        /**
         * 使用AK&SK初始化账号Client
         *
         * @param accessKeyId
         * @param accessKeySecret
         * @return Client
         * @throws Exception
         */
        public static com.aliyun.ocr_api20210707.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
            com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                    // 必填,您的 AccessKey ID
                    .setAccessKeyId(accessKeyId)
                    // 必填,您的 AccessKey Secret
                    .setAccessKeySecret(accessKeySecret);
            // 访问的域名
            config.endpoint = "ocr-api.cn-hangzhou.aliyuncs.com";
            return new com.aliyun.ocr_api20210707.Client(config);
        }

        public static void main(String[] args_) throws Exception {
            java.util.List<String> args = java.util.Arrays.asList(args_);
            // 初始化 Client,采用 AK&SK 鉴权访问的方式,此方式可能会存在泄漏风险,建议使用 STS 方式。鉴权访问方式请参考:https://help.aliyun.com/document_detail/378657.html
            // 获取 AK 链接:https://usercenter.console.aliyun.com
            com.aliyun.ocr_api20210707.Client client = RecognizeIdcardTest.createClient("AccessKeyId", "accessKeySecret");
            com.aliyun.ocr_api20210707.models.RecognizeIdcardRequest recognizeIdcardRequest = new com.aliyun.ocr_api20210707.models.RecognizeIdcardRequest()
                    .setUrl("https://img.alicdn.com/tfs/TB1q5IeXAvoK1RjSZFNXXcxMVXa-483-307.jpg");
            com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
            try {
                // 复制代码运行请自行打印 API 的返回值
                RecognizeIdcardResponse recognizeIdcardResponse = client.recognizeIdcardWithOptions(recognizeIdcardRequest, runtime);
                //打印返回数据
                System.out.println(new Gson().toJson(recognizeIdcardResponse));


            } catch (TeaException error) {
                // 如有需要,请打印 error
                com.aliyun.teautil.Common.assertAsString(error.message);
            } catch (Exception _error) {
                TeaException error = new TeaException(_error.getMessage(), _error);
                // 如有需要,请打印 error
                com.aliyun.teautil.Common.assertAsString(error.message);
            }
        }

}
  • 测试结果
{"headers":{"access-control-allow-origin":"*","date":"Thu, 17 Nov 2022 08:01:02 GMT","transfer-encoding":"chunked","vary":"Accept-Encoding","x-acs-request-id":"D70CEC76-7BC5-5528-A3AF-70B8B028F949","connection":"keep-alive","content-type":"application/json;charset\u003dutf-8","x-acs-trace-id":"873340aa87af04fa65ecfe6c189e282f"},"statusCode":200,"body":{"data":"{\"algo_version\":\"0122410b9bb1f2a16e432e55d491b446b16e1600\",\"data\":{\"face\":{\"algo_version\":\"0122410b9bb1f2a16e432e55d491b446b16e1600\",\"angle\":0,\"data\":{\"name\":\"方大呆\",\"sex\":\"女\",\"ethnicity\":\"汉\",\"birthDate\":\"2006年10月2日\",\"address\":\"上海市西藏南路-瞿溪路弘辉名苑\",\"idNumber\":\"371002200610020000\"},\"ftype\":0,\"height\":307,\"orgHeight\":307,\"orgWidth\":483,\"prism_keyValueInfo\":[{\"key\":\"name\",\"keyProb\":100,\"value\":\"方大呆\",\"valuePos\":[{\"x\":82,\"y\":40},{\"x\":142,\"y\":40},{\"x\":142,\"y\":60},{\"x\":82,\"y\":60}],\"valueProb\":100},{\"key\":\"sex\",\"keyProb\":100,\"value\":\"女\",\"valuePos\":[{\"x\":85,\"y\":77},{\"x\":104,\"y\":77},{\"x\":104,\"y\":96},{\"x\":85,\"y\":96}],\"valueProb\":100},{\"key\":\"ethnicity\",\"keyProb\":100,\"value\":\"汉\",\"valuePos\":[{\"x\":192,\"y\":75},{\"x\":212,\"y\":75},{\"x\":212,\"y\":95},{\"x\":192,\"y\":95}],\"valueProb\":100},{\"key\":\"birthDate\",\"keyProb\":100,\"value\":\"2006年10月2日\",\"valuePos\":[{\"x\":76,\"y\":116},{\"x\":214,\"y\":116},{\"x\":214,\"y\":131},{\"x\":76,\"y\":131}],\"valueProb\":100},{\"key\":\"address\",\"keyProb\":100,\"value\":\"上海市西藏南路-瞿溪路弘辉名苑\",\"valuePos\":[{\"x\":73,\"y\":154},{\"x\":278,\"y\":154},{\"x\":278,\"y\":196},{\"x\":73,\"y\":196}],\"valueProb\":100},{\"key\":\"idNumber\",\"keyProb\":100,\"value\":\"371002200610020000\",\"valuePos\":[{\"x\":162,\"y\":256},{\"x\":379,\"y\":256},{\"x\":379,\"y\":274},{\"x\":162,\"y\":274}],\"valueProb\":100}],\"sliceRect\":{\"x0\":0,\"y0\":0,\"x1\":482,\"y1\":0,\"x2\":483,\"y2\":307,\"x3\":0,\"y3\":307},\"width\":483}},\"height\":307,\"orgHeight\":307,\"orgWidth\":483,\"width\":483}","requestId":"D70CEC76-7BC5-5528-A3AF-70B8B028F949"}}

更多参考

新手指引
开发指南

目录
相关文章
|
2天前
|
运维 Serverless 数据处理
Serverless 应用引擎产品使用之阿里云函数计算中的应用、服务及函数之间的关系如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
10 0
|
8天前
|
存储 开发工具 对象存储
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
Javaweb之SpringBootWeb案例之阿里云OSS服务入门的详细解析
14 0
|
17天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务
|
17天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
1月前
|
文字识别 容器
文字识别OCR常见问题之本地部署如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
43 3
|
1月前
|
文字识别 前端开发 API
文字识别OCR常见问题之处理产品图片识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
23 3
|
1月前
|
文字识别
文字识别OCR常见问题之拦截扫描件的识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
20 2
|
1月前
|
数据采集 文字识别
文字识别OCR常见问题之目标区域和KV区域区别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
31 2
|
1月前
|
文字识别 API 开发工具
文字识别OCR常见问题之买了资源包识别不成功扣次数如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
24 3
|
1月前
|
存储 文字识别 算法
文字识别OCR常见问题之图片超过40M不返回结果如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
51 2