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 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版(一)相关推荐
- python ocr高精度识别_OCR识别-python版(一)
需求:识别图片中的文字信息 环境:windows系统 开发语言:python 使用工具类:1.pyocr 2.PIL 3.tesseract-ocr 步骤: 1.pyocr 网络通直接使用命令: pi ...
- 阿里云OCR通用文字识别和自定义模板OCR识别Python代码及一站式教程
阿里云OCR 一.通用文字识别 1.开通 2.PY3代码 3.测试结果 二.自定义模板识别 1.开通 2.进行自定义模板 3.代码 三.最后 一.通用文字识别 1.开通 开通链接:https://ma ...
- 三步即可完成的OCR入门 | Python版
点击关注我哦 一篇文章带你了解三步即可完成的OCR入门 在<这篇文章>中,我们有简单提到"Optical Character Recognition(OCR)"的相关内 ...
- python百度云ocr文字识别软件_基于百度云的OCR识别(Python)
2019年7月3日早上,在百度AI开发者大会上,一个来自山西的青年,将一瓶矿泉水浇在了同样来自山西的李彦宏身上. 可以回顾一下 https://b23.tv/av57665929/p1 ,着实让人一惊 ...
- python ocr中文训练_cnocr: cnocr是用来做中文OCR的Python 3包。cnocr自带了训练好的识别模型,安装后即可直接使用...
English README. cnocr 使用交流QQ群 欢迎扫码加入QQ交流群: 最近更新 [2020.05.29]:V1.2.2 主要变更: 优化了对数字识别的准确度. 优化了模型结构,进一步降 ...
- OCR快速入门(二)| Python版
点击关注我哦 一篇文章带你了解OCR | Python版 方法与策略 如上所示,文本识别主要是一个分两步的任务.首先,需要检测图像中的文本外观,它可能是密集的(如打印文档中的)或稀疏的. 在检测到行/ ...
- OCR快速入门(一)| Python版
点击关注我哦 一篇文章带你了解OCR | Python版 简介 OCR或光学字符识别是最早解决的计算机视觉任务之一,因为在某些方面它不需要深度学习.因此,即使在2012年深度学习热潮之前,也有不同的O ...
- OpenCV计算机视觉实战(Python)| 10、项目实战:文档扫描OCR识别
文章目录 简介 总结 1. 介绍 2. 流程 3. 程序 4. 知识点总结 简介 本节为<OpenCV计算机视觉实战(Python)>版第10讲,项目实战:文档扫描OCR识别,的总结. 总 ...
- 【Python自制软件】健康码批量识别GUI版
健康码批量识别GUI版 文章目录 健康码批量识别GUI版 一.软件介绍 主要功能 界面介绍 二.操作指导GIF 设置默认文件夹 识别图片.正则获取 保存方案 批量执行 下载地址: "专业的I ...
最新文章
- electron 托盘图标闪烁_从零到一,用 Electron 开发桌面效率工具
- 帧中继中配EIGRP(hub-spoke)
- 贪婪算法、递归计算、动态规划背包问题
- MGM Resorts和NRG Energy在美国完成最大屋顶光伏阵列的安装
- 前端js 实现文件下载
- struts2 redirect 获取参数null_社会化登录支持授权域以便于获取更大权限
- LeetCode | Single Number II
- 上海特斯拉自燃事件终于有结果了:没有系统缺陷 单个电池模组故障
- 史上最全面的程序员招聘建议
- dispatcherServlet源码分析之doDispatch
- python环境配置教程
- 清理系统垃圾缓存BAT
- [966]无需ROOT就能让你用上Xposed框架
- 泽林主办前沿IT技术分享峰会隆重召开,深度探讨人工智能、大数据与物联网 的未来发展趋势
- linux快速返回家目录的命令,linux怎么使用命令返回上一级目录?
- 存储器的概述——DRAM动态存储器
- 光电式液位传感器和电容式液位传感器的区别
- 30%自媒体从业者才知道的爆款标题的专用模板,封面图的文案同样适用。
- js 将正则换成字符串的形式,再由字符串转换成正则
- Hadoop集群中HDFS的API测试案例以及MapReduce的多种提交Job方式案例
热门文章
- Android GL deadlock timeout error
- Qt探索之路——获取QTextEdit文本内容
- Latex 数学符号表
- 腾讯十周年,看看你的QQ是什么时候注册的?
- android -------- NDK 入门指南
- 阿里云全球首批MVP张建平专访 - 我对数据有执念
- [elixir! #0037] Agent 小传
- 周志华 机器学习 笔记
- 定时任务:Java中Timer和TimerTask的使用
- fiddler不能监听 localhost和 127.0.0.1的问题 .