天天看点

Tesseract——文字识别

作者:青铜算法进阶之路

Tesseract OCR是一款开源的光学字符识别(Optical Character Recognition,OCR)引擎。OCR是一项技术,旨在将印刷或手写文本从图像或扫描文档中自动转换为可编辑和可搜索的文本数据。

Tesseract OCR最初由惠普实验室开发,在2005年以开源的形式发布。后来,Google接手了该项目,并对其进行了继续开发和改进。目前,Tesseract OCR已成为最受欢迎和广泛使用的OCR引擎之一。

Tesseract OCR的主要特点包括:

  • 多语言支持:Tesseract OCR支持超过100种语言的文字识别,可以应用于各种语言环境。
  • 高精度识别:Tesseract OCR通过训练和改进,具有较高的文本识别准确度,并且在处理清晰、高质量的图像时表现良好。
  • 扩展性:Tesseract OCR提供了易于集成和扩展的接口,使开发人员可以根据需要自定义并添加功能。
  • 支持多种平台:Tesseract OCR可在多个操作系统上运行,包括Windows、Linux、macOS等。
  • 使用Tesseract OCR进行文字识别时,通常需要提供输入图像,并选择适当的识别语言。该引擎会尝试从图像中提取出文本,并将其转换为可编辑和可搜索的文本数据,以便进一步处理和使用。

需要注意的是,虽然Tesseract OCR在很多情况下表现出色,但在处理低质量图像、手写文字或具有复杂布局的文档时,可能会面临挑战并有一定的识别错误。在这些情况下,可能需要进行预处理或应用其他技术来提高识别准确度。

安装须知

安装pytesseract库和Tesseract OCR引擎

安装的时候注意选择中文包

本人安装目录:"D:\APP\OCR"

配置tesseract运行文件

D:\anaconda\envs\ocr_lhy\Lib\site-packages\pytesseract\pytesseract.py 找到文件:

tesseract_cmd = 'tesseract'
#修改为
tesseract_cmd = "D:\APP\OCR\\tesseract.exe"           

案例实战

import cv2 as cv
import numpy as np
import pytesseract
# 图像读取
source = cv.imread("test_images/t3.png")
#灰度图
gray = cv.cvtColor(source,cv.COLOR_BGR2GRAY)
# 执行二值化操作
ret1,th1 = cv.threshold(gray,0,255,cv.THRESH_OTSU)
# 使用Tesseract进行文字识别
text = pytesseract.image_to_string(th1 )
# 打印识别结果
print(text)
 # 图像显示
cv.imshow("source", source)
cv.imshow("gray", gray)
cv.imshow('Binary Image', th1)
# 等待操作
cv.waitKey(0)
cv.destroyAllWindows()           
Tesseract——文字识别

原图

Tesseract——文字识别

图片预处理

识别的结果如下:

Tesseract——文字识别

识别结果

继续阅读