需求:识别图片中的文字信息
环境:windows系统
开发语言:python
使用工具类:1.pyocr
2.PIL
3.tesseract-ocr
步骤:
1.pyocr
网络通直接使用命令:
pip install pyocr
网络不通,转至https://pypi.python.org/pypi/pyocr/0.4.1下载安装
2.安装pil
网络通直接使用命令:
pip install PIL
网络不通,转至http://www.pythonware.com/products/pil/index.htm下载安装
3.安装tesseract-ocr
http://jaist.dl.sourceforge.net/project/tesseract-ocr-alt/tesseract-ocr-setup-3.02.02.exe
exe文件,下载后直接安装,建议默认安装过程中的选项,安装目录默认C:\Program Files (x86)\Tesseract-OCR,(尝试安装D盘后,在cmd中调用可以,但是在python中会出现找不到tesseract的配置目录的问题,后续再研究)
代码:
# coding=utf-8 __author__ = 'syq' #https://github.com/tesseract-ocr import sys reload(sys) sys.setdefaultencoding('utf-8') import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' try: from pyocr import pyocr from PIL import Image except ImportError: print '模块导入错误,请使用pip安装,pytesseract依赖以下库:' print 'http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil' print 'http://code.google.com/p/tesseract-ocr/' raise SystemExit tools = pyocr.get_available_tools()[:] if len(tools) == 0: print("No OCR tool found") sys.exit(1) print("Using '%s'" % (tools[0].get_name())) print tools[0].image_to_string(Image.open('D:\\123.png'),lang='eng') print tools[0].image_to_string(Image.open('D:\\3434.png'),lang='chi_sim') #print tools[0].image_to_string(Image.open('D:\\3535.png'),lang='chi_sim')
文件内容:
123.png
3434.png