博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]OCR识别的开源分析
阅读量:5262 次
发布时间:2019-06-14

本文共 1659 字,大约阅读时间需要 5 分钟。

原文地址:http://blog.csdn.net/luojun2007/article/details/51614133

OCR识别的开源分析

OCR软件主要是由下面几个部分组成。

1. 图像输入、预处理:   

2. 图像输入:对于不同的图像格式,有着不同的存储格式,不同的压缩方式。预处理:主要包括二值化,噪声去除,倾斜较正等   

3. 二值化:   对摄像头拍摄的图片,大多数是彩色图像,彩色图像所含信息量巨大,对于图片的内容,我们可以简单的分为前景与背景,为了让计算机更快的,更好的识别文字,我们需要先对彩色图进行处理,使图片只前景信息与背景信息,可以简单的定义前景信息为黑色,背景信息为白色,这就是二值化图了。   

4. 噪声去除:   对于不同的文档,我们对燥声的定义可以不同,根据燥声的特征进行去燥,就叫做噪声去除   

5. 倾斜较正:   由于一般用户,在拍照文档时,都比较随意,因此拍照出来的图片不可避免的产生倾斜,这就需要文字识别软件进行较正。   

6. 版面分析:   将文档图片分段落,分行的过程就叫做版面分析,由于实际文档的多样性,复杂性,因此,目前还没有一个固定的,最优的切割模型。   

7. 字符切割:   由于拍照条件的限制,经常造成字符粘连,断笔,因此极大限制了识别系统的性能,这就需要文字识别软件有字符切割功能。   

8. 字符识别:   这一研究,已经是很早的事情了,比较早有模板匹配,后来以特征提取为主,由于文字的位移,笔画的粗细,断笔,粘连,旋转等因素的影响,极大影响特征的提取的难度。   

9. 版面恢复:   人们希望识别后的文字,仍然像原文档图片那样排列着,段落不变,位置不变,顺序不变,的输出到word文档,pdf文档等,这一过程就叫做版面恢复。   

10. 后处理、校对:   根据特定的语言上下文的关系,对识别结果进行较正,就是后处理。

开源引擎

—— 本来是个Windows软件,这是的移植,2011年4月已经停止维护。

—— 命令行工具。有JS移植,可用于前端。

—— 命令行工具。有JS移植,可用于前端。

—— 开源OCR引擎,也有命令行工具。HP开发Google接手。3.0之后支持训练。Golang绑定。入门教程。

—— 基于训练的OCR引擎,训练后可以达到比Tesseract更高的准确度,项目比Tesseract更年轻。包含一个叫做OCRopus的布局分析器。in 。

—— Windows8.1之后的版本内置OCR引擎,可用于桌面和WindowsPhone。

—— 收费软件,有SDK,有Cloud版本。

预处理代码

—— 图像处理老大哥。OpenCV3中有Scene Text Detection值得一用。

—— 现代图像处理库,被很多人推荐。实现了精选的若干个图像处理,干净容易移植。其中尤其有用。

—— 分行检测。

—— 基于神经学习网络算法的布局分析库。教程。

—— 文字区域检测库,效果演示。

—— 检测文字和旋转,用的是Hough transform算法。

Scene Text Detection()

1,

2,

高层项目

—— in ,整合了OpenCV、Tesseract和一些其他项目。

—— node-dv的更高层,用于证件识别。

—— 包装了SWT、Tesseract、、RabbitMQ,提供队列和HTTP访问服务。in Golang。

—— 包装了Tesseract和OpenCV,支持多系统build,支持Docker,有Python和Node.js绑定。

移动端

,Tesseract的移植,教程。

,免费的移动OCR-SDK。

新方法:

如果有够多的样本和验证能力,机器学习可以很好的处理OCR的问题。

一个快速的框架,和基于它构建的OCR项目。

JS构建的神经学习网络

参考:  

[1]

转载于:https://www.cnblogs.com/Crysaty/p/6084579.html

你可能感兴趣的文章
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>
2019春 软件工程实践 助教总结
查看>>
YUV 格式的视频呈现
查看>>
现代程序设计 作业1
查看>>
在android开发中添加外挂字体
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
多线程实现资源共享的问题学习与总结
查看>>
java实现哈弗曼树
查看>>