Tesseract OCR 图片文字识别

Tesseract 介绍

Tesseract是一个开源的文本识别引擎,支持多种语言。4.0.0版本增加了LSTM神经网络。Tesseract最初是由惠普公司研发,2005年开源。

Tesseract安装

下载Tesseract的安装包,地址

安装过程

  1. 选择常用的数学公式包,其他的语言包可以先不勾选,后续需要时再下载。如果勾选了安装过程可能极慢甚至中断。

Tesseract OCR 图片文字识别

  1. 设置环境变量

    设置TESSDATA_PREFIX环境变量到tesseract的data目录。

    Tesseract OCR 图片文字识别

选择语言包

使用Tesseract进行文本识别时,需要下载相应的语言包,如本文需要对中文进行识别在data下载chi_sim.traineddata放到TESSDATA_PREFIX目录下。

Tesseract中文识别

Tesseract没有提供图形界面,只能通过命令行或者编程语言来调用。

需要注意的是,在使用Tessearct对中文进行识别的时候需要指定使用的语言模型,否则会识别失败出现一堆乱码。

  1. 命令行调用Tesseract

    tesseract 1.png result -l chi_sim   # -l 参数指定语言模型
    
  2. python调用Tessearct

    使用python调用Tessearct需要首先安装两个python lib

    pip install pillow
    pip install pytesseract
    

    使用python调用Tessearct进行图片中文识别

    # coding = utf-8
    from PIL import Image
    import pytesseract
    image = Image.open("1.png")
    # 这里lang='chi_sim'参数很重要,意思是对中文进行识别,如果加这个参数默认应该是英文的,中文识别出来的是乱码
    text = pytesseract.image_to_string(image, lang='chi_sim')
    print(text)
    
    '''
    类似于
    919@400 ROK
    1X
    < Aah @ Fix
    arta
    ExT, 2%
    Med Ea
    BAAR ALFRE RIE tS
    | Be Be
    cai | = LRT +R
    '''
    

Reference

Python:文本识别抛弃pytesser,直接使用Tesseract - Penguin (polarxiong.com)

tesseract官方文档:Tesseract User Manual | tessdoc (tesseract-ocr.github.io)

上一篇:专题二树形结构 E - Can you answer these queries V


下一篇:卡方检验详解分析与实例