Centos7 + Python 安装使用 tesseract OCR识别中文

Tesseract的OCR引擎目前已作为开源项目发布在Google Project,其项目主页在这里查看 , 它支持中文OCR,并提供了一个命令行工具。python中对应的包是pytesseract. 通过这个工具我们可以识别图片上的文字。

1、安装tesseract

yum install tesseract

2、安装pytesseract

pip install pytesseract

3、下载对应的中文训练集:,下载”chi_sim.traineddata”,然后copy到训练数据集的存放路径。我安装后拷贝的路径是:

/usr/share/tesseract/tessdata

4、使用python调用识别中文

import pytesseract
from PIL import Image

image = Image.open(data/ocr.png)
print pytesseract.image_to_string(image, lang = chi_sim)

5、图片识别准确率不高问题

from PIL import Image, ImageEnhance


image = Image.open(data/tesseract.png)
enhancer = ImageEnhance.Contrast(image)
image = enhancer.enhance(4)

windows安装tesseract并配置环境参考这篇文章:

windows测试遇到的问题:pytesseract.pytesseract.TesseractError: (1, uError opening data file C:\Progra......

import platform
import pytesseract
from PIL import Image, ImageEnhance


image = Image.open(data/tesseract.png)
enhancer = ImageEnhance.Contrast(image)
image = enhancer.enhance(4)

if platform.system() == Windows:
    tessdata_dir_config = --tessdata-dir "C:\Program Files (x86)\Tesseract-OCR\tessdata"
    print pytesseract.image_to_string(image, lang = chi_sim, config = tessdata_dir_config)
else:
    print pytesseract.image_to_string(image, lang = chi_sim)

如果需要使用更高精度的可以尝试百度的API:

参考:

经验分享 程序员 微信小程序 职场和发展