人工智能Java SDK - OCR文字识别工具箱(支持文字识别,版面分析,表格识别)
Calvin
共 3175字,需浏览 7分钟
· 2022-02-09
目录:AIAS - AI加速器
文字识别(OCR)目前在多个行业中得到了广泛应用,比如金融行业的单据识别输入,餐饮行业中的发票识别, 交通领域的车票识别,企业中各种表单识别,以及日常工作生活中常用的身份证,驾驶证,护照识别等等。 OCR(文字识别)是目前常用的一种AI能力。
OCR工具箱功能:
- 方向检测,支持4个文字方向:0度、90度、180度、270度。
2. 图片旋转
3. 文字识别,提供三个模型:mobile模型,light模型,服务器端大模型。
4. 版面分析(支持5个类别, 用于配合文字识别,表格识别的流水线处理)
Text,Title,List,Table,Figure
5. 表格识别
- 生成html表格
- 生成excel文件
运行OCR识别例子
1.1 文字方向检测:
- 例子代码: OcrDetectionExample.java
- 运行成功后,命令行应该看到下面的信息:
[INFO ] - Result image has been saved in: build/output/detect_result.png
[INFO ] - [
class: "0", probability: 1.00000, bounds: [x=0.073, y=0.069, width=0.275, height=0.026]
class: "0", probability: 1.00000, bounds: [x=0.652, y=0.158, width=0.222, height=0.040]
class: "0", probability: 1.00000, bounds: [x=0.143, y=0.252, width=0.144, height=0.026]
class: "0", probability: 1.00000, bounds: [x=0.628, y=0.328, width=0.168, height=0.026]
class: "0", probability: 1.00000, bounds: [x=0.064, y=0.330, width=0.450, height=0.023]
]
- 输出图片效果如下:
1.2 文字方向检测帮助类(增加置信度信息显示,便于调试):
- 例子代码: OcrDetectionHelperExample.java
- 运行成功后,命令行应该看到下面的信息:
[INFO ] - Result image has been saved in: build/output/detect_result_helper.png
[INFO ] - [
class: "0 :1.0", probability: 1.00000, bounds: [x=0.073, y=0.069, width=0.275, height=0.026]
class: "0 :1.0", probability: 1.00000, bounds: [x=0.652, y=0.158, width=0.222, height=0.040]
class: "0 :1.0", probability: 1.00000, bounds: [x=0.143, y=0.252, width=0.144, height=0.026]
class: "0 :1.0", probability: 1.00000, bounds: [x=0.628, y=0.328, width=0.168, height=0.026]
class: "0 :1.0", probability: 1.00000, bounds: [x=0.064, y=0.330, width=0.450, height=0.023]
]
- 输出图片效果如下:
2. 图片旋转:
每调用一次rotateImg方法,会使图片逆时针旋转90度。
- 例子代码: RotationExample.java
3. 文字识别:
再使用本方法前,请调用上述方法使图片文字呈水平(0度)方向。
- 例子代码: LightOcrRecognitionExample.java
- 运行成功
后,命令行应该看到下面的信息:
[INFO ] - [
class: "你", probability: -1.0e+00, bounds: [x=0.319, y=0.164, width=0.050, height=0.057]
class: "永远都", probability: -1.0e+00, bounds: [x=0.329, y=0.349, width=0.206, height=0.044]
class: "无法叫醒一个", probability: -1.0e+00, bounds: [x=0.328, y=0.526, width=0.461, height=0.044]
class: "装睡的人", probability: -1.0e+00, bounds: [x=0.330, y=0.708, width=0.294, height=0.043]
]
- 输出图片效果如下:
4. 版面分析:
- 运行成功后,命令行应该看到下面的信息:
[INFO ] - [
class: "Text", probability: 0.98750, bounds: [x=0.081, y=0.620, width=0.388, height=0.183]
class: "Text", probability: 0.98698, bounds: [x=0.503, y=0.464, width=0.388, height=0.167]
class: "Text", probability: 0.98333, bounds: [x=0.081, y=0.465, width=0.387, height=0.121]
class: "Figure", probability: 0.97186, bounds: [x=0.074, y=0.091, width=0.815, height=0.304]
class: "Table", probability: 0.96995, bounds: [x=0.506, y=0.712, width=0.382, height=0.143]
]
- 输出图片效果如下:
5. 表格识别:
- 运行成功后,命令行应该看到下面的信息:
Methods
R
P
F
FPS
SegLink[26]
70.0
86.0
770
89
PixelLink[4j
73.2
83.0
77.8
...
- 输出图片效果如下:
- 生成excel效果如下:
Github & Gitee 代码地址:
https://github.com/mymagicpower/AIAS/tree/main/1_image_sdks/text_recognition/ocr_sdkhttps://gitee.com/mymagicpower/AIAS/tree/main/1_image_sdks/text_recognition/ocr_sdkAIAS介绍:
Calvin:AIAS (AI Acceleration Suite)人工智能加速器套件介绍0 赞同 · 0 评论文章评论
C# 文字识别(OCR)
在上一篇中已经实现了自定义截图,这一篇接着来把最后的功能完善,将截取下来的图片做文字识别。
有现成并且好用的轮子,能用就用,若无必要,还是少造为好(反正我懒)。。。
所以我们采用使用百度OCR的SDK来实现。大家可以自己去 百度AI开放平台,找到文字识别的项目看看,然后拿到api_key和secret_key即可,具体的SDK文档可以在官网详细查看。
实现功能:
* 截图并识别图片中的文字
开发环境:
开发工具:Visual Studio 2013
.NET Framework版本:4.5
实现代码:
//从官网下载AipSdk.dll引用到自己项目 //填写自己账号的api_key和secret_ke
dotnet编程大全
0
文字识别
[cp]所谓的移动警务通,移动端证件识别信息采集是指,使用成熟的OCR文字识别技术,通过手机或者带有摄像头的终端设备对身份证在做视频流扫描识别,提取证件的照片做OCR文字识别,实现提取身份证信息,裁剪头像,并且存入证件信息数据库,不仅集合了身份证识别还包括驾驶证识别,行驶证识别,护照识别、港澳台胞证识别等。优点是:方案成本低,用于智能移动设备,使用环境方便,功能容易扩展。
可提供SDK做二次开发(现在可以提供安卓、iOS、私有云、公有云等的证件识别SDK)
证件识别应用场景:
出租屋证件识别:入住旅客登记
流动人口管理:入户普查
特种行业:开锁业、家政、中介等行业证件识别登记
展会、访
十七岁的权志龙
0