OCR识别-python版(一)

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

时间: 2024-10-09 04:24:44

OCR识别-python版(一)的相关文章

基于Python实现对PDF文件的OCR识别

http://www.jb51.net/article/89955.htm https://pythontips.com/2016/02/25/ocr-on-pdf-files-using-python/ 大家可能听说过使用Python进行OCR识别操作.在Python中,最出名的库便是Google所资助的tesseract.利用tesseract可以很轻松地对图像进行识别.现在问题来了,如果想对一个PDF文档进行OCR识别,该怎么做呢?下面一起来看看. 最近在做一个项目的时候,需要将PDF文件

OCR识别-python3.5版

刚接触,啥子都不会,按着教程走 需求:识别图片中的文字信息环境: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

Onenote实现OCR识别图片

OCR识别推荐两个软件: Tesseract:一个开源的,由谷歌维护的OCR软件. Onenote:微软Office附带或者可以自己独立安装. 这次讲Onenote实现的OCR识别. 注:2010版及其以后版本OCR实现方式类似:office将其转换为特定xm格式,然后提取想要的节点就ok了:onenote2007识别比较简单:通过MODI API接口直接之别. 我这里是实现了 office2007和office2010的ocr识别函数. 源程序下载:坚果云连接 1 using Microsof

编码的秘密(python版)

编码(python版) 最近在学习python的过程中,被不同的编码搞得有点晕,于是看了前人的留下的文档,加上自己的理解,准备写下来,分享给正在为编码苦苦了挣扎的你. 编码的概念 编码就是将信息从一种格式转换成另一种格式,计算机只认识二进制,简单的理解,将我们眼睛看到的文字转换为计算机能够识别的二进制格式视为编码,而二进制以某种编码格式转换为我们能看的文字的过程可以看成是解码.既然计算机只能认识二进制0,1,那么我们用的字母.数字和文字等是怎样和他们对应的呢?那就请继续看吧! python中查看

人脸检测及识别python实现系列(4)——卷积神经网络(CNN)入门

人脸检测及识别python实现系列(4)--卷积神经网络(CNN)入门 上篇博文我们准备好了2000张训练数据,接下来的几节我们将详细讲述如何利用这些数据训练我们的识别模型.前面说过,原博文给出的训练程序使用的是keras库,对我的机器来说就是tensorflow版的keras.训练程序建立了一个包含4个卷积层的神经网络(CNN),程序利用这个网络训练我的人脸识别模型,并将最终训练结果保存到硬盘上.在我们实际动手操练之前我们必须先弄明白一个问题--什么是卷积神经网络(CNN)? CNN(Conv

人脸验证算法Joint Bayesian详解及实现(Python版)

人脸验证算法Joint Bayesian详解及实现(Python版) Tags: JointBayesian DeepLearning Python 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如对代码有兴趣的请移步我的 Github. 如需转载,请附上本文链接,不甚感激!  http://blog.csdn.net/cyh_24/article/details/49059475 Bayesian Face Revis

行驶证OCR识别

技术发展迅速的今天,激发出一个新型市场,那就是汽车后市场.在汽车后市场的发展中,以汽车市场服务型为主的互联网企业也如雨后春笋般不断刷新着汽车后市场行业.同时,随着生活水平的提高,对于普通大众对出行的要求也变得越来越高了,舒适和便捷已经变为基本的条件. 让大家来了解一下行驶证图片识别,这也是舒适和便捷的具体体现.行驶证图片识别是什么?肯定会有人开始打上一个大大的问号.它又和舒适便捷有什么关系?以上疑问在下面的文章中都会得到一一解答. 人工智能应该都知道,如今的AI时代.其实呢,行驶证图片识别只是目

移动端名片识别-ocr识别

随着业务的增多,我们的客户资源也会越来越多.特别是在参加展会的时候,我们会收集到大量的名片.然而当我们还在一个一个的输入保存的时候,名片识别功能软件已经诞生了. 原始的方法输入保存速度慢,易出错,体验差. 移动端名片识别是我们开发的基于移动平台识别名片的SDK开发包,支持Android.iOS.linux.windows等多种主流移动操作系统.该产品采用手机.平板电脑摄像头拍摄银行卡图像,然后通过OCR软件对名片信息进行识别提取. 移动端名片识别技术参数 支持平台 Android4.0以上.iO

车牌OCR识别的流程,手机车牌识别

车牌的OCR识别的流程如下: 手机车牌识别背景 随着人们生活水平的提高,汽车方面的业务量也日益暴涨,加上如今"互联网+"的提出,智能终端(智能手机及平板电脑)及移动通信(4G)发展迅速,人们用手机的频率比用电脑的多,加上手机小巧轻便,成为生活中必要的工作及社交工具,可以预见未来几年60%以上的业务将会逐渐转移到智能终端系统上来.伴随着移动端APP的火爆应用,易泊将原来应用在电脑端的车牌识别技术转移到了移动端,手机车牌识别更加灵活,方便,为人们的应用解决了很多实际困难. 手机车牌识别描述