简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)

1. 基本环境

操作系统:win7 64位系统

python版本:3.6

2.安装配套环境

(1)首先安装OCR字符识别库Tesseract    下载网址:https://digi.bib.uni-mannheim.de/tesseract/ 

下载下图对应的版本

简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)

下载后双击进行安装,这里因为我们要识别中文字符,所以在安装界面中需要进行额外的语言勾选,展开Additional language data

简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)

然后按照下图进行勾选

简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)

然后点击next安装即可(注意:在选择安装路径的时候不要出现中文,并且要记住这个安装路径)。我的路径为:

D:\toolplace\OCR\Tesseract-OCR

接下来配置环境变量。

通过控制面板找到环境变量配置界面如下(找不到环境变量配置的自行百度):

简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)

分别对用户变量PATH和系统变量Path添加刚才的安装目录  D:\toolplace\OCR\Tesseract-OCR;         这里注意各个变量之间隔开用英文的分号。

简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)

环境变量修改好之后验证下是否安装成功。打开cmd命令行工具   敲入命令:

Tesseract -v

出来如下界面说明成功

简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)

(2)安装python环境

pip install Pillow==5.2.0
pip install pytesseract==0.2.4

3.测试

编写python脚本

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import pytesseract
from PIL import Image

# open image
image = Image.open('2.jpg')
code = pytesseract.image_to_string(image, lang='chi_sim')
print(code)

这里通过读入图像2.jpg   然后实现对图像中的文字进行识别。效果图如下:

简单实用的基于python的OCR中文字符识别——基于windows平台(附代码)

应该说整个识别效果对于规范化的(包括打印扫描)的中文识别还是不错的(一种方便的应用场景就是先用手机拍照然后qq截图再进行识别,可以省去重复敲入大量文字的工作)

我后来尝试了手写体识别,对于手写体来说识别效果还有待改进。

完整的测试脚本以及配套的安装包可以从下面的地址进行下载:

https://download.****.net/download/qianbin3200896/10694840