当前位置:   article > 正文

使用tesseract-ocr实现图片中的中英文字符提取_vs2012 win7 tesseract-ocr 识别中文

vs2012 win7 tesseract-ocr 识别中文

 1 OCR介绍

OCR(Optical Character Recognition)即光学字符识别,是一种将不同类型的文档(如扫描的纸质文件、PDF文件或图像文件中的文本)转换成可编辑和可搜索的数据的技术。OCR技术能够识别和转换印刷或手写文字,广泛应用于数据录入、文档数字化和自动化处理领域。

OCR技术已经成为数字化时代不可或缺的一部分,它极大地方便了文本的转换和处理,为各个行业的数字化转型做出了贡献。随着技术的不断进步,OCR的应用范围将进一步拓宽,为更多领域带来便利和效率的提升。

1.1 基本原理

OCR技术通常涉及以下几个步骤:

  • 图像获取:首先获取文档的图像,这可以通过扫描纸质文档或拍摄图片来实现。

  • 预处理:对图像进行预处理,以提高识别的准确性。这包括去噪、调整对比度、校正扭曲、二值化等。

  • 文本检测与分割:在预处理后的图像中检测文本区域,并将其分割为行、单词或字符。

  • 字符识别:利用模式识别技术,识别分割出的字符或单词。

  • 后处理:将识别结果进行校正和格式化,例如修正拼写错误、保持文本的结构和格式等。

1.2 技术发展

  • 早期技术:早期的OCR系统依赖于简单的模板匹配技术,只能处理特定字体和格式。

  • 进阶技术:随着机器学习和人工智能的发展,OCR技术引入了更复杂的算法,如神经网络,大大提高了识别的准确率和灵活性。

  • 深度学习:最近,深度学习在OCR领域的应用取得了显著的进步,特别是在处理复杂场景和手写文本方面。

1.3 应用领域

  1. 文档自动化处理:在办公自动化和文档管理系统中,OCR被用于快速输入和处理纸质文档。

  2. 银行和金融:银行使用OCR技术处理支票和其他金融文件。

  3. 法律和医疗领域:OCR有助于快速转换和管理大量的法律和医疗记录。

  4. 教育和研究:在教育和学术研究中,OCR可用于数字化历史文档和图书。

  5. 无障碍服务:OCR技术有助于为视觉障碍人士提供无障碍阅读服务。

1.4 挑战与限制

  • 识别准确率:虽然现代OCR技术已经很先进,但仍然可能在复杂的布局或低质量图像中遇到识别准确性的问题。

  • 语言和字体多样性:对于一些较少使用的语言或特殊的字体,OCR软件可能难以准确识别。

  • 手写文本识别:手写文本的变化性和复杂性使得其识别难度较高。

1.5 未来发展方向

  • 技术改进:不断改进OCR技术,提高对复杂文本和图像的处理能力。

  • 深度学习的应用:利用深度学习模型进一步提升识别准确率和速度。

  • 多语种支持:增强对多种语言和方言的支持能力。

  • 集成与应用拓展:将OCR技术与其他技术结合,如自然语言处理(NLP),扩展到更多应用场景。

2 tesseract-ocr介绍与安装

2.1 tesseract-ocr介绍

OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。

Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布,支持100多种语言。

pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格式。

github地址:https://github.com/tesseract-ocr/tesseract

2.1 tesseract-ocr安装

2.1.1 程序安装

Mac和Linux安装方法参考:Introduction | tessdoc

windows系统安装方法详解:

  • 下载与安装

window安装程序下载地址:Index of /tesseract,下载完成后,按向导安装

安装时可以选择需要的语言包:

选择安装路径

注意:安装的路径要与python编写的程序放在同一个磁盘目录下。

  • 设置环境比变量

将tesseract的安装路径添加到PATH环境变量中:

增加名字为TESSDATA_PREFIX的系统变量,变量值设置为tesseract的安装路径

命令行窗口输入:tesseract ,查看是否安装成功。

2.2.2 python工具包安装

  1. pip install pytesseract
  2. pip install Pillow

3 使用tesseract-ocr提取中英文字符

3.1 图片英文字符识别

  1. import pytesseract
  2. from PIL import Image
  3. # 列出支持的语言
  4. print(pytesseract.get_languages(config=''))
  5. image_path = '../data/ocr_englist.jpg'
  6. result = pytesseract.image_to_string(Image.open(image_path), lang='eng')
  7. print(result)

 运行结果显示如下:

  1. ['eng', 'osd']
  2. Spring will come when spring goes.

3.2 图片中文字符识别

中英文模型:https://github.com/tesseract-ocr/tessdata/blob/main/chi_sim.traineddata

存储到‘D:\Tesseract-OCR\tessdata’目录下。

  1. import pytesseract
  2. from PIL import Image
  3. # 列出支持的语言
  4. print(pytesseract.get_languages(config=''))
  5. image_path = '../data/ocr_chinest.jpg'
  6. result = pytesseract.image_to_string(Image.open(image_path), lang='chi_sim')
  7. print(result)

运行结果如下:

  1. ['chi_sim', 'eng', 'osd']
  2. 短 评 : 中 美 各 自 的 成 功 是 彼 此 的 机 遇
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/356377
推荐阅读
相关标签
  

闽ICP备14008679号