阿里云视觉智能开放平台--文字识别使用教程

简介: 文字识别技术是基于阿里云深度学习技术,为您提供通用的印刷文字识别和文档结构化等能力。文字识别技术可以灵活应用于证件文字识别、发票文字识别、文档识别与整理等行业场景,满足认证、鉴权、票据流转审核等业务需求。

概述

文字识别技术是基于阿里云深度学习技术,为您提供通用的印刷文字识别和文档结构化等能力。文字识别技术可以灵活应用于证件文字识别、发票文字识别、文档识别与整理等行业场景,满足认证、鉴权、票据流转审核等业务需求。

Step By Step

1、服务开通,参考链接:阿里云视觉智能开放平台使用简明教程

2、目前文字识别提供5大类:个人类卡证识别、资产类证件识别、通用文字类识别、车辆交通类识别和车辆交通类识别,共21个API的接口能力

3、Code Sample

增值税发票识别接口为例分别演示使用本地图片及OSS图片的使用;

其它接口的使用方式类似,注意目前:二维码识别RecognizeQrCode API不支持上传本地文件,但是支持公网图片URL,其它API接口支持OSS地址和本地图片上传。


  • 3.1 pom.xml
    <dependencies>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>ocr20191230</artifactId>
            <version>0.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.52</version>
        </dependency>
    </dependencies>

3.2 Java Code

import com.alibaba.fastjson.JSON;
import com.aliyun.ocr20191230.Client;
import com.aliyun.ocr20191230.models.RecognizeVATInvoiceAdvanceRequest;
import com.aliyun.ocr20191230.models.RecognizeVATInvoiceRequest;
import com.aliyun.ocr20191230.models.RecognizeVATInvoiceResponse;
import com.aliyun.tearpc.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

public class RecognizeVATInvoiceDemo {

    public static void main(String[] args) throws Exception {

        // accessKeyId、accessKeySecret 获取参考:https://yq.aliyun.com/articles/693979
        Config config = new Config();
        config.accessKeyId= "LTAIOZZg********";
        config.accessKeySecret= "v7CjUJCMk7j9aK****************";
        config.regionId="cn-shanghai";
        config.protocol = "https";
        config.endpoint="ocr.cn-shanghai.aliyuncs.com";

        Client client = new Client(config);
        String filePath = "C:\\Users\\Administrator\\Desktop\\2019041500152001020003743286_0.jpg";
        String fileURL = "https://viapi-test.oss-cn-shanghai.aliyuncs.com/test/ant_ai/vat_invoice/2019041500152001020003743286_0.jpg";

        recognizeVATInvoiceAdvance(client, filePath);
        recognizeVATInvoice(client, fileURL);
    }

