码迷,mamicode.com
首页 > 编程语言 > 详细

OCR识别-python版(一)

时间:2016-05-05 17:36:58      阅读:380      评论:0      收藏:0      [点我收藏+]

标签:

需求:识别图片中的文字信息
环境: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

技术分享

输出:

Using ‘Tesseract (sh)‘
7364
求彰只另UoCR第 1代

 

可以看到,在使用英文字库(eng)情况下,对数字识别挺准确的,但是在使用中文简体字库(chi_sim)情况下,对中文文字识别结果有点不尽人意。

 

在整个过程中可能会遇到的问题

1.如果控制台直接输出:“No OCR tool found”,说明未成功安装tesseract-ocr,debug查看get_available_tools,在该方法中回去查看本机已经安装有的ocr识别库,有三种,

libtesseract,
tesseract,
cuneiform,

 本文使用的是第二种tesseract,

tesseract具体安装请转至。

2.在识别带中文的图片,会遇到报“allow_blob_division”的错误,

需要下载tesseract-ocr的中文库,地址:https://codeload.github.com/tesseract-ocr/tessdata/zip/master,里面包含tesseract多有的文字库,chi_sim.traineddata为简体中文库,将该文件放至C:\Program Files (x86)\Tesseract-OCR\tessdata目录下接下来的具体处理方法,转至:http://www.cnblogs.com/syqlp/p/5460971.html

 

OCR识别-python版(一)

标签:

原文地址:http://www.cnblogs.com/syqlp/p/5462459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!