刚接触,啥子都不会,按着教程走
需求:识别图片中的文字信息
环境:windows系统
开发语言:python3.5
使用工具类:1.pyocr
2.PIL
3.tesseract-ocr
步骤:
1.pyocr
网络通直接使用命令:
pip install pyocr
网络不通,转至https://pypi.python.org/pypi/pyocr/0.4.1下载安装
2.安装pil(一直没安装成功,好像没有对应的3.5的版本,要2.X的才行,不过这个可以跳过,不安装)
网络通直接使用命令:
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
# coding=utf-8__author__ = ‘yjj‘ #https://github.com/tesseract-ocrimport sysimport importlib#reload(sys)importlib.reload(sys);#sys.setdefaultencoding(‘utf-8‘) import os;os.environ[‘NLS_LANG‘] = ‘SIMPLIFIED CHINESE_CHINA.UTF8‘try: from pyocr import pyocr from PIL import Imageexcept ImportError: print(‘模块导入错误,请使用pip安装,pytesseract依赖以下库:‘) print(‘http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil‘) print(‘http://code.google.com/p/tesseract-ocr/‘) raise SystemExittools = 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‘) |
文件内容:(把图片放在D盘)
123.png
3434.png
输出:
Using ‘Tesseract (sh)‘
7364
求i只另U眈R第 1代
在整个过程中可能会遇到的问题
1.(有时候重新启动编译软件,错都不算什么了,奇怪的是没有错了,我就是这样)如果控制台直接输出:“No OCR tool found”,说明未成功安装tesseract-ocr,debug查看get_available_tools,在该方法中回去查看本机已经安装有的ocr识别库,有三种,
libtesseract,
tesseract,
cuneiform,
本文使用的是第二种tesseract,
tesseract具体安装请转至。
2.在识别带中文的图片,会遇到报“allow_blob_division”的错误,
需要下载tesseract-ocr的中文库,地址:https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-3.02.chi_sim.tar.gz/download,里面包含tesseract多有的文字库,chi_sim.traineddata为简体中文库,将该文件放至C:\Program
Files
(x86)\Tesseract-OCR\tessdata目录下接下来的具体处理方法,转至:https://www.cnblogs.com/syqlp/p/5462459.html