    /**
     * 增值税发票识别--使用本地图片
     * @param client
     * @param filePath 本地图片的路径
     */
    public static void recognizeVATInvoiceAdvance(Client client, String filePath)
    {
        RecognizeVATInvoiceAdvanceRequest recognizeVATInvoiceAdvanceRequest = new RecognizeVATInvoiceAdvanceRequest();

        InputStream inputStream = null;
        try {
            inputStream = new FileInputStream(new File(filePath));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        // 传递请求参数
        recognizeVATInvoiceAdvanceRequest.fileURLObject = inputStream;
        recognizeVATInvoiceAdvanceRequest.fileType = "jpg";

        try {
            RecognizeVATInvoiceResponse recognizeVATInvoiceResponse = client.recognizeVATInvoiceAdvance(recognizeVATInvoiceAdvanceRequest, new RuntimeOptions());
            System.out.println(JSON.toJSONString(recognizeVATInvoiceResponse));// 输出请求结果
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 增值税发票识别--使用OSS图片
     * @param client
     * @param fileURL OSS 图片URL
     */
    public static void recognizeVATInvoice(Client client, String fileURL)
    {
        RecognizeVATInvoiceRequest recognizeVATInvoiceRequest = new RecognizeVATInvoiceRequest();

        recognizeVATInvoiceRequest.fileType = "jpg";
        recognizeVATInvoiceRequest.fileURL = fileURL;

        try {
            RecognizeVATInvoiceResponse recognizeVATInvoiceResponse = client.recognizeVATInvoice(recognizeVATInvoiceRequest,new RuntimeOptions());
            System.out.println(JSON.toJSONString(recognizeVATInvoiceResponse));// 输出请求结果
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  • 3.3 Result
{"data":{"box":{"checkers":[589.0,1003.0,662.0,1033.0],"clerks":[986.0,1003.0,1060.0,1033.0],"invoiceAmounts":[1364.0,776.0,1438.0,804.0],"invoiceCodes":[1378.0,41.0,1520.0,68.0],"invoiceDates":[1376.0,115.0,1596.0,145.0],"invoiceFakeCodes":[1376.0,153.0,1640.0,181.0],"invoiceNoes":[1377.0,78.0,1478.0,105.0],"payeeAddresses":[355.0,909.0,734.0,939.0],"payeeBankNames":[354.0,947.0,938.0,977.0],"payeeNames":[356.0,833.0,633.0,865.0],"payeeRegisterNoes":[356.0,873.0,571.0,902.0],"payees":[189.0,1003.0,264.0,1033.0],"payerAddresses":[0.0,0.0,0.0,0.0],"payerBankNames":[0.0,0.0,0.0,0.0],"payerNames":[354.0,222.0,700.0,255.0],"payerRegisterNoes":[358.0,262.0,567.0,290.0],"sumAmounts":[532.0,774.0,629.0,805.0],"taxAmounts":[1606.0,721.0,1658.0,748.0],"withoutTaxAmounts":[1265.0,721.0,1339.0,749.0]},"content":{"antiFakeCode":"02702870934284730434","checker":"赵弯弯","clerk":"赵弯弯","invoiceAmount":"200.00","invoiceCode":"031001600311","invoiceDate":"20190415","invoiceNo":"80625433","payee":"赵弯弯","payeeAddress":"上海虹桥机场迎宾二路161号22342185","payeeBankName":"上海浦东发展银行空港支行076389-98910158000000030-22","payeeName":"上海机场(集团)有限公司","payeeRegisterNo":"91310000132284295X","payerAddress":"","payerBankName":"","payerName":"百特医疗用品贸易(上海)有限公司","payerRegisterNo":"91310000607402073L","sumAmount":"200.00","taxAmount":"9.52","withoutTaxAmount":"190.48"}},"requestId":"75E88483-753C-4D5E-9EF5-5E132FF67DED"}
{"data":{"box":{"checkers":[589.0,1003.0,662.0,1033.0],"clerks":[986.0,1003.0,1060.0,1033.0],"invoiceAmounts":[1364.0,776.0,1438.0,804.0],"invoiceCodes":[1378.0,41.0,1520.0,68.0],"invoiceDates":[1376.0,115.0,1596.0,145.0],"invoiceFakeCodes":[1376.0,153.0,1640.0,181.0],"invoiceNoes":[1377.0,78.0,1478.0,105.0],"payeeAddresses":[355.0,909.0,734.0,939.0],"payeeBankNames":[354.0,947.0,938.0,977.0],"payeeNames":[356.0,833.0,633.0,865.0],"payeeRegisterNoes":[356.0,873.0,571.0,902.0],"payees":[189.0,1003.0,264.0,1033.0],"payerAddresses":[0.0,0.0,0.0,0.0],"payerBankNames":[0.0,0.0,0.0,0.0],"payerNames":[354.0,222.0,700.0,255.0],"payerRegisterNoes":[358.0,262.0,567.0,290.0],"sumAmounts":[532.0,774.0,629.0,805.0],"taxAmounts":[1606.0,721.0,1658.0,748.0],"withoutTaxAmounts":[1265.0,721.0,1339.0,749.0]},"content":{"antiFakeCode":"02702870934284730434","checker":"赵弯弯","clerk":"赵弯弯","invoiceAmount":"200.00","invoiceCode":"031001600311","invoiceDate":"20190415","invoiceNo":"80625433","payee":"赵弯弯","payeeAddress":"上海虹桥机场迎宾二路161号22342185","payeeBankName":"上海浦东发展银行空港支行076389-98910158000000030-22","payeeName":"上海机场(集团)有限公司","payeeRegisterNo":"91310000132284295X","payerAddress":"","payerBankName":"","payerName":"百特医疗用品贸易(上海)有限公司","payerRegisterNo":"91310000607402073L","sumAmount":"200.00","taxAmount":"9.52","withoutTaxAmount":"190.48"}},"requestId":"9B97F14B-0970-45C7-BE9E-CD3204BB3E1B"}

参考链接

文字识别介绍
阿里云视觉智能开放平台使用简明教程

相关文章
|
29天前
|
机器学习/深度学习 编解码 人工智能
阿里云Stable Diffusion操作教程
阿里云Stable Diffusion操作教程
191 0
|
30天前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
1月前
|
SQL 关系型数据库 MySQL
2024年阿里云数据库创建_数据库账号密码和连接教程
阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案。详细阿里云数据库购买和使用流程方法如下
|
1月前
|
弹性计算 安全 数据安全/隐私保护
2024年阿里云幻兽帕鲁Palworld联机服务器搭建部署指南,图文教程
近年来,幻兽帕鲁以其独特的游戏魅力,迅速成为玩家们的热门选择。对于许多想要与好友一起体验这款游戏的玩家来说,如何搭建一个稳定的联机服务器成为了他们关注的焦点。今天,我将为大家带来一篇简单易懂的图文教程,让你轻松搭建幻兽帕鲁的联机服务器,与好友们畅快游戏。
|
1月前
|
弹性计算 网络协议 安全
宝塔面板放行阿里云端口命令操作教程
布署宝塔面板阿里云服务器需要开放哪些端口?阿里云服务器“安全组设置”详解
174 1
|
27天前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
367 3
|
1月前
|
弹性计算 运维 安全
2024年阿里云上自建Palworld/幻兽帕鲁服务器教程
对于深爱《幻兽帕鲁》的玩家们,能够与好友共同联机探索游戏的奇幻世界,无疑是提升游戏体验的一大乐趣。但如何迅速且有效地搭建一个稳定且高效的联机服务器呢?今天,我们就来为大家分享一个详细的教程,让你轻松掌握自建《幻兽帕鲁》服务器的方法,让联机游戏之旅更加顺畅。
1411 4
|
17天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
77 3
|
27天前
|
弹性计算 关系型数据库 MySQL
阿里云MySQL云数据库优惠价格、购买和使用教程分享!
阿里云数据库使用流程包括购买和管理。首先,选购支持MySQL、SQL Server、PostgreSQL等的RDS实例,如选择2核2GB的MySQL,设定地域和可用区。购买后,等待实例创建。接着,创建数据库和账号,设置DB名称、字符集及账号权限。最后,通过DMS登录数据库,填写账号和密码。若ECS在同一地域和VPC内,可内网连接,记得将ECS IP加入白名单。
429 2
|
28天前
|
SQL 关系型数据库 MySQL
阿里云mysql数据库价格购买和使用教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,通过选择配置、地域和可用区完成购买。创建数据库和账号,分配权限。使用DMS登录数据库,进行管理操作。确保ECS与RDS在同一地域的VPC内,配置白名单实现内网连接。详细步骤见官方文档。
629 1

相关产品

  • 视觉智能开放平台