腾讯云OCR文字识别的使用

一 什么是OCR?

OCR就是图片文字识别的技术,即将图片的文字信息智能提取出来属于人工智能的范畴。之前用过OCR图像文字识别来作用户身份证上传提取身份信息的功能和上传银行卡来获取银行卡信息的功能。

OCR字符识别是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题的友好性,产品的稳定性,易用性及可行性等。

二 OCR的应用场景

根据识别场景,可大致将OCR分为识别特定场景的专用OCR和识别多种场景的通用OCR。比如现今方兴未艾的证件识别和车牌识别就是专用OCR的典型实例。通用OCR可以用于更复杂的场景,也具有更大的应用潜力。但由于通用图片的场景不固定,文字布局多样,因此难度更高。根据所识别图片的内容,可将场景分为清晰且具有固定模式的简单场景和更为复杂的自然场景。自然场景文本识别的难度极高,原因包括:图片背景极为丰富,经常面临低亮度、低对比度、光照不均、透视变形和残缺遮挡等问题,而且文本的布局可能存在扭曲、褶皱、换向等问题,其中的文字也可能字体多样、字号字重颜色不一的问题。

三 图文识别在项目中实际运用与相关配置

腾讯云官方提供了如下语言支持:
Tencent Cloud SDK 3.0 for Python
Tencent Cloud SDK 3.0 for Java
Tencent Cloud SDK 3.0 for PHP
Tencent Cloud SDK 3.0 for Go
Tencent Cloud SDK 3.0 for NodeJS
Tencent Cloud SDK 3.0 for .NET

本例使用Java语言来示范:
项目为SpringBoot框架搭建开发。
1.第一步引入腾讯云OCR所需依赖的Jar文件:

         <dependency>
            <groupId>com.tencentcloudapi</groupId>
            <artifactId>tencentcloud-sdk-java</artifactId>
            <version>3.0.8</version>
        </dependency>

2.第二步找到腾讯云账号的API 密钥

3.在项目中引入代码:代码可以通过腾讯云的官网直接生成如下图:
在这里插入图片描述

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;

import com.tencentcloudapi.ocr.v20181119.OcrClient;

import com.tencentcloudapi.ocr.v20181119.models.IDCardOCRRequest;
import com.tencentcloudapi.ocr.v20181119.models.IDCardOCRResponse;

public class IDCardOCR
{
    public static void main(String [] args) {
        try{

            Credential cred = new Credential("SecretId
", "SecretKey");
            
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("ocr.tencentcloudapi.com");

            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            
            OcrClient client = new OcrClient(cred, "ap-beijing", clientProfile);
            
            String params = "{\"ImageUrl\":\"图片地址\"}";
            IDCardOCRRequest req = IDCardOCRRequest.fromJsonString(params, IDCardOCRRequest.class);
            
            IDCardOCRResponse resp = client.IDCardOCR(req);
            
            System.out.println(IDCardOCRResponse.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
                System.out.println(e.toString());
        }

    }
    
}

调用结果如下:

{
  "Response": {
    "Name": "孙悟空",
    "Sex": "男",
    "Nation": "汉",
    "Birth": "200",
    "Address": "河南省泌阳县双庙乡闫洼村委闫洼",
    "IdNum": "411325200009069019",
    "Authority": "",
    "ValidDate": "",
    "AdvancedInfo": "{}",
    "RequestId": "0baa0d8a-91cf-49de-b54f-e55234f5e983"
  }
}
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值