一、 OCR

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;

-- 来自百度

二、腾讯云OCR

基于腾讯自研的深度学习技术和海量的数据,提供卡证、票据类印刷体和手写体、自定义模板等多种场景和类型的文字识别服务。

三、接口对接

说明:基于 spring boot 的接口对接

1、添加开发的SDK

<dependency>
<groupId>com.qcloud</groupId>
<artifactId>qcloud-image-sdk</artifactId>
<version>2.3.6</version>
</dependency>

2、编写工具类

注意:此接口对接版本有点低,现在的sdk是2.0了,不过这个工具类是可以正常食用的。2.0的sdk可以官方给出的文档 传送门

import com.qcloud.image.ImageClient;
import com.qcloud.image.exception.AbstractImageException;
import com.qcloud.image.request.*;
import java.io.File; /**
* 腾讯云Ocr文字识别
*
* @author lixingwu
*/
public class OcrUtil {
/*配置参数为空,请自行填写*/
private static final String APP_ID = "";
private static final String SECRET_ID = "";
private static final String SECRET_KEY = "";
private static final String BUCKET_NAME = "";
private static final ImageClient IMAGECLIENT = new ImageClient(APP_ID, SECRET_ID, SECRET_KEY, ImageClient.NEW_DOMAIN_recognition_image_myqcloud_com); /**
* 方法描述:识别身份证URL方式.
* 创建时间:2018-12-19 11:54:36
*
* @param url 图片地址
* @param cardType 0正面,1反面
* @return the string
* @author "lixingwu"
*/
public static String ocrIdCardUrl(String url, Integer cardType) {
String ret = null;
String[] idcardUrlList = new String[]{url};
IdcardDetectRequest idReq = new IdcardDetectRequest(BUCKET_NAME, idcardUrlList, cardType);
try {
ret = IMAGECLIENT.idcardDetect(idReq);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:识别身份证path方式.
* 创建时间:2018-12-19 11:54:36
*
* @param path 图片路径
* @param cardType 0正面,1反面
* @return the string
* @author "lixingwu"
*/
public static String ocrIdCardPath(String path, Integer cardType) {
String ret = null;
File[] idcardUrlList = new File[]{new File(path)};
IdcardDetectRequest idReq = new IdcardDetectRequest(BUCKET_NAME, idcardUrlList, cardType);
try {
ret = IMAGECLIENT.idcardDetect(idReq);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:驾驶证识别URL方式.
* 创建时间:2018-12-19 12:52:27
*
* @param url 图片地址
* @return the string
* @author "lixingwu"
*/
public static String ocrDrivingLicenceUrl(String url) {
String ret = null;
OcrDrivingLicenceRequest request = new OcrDrivingLicenceRequest(BUCKET_NAME, OcrDrivingLicenceRequest.TYPE_DRIVER_LICENSE, url);
try {
ret = IMAGECLIENT.ocrDrivingLicence(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:驾驶证识别path方式.
* 创建时间:2018-12-19 12:52:27
*
* @param path 图片路径
* @return the string
* @author "lixingwu"
*/
public static String ocrDrivingLicencePath(String path) {
String ret = null;
File file = new File(path);
OcrDrivingLicenceRequest request = new OcrDrivingLicenceRequest(BUCKET_NAME, OcrDrivingLicenceRequest.TYPE_DRIVER_LICENSE, file);
try {
ret = IMAGECLIENT.ocrDrivingLicence(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:行驶证识别URL方式.
* 创建时间:2018-12-19 12:52:27
*
* @param url 图片地址
* @return the string
* @author "lixingwu"
*/
public static String ocrVehicleLicenceUrl(String url) {
String ret = null;
OcrDrivingLicenceRequest request = new OcrDrivingLicenceRequest(BUCKET_NAME, OcrDrivingLicenceRequest.TYPE_VEHICLE_LICENSE, url);
try {
ret = IMAGECLIENT.ocrDrivingLicence(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:行驶证识别path方式.
* 创建时间:2018-12-19 12:52:27
*
* @param path 图片路径
* @return the string
* @author "lixingwu"
*/
public static String ocrVehicleLicencePath(String path) {
String ret = null;
File file = new File(path);
OcrDrivingLicenceRequest request = new OcrDrivingLicenceRequest(BUCKET_NAME, OcrDrivingLicenceRequest.TYPE_VEHICLE_LICENSE, file);
try {
ret = IMAGECLIENT.ocrDrivingLicence(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:车牌识别URL方式.
* 创建时间:2018-12-19 12:52:27
*
* @param url 图片地址
* @return the string
* @author "lixingwu"
*/
public static String ocrPlateUrl(String url) {
String ret = null;
OcrPlateRequest request = new OcrPlateRequest(BUCKET_NAME, url);
try {
ret = IMAGECLIENT.ocrPlate(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:车牌识别path方式.
* 创建时间:2018-12-19 12:52:27
*
* @param path 图片路径
* @return the string
* @author "lixingwu"
*/
public static String ocrPlatePath(String path) {
String ret = null;
File file = new File(path);
OcrPlateRequest request = new OcrPlateRequest(BUCKET_NAME, file);
try {
ret = IMAGECLIENT.ocrPlate(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:营业执照识别URL方式.
* 创建时间:2018-12-19 12:52:27
*
* @param url 图片地址
* @return the string
* @author "lixingwu"
*/
public static String ocrBizLicenseUrl(String url) {
String ret = null;
OcrBizLicenseRequest request = new OcrBizLicenseRequest(BUCKET_NAME, url);
try {
ret = IMAGECLIENT.ocrBizLicense(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:营业执照识别path方式.
* 创建时间:2018-12-19 12:52:27
*
* @param path 图片路径
* @return the string
* @author "lixingwu"
*/
public static String ocrBizLicensePath(String path) {
String ret = null;
File file = new File(path);
OcrBizLicenseRequest request = new OcrBizLicenseRequest(BUCKET_NAME, file);
try {
ret = IMAGECLIENT.ocrBizLicense(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:银行卡识别URL方式.
* 创建时间:2018-12-19 12:52:27
*
* @param url 图片地址
* @return the string
* @author "lixingwu"
*/
public static String ocrBankCardUrl(String url) {
String ret = null;
OcrBankCardRequest request = new OcrBankCardRequest(BUCKET_NAME, url);
try {
ret = IMAGECLIENT.ocrBankCard(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:银行卡识别path方式.
* 创建时间:2018-12-19 12:52:27
*
* @param path 图片路径
* @return the string
* @author "lixingwu"
*/
public static String ocrBankCardPath(String path) {
String ret = null;
File file = new File(path);
OcrBankCardRequest request = new OcrBankCardRequest(BUCKET_NAME, file);
try {
ret = IMAGECLIENT.ocrBankCard(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:通用印刷体识别URL方式.
* 创建时间:2018-12-19 12:52:27
*
* @param url 图片地址
* @return the string
* @author "lixingwu"
*/
public static String ocrGeneralUrl(String url) {
String ret = null;
GeneralOcrRequest request = new GeneralOcrRequest(BUCKET_NAME, url);
try {
ret = IMAGECLIENT.generalOcr(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
} /**
* 方法描述:通用印刷体识别URL方式.
* 创建时间:2018-12-19 12:52:27
*
* @param path 图片路径
* @return the string
* @author "lixingwu"
*/
public static String ocrGeneralPath(String path) {
String ret = null;
File file = new File(path);
GeneralOcrRequest request = new GeneralOcrRequest(BUCKET_NAME, file);
try {
ret = IMAGECLIENT.generalOcr(request);
} catch (AbstractImageException e) {
e.printStackTrace();
}
return ret;
}
}

3、天气太热了

上面的工具类只是简单的说了一下,如果项目需要用到,得自己去测试,等我那天心情好了再说详细了点。

腾讯云OCR图片文字识别的更多相关文章

  1. 一篇文章搞定百度OCR图片文字识别API

    一篇文章搞定百度OCR图片文字识别API https://www.jianshu.com/p/7905d3b12104

  2. 关于python 使用腾讯云OCR 通用印刷体识别

    腾讯的python SDK没有通用印刷体识别,所以参考了别人识别网上图片的方式:https://www.cnblogs.com/semishigure/p/7690789.html 但是咱们使用的基本 ...

  3. PHP百度AI的OCR图片文字识别

    第一步可定要获取百度的三个东西 要到百度AI网站(http://ai.baidu.com/)去注册 然后获得 -const APP_ID = '请填写你的appid'; -const API_KEY ...

  4. 有道自然语言翻译和文字识别OCR(图片文字识别)接口调用

    官网 http://ai.youdao.com 文档地址 http://ai.youdao.com/docs/doc-ocr-api.s#p01 在Python中调用api. #/usr/bin/en ...

  5. 云+社区分享——腾讯云OCR文字识别

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云+社区运营团队发布在腾讯云+社区 前言 2018年3月27日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云OCR文字识 ...

  6. 阿里云OCR图片转换成文字识别调用

    using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Drawing; using S ...

  7. 小试Office OneNote 2010的图片文字识别功能(OCR)

    原文:小试Office OneNote 2010的图片文字识别功能(OCR) 自Office 2003以来,OneNote就成为了我电脑中必不可少的软件,它集各种创新功能于一身,可方便的记录下各种类型 ...

  8. 【图片识别】java 图片文字识别 ocr (转)

    http://www.cnblogs.com/inkflower/p/6642264.html 最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现google有一个离线的工具,以下为 ...

  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别

    Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...

随机推荐

  1. 13 年的 Bug 调试经验总结 【转载】

    在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可 ...

  2. opencv —— 在 VS 中的配置

    添加一个新的 .cpp 文件到工程中 打开菜单栏视图中的属性管理器                                                      选择 Debug|x64 ...

  3. 消息队列MQ如何保证高可用性?

    保证MQ的高可用性,主要是解决MQ的缺点--系统复杂性变高--带来的问题 主要说一下  rabbitMQ  和  kafka  的高可用性 一.rabbitMQ的高可用性 rabbitMQ是基于主从做 ...

  4. Balanced Lineup POJ - 3264

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  5. Linux中为什么执行自己的程序要在前面加./

    前言   在Linux中,我们执行内置命令时,直接输入命令名称即可,如: $ mv a b #将a重命名为b   而在执行自己写好的程序时,却要带上./,例如: $ hello hello: comm ...

  6. 使用Python库paramiko登录远程设备

    前言 手动下载paramiko库的安装包.在PyPi库中查找即可,但是不到是我的电脑问题还是网络问题,2.0.0以上版本我都安装不了,因此我自己是安装的paramiko 1.17.0版本,此版本经过测 ...

  7. Spark学习之路 (十一)SparkCore的调优之Spark内存模型[转]

    概述 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色.理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优.本文旨在 ...

  8. 《C++面向对象程序设计》第6章课后编程题2拓展

    设计一个程序,其中有3个类CBank.BBank.GBank,分别为中国银行类,工商银行类和农业银行类.每个类都包含一个私有数据成员balance用于存放储户在该行的存款数,另有一个友元函数Total ...

  9. HDU6537

    题意 英文 做法 将\(a_i>1\)的限制去掉,定义\(g(n,k)\) 显然有\[ans=\sum\limits_{i=0}^{k}(-1)^i \binom{k}{i}g(n,k-i)\] ...

  10. springBoot代码和依赖分开打包

    目的: 1.分离代码和依赖(包括第三方的引入包) 2.分离配置文件到外部 3.修改/META-INF/MANIFEST.MF中加载依赖包的位置和启动类,包含第三方依赖jar包 先查看项目的结构 由于我 ...