一、ocr原理
二、ocr开源代码调研(Java语言)
方法一,开源API(有使用次数限制但应该够,量不大的话)
方法二,OCR开发包
- [用了百度AI开放平台的通用字体识别的API,后来又找到了Tessearct-OCR](https://blog.csdn.net/weixin_37794901/article/details/83343092)
-
OCR开发包
由于图像技术门槛较高,特别是中文语言库需要大量的训练才能达到较高的识别率。目前很多OCR软件,一般都是借用大公司的API接口实现的,如百度OCR接口。在线接口识别率比较高,但受限于网络和调用次数,有些场景须考虑离线使用。
开源的OCR识别框架 Tesseract-OCR (https://github.com/tesseract-ocr ),由HP实验室开发,后由Google维护的开源OCR引擎,可以不断的训练语言库,使图像转换文本的能力不断增强。 SDK包含libtesseract、命令行程序,支持跨平台开发,支持Java,Python等语言调用,建议选择4.0以后版本,准确率有较大提升,需要识别中文信息可单独添加中文词库。
Tess4J是Java对libtesseract包装,这里使用Tess4J识别图片信息。
Java OCR识别技术 图像转文本信息 - OCR图像识别技术的JAVA实现,系列
- ocr 连接开源项目汇总(不一定是Java)
-
Tesseract ocr文字识别,感觉自己写的部分挺多
github地址
方法三
- Tesseract-OCR支持中文识别,并且开源和提供全套的训练工具,是快速低成本开发的首选。前面记录过在java中调用tesseract-orc,该方法的原理是通过在java中调用cmd命令行,来执行tesseract,但是该方式需要下载软件,在电脑上安装环境,移植性不高。
而Tess4J则是Tesseract在Java PC上的应用。如果使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了,可移植性比较好。Tess4J在英文和数字识别中性能比较好,但是在中文识别中,无论速度还是识别率还是较弱,因此需要针对场景进行训练,才能获得较好结果。
java调用tess4j识别图像文字
系列文章 - 关于现阶段java调用OCR文字识别技术的总结
- Java中使用tess4J(Tesseract-OCR)进行图片文字识别(支持中文)