需求:识别图片中的文字信息
环境: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 sysreload(sys)
sys.setdefaultencoding('utf-8')import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
try:from pyocr import pyocrfrom 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

转载于:https://www.cnblogs.com/syqlp/p/5462459.html

OCR识别-python版(一)相关推荐

  1. python ocr高精度识别_OCR识别-python版(一)

    需求:识别图片中的文字信息 环境:windows系统 开发语言:python 使用工具类:1.pyocr 2.PIL 3.tesseract-ocr 步骤: 1.pyocr 网络通直接使用命令: pi ...

  2. 阿里云OCR通用文字识别和自定义模板OCR识别Python代码及一站式教程

    阿里云OCR 一.通用文字识别 1.开通 2.PY3代码 3.测试结果 二.自定义模板识别 1.开通 2.进行自定义模板 3.代码 三.最后 一.通用文字识别 1.开通 开通链接:https://ma ...

  3. 三步即可完成的OCR入门 | Python版

    点击关注我哦 一篇文章带你了解三步即可完成的OCR入门 在<这篇文章>中,我们有简单提到"Optical Character Recognition(OCR)"的相关内 ...

  4. python百度云ocr文字识别软件_基于百度云的OCR识别(Python)

    2019年7月3日早上,在百度AI开发者大会上,一个来自山西的青年,将一瓶矿泉水浇在了同样来自山西的李彦宏身上. 可以回顾一下 https://b23.tv/av57665929/p1 ,着实让人一惊 ...

  5. python ocr中文训练_cnocr: cnocr是用来做中文OCR的Python 3包。cnocr自带了训练好的识别模型,安装后即可直接使用...

    English README. cnocr 使用交流QQ群 欢迎扫码加入QQ交流群: 最近更新 [2020.05.29]:V1.2.2 主要变更: 优化了对数字识别的准确度. 优化了模型结构,进一步降 ...

  6. OCR快速入门(二)| Python版

    点击关注我哦 一篇文章带你了解OCR | Python版 方法与策略 如上所示,文本识别主要是一个分两步的任务.首先,需要检测图像中的文本外观,它可能是密集的(如打印文档中的)或稀疏的. 在检测到行/ ...

  7. OCR快速入门(一)| Python版

    点击关注我哦 一篇文章带你了解OCR | Python版 简介 OCR或光学字符识别是最早解决的计算机视觉任务之一,因为在某些方面它不需要深度学习.因此,即使在2012年深度学习热潮之前,也有不同的O ...

  8. OpenCV计算机视觉实战(Python)| 10、项目实战:文档扫描OCR识别

    文章目录 简介 总结 1. 介绍 2. 流程 3. 程序 4. 知识点总结 简介 本节为<OpenCV计算机视觉实战(Python)>版第10讲,项目实战:文档扫描OCR识别,的总结. 总 ...

  9. 【Python自制软件】健康码批量识别GUI版

    健康码批量识别GUI版 文章目录 健康码批量识别GUI版 一.软件介绍 主要功能 界面介绍 二.操作指导GIF 设置默认文件夹 识别图片.正则获取 保存方案 批量执行 下载地址: "专业的I ...

最新文章

  1. electron 托盘图标闪烁_从零到一,用 Electron 开发桌面效率工具
  2. 帧中继中配EIGRP(hub-spoke)
  3. 贪婪算法、递归计算、动态规划背包问题
  4. MGM Resorts和NRG Energy在美国完成最大屋顶光伏阵列的安装
  5. 前端js 实现文件下载
  6. struts2 redirect 获取参数null_社会化登录支持授权域以便于获取更大权限
  7. LeetCode | Single Number II
  8. 上海特斯拉自燃事件终于有结果了:没有系统缺陷 单个电池模组故障
  9. 史上最全面的程序员招聘建议
  10. dispatcherServlet源码分析之doDispatch
  11. python环境配置教程
  12. 清理系统垃圾缓存BAT
  13. [966]无需ROOT就能让你用上Xposed框架
  14. 泽林主办前沿IT技术分享峰会隆重召开,深度探讨人工智能、大数据与物联网 的未来发展趋势
  15. linux快速返回家目录的命令,linux怎么使用命令返回上一级目录?
  16. 存储器的概述——DRAM动态存储器
  17. 光电式液位传感器和电容式液位传感器的区别
  18. 30%自媒体从业者才知道的爆款标题的专用模板,封面图的文案同样适用。
  19. js 将正则换成字符串的形式,再由字符串转换成正则
  20. Hadoop集群中HDFS的API测试案例以及MapReduce的多种提交Job方式案例

热门文章

  1. Android GL deadlock timeout error
  2. Qt探索之路——获取QTextEdit文本内容
  3. Latex 数学符号表
  4. 腾讯十周年,看看你的QQ是什么时候注册的?
  5. android -------- NDK 入门指南
  6. 阿里云全球首批MVP张建平专访 - 我对数据有执念
  7. [elixir! #0037] Agent 小传
  8. 周志华 机器学习 笔记
  9. 定时任务:Java中Timer和TimerTask的使用
  10. fiddler不能监听 localhost和 127.0.0.1的问题 .