Python通过Tesseract库实现文字识别


Posted in Python onMarch 05, 2020

机器视觉

从Google的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广泛且具有深远的影响和雄伟的愿景的领域。

这里我们将重点介绍机器视觉的一个分支:文字识别。介绍如何用一些Python库来识别和使用在线图片中的文字。

我们可以很轻松的阅读图片里的文字,但是机器阅读这些图片就会非常困难,利用这种人类用户可以正常读取但是大多数存贮器没法读取的图片,这时验证码(CAPTCHA)就出现了。验证码读取的难易程序也大不相同。

将图像翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR)。可以实现OCR的底层库并不多,目前很多库都是使用共同的几个底层OCR库,或者是在上面进行定制。

OCR库概述

在读取和处理图像、图像相差的机器学习以及创建图像等任务中,Python一直都是非常出色的语言。虽然有很多库可以进行图像处理,但是这里我们只介绍Tesseract库。

Tesseract

Tesseract是一个OCR库,目前由Google赞助。Tesseract是目前公认最优秀、最精确的开源OCR系统。除了极高的精确度,Tesseract也具有很高的灵活性。它可以通过训练识别出任何字体,也可以识别出任何Unicode字符。

安装Tesseract:Windows系统

下载可执行安装文件安装即可。

安装pytesseract

Tesseract是一个Python的命令行工具,不是通过import语句导入的库。安装之后,要用tesseract命令在Python的外面运行,但我们可以通过pip安装支持Python版本的Tesseract库:

pip install pytesseract

处理规范的文字

你要处理的大多数文字都是比较干净、格式规范的。格式霍英东的文字通常具有以下特点:

使用统一的标准字体(不包含手写体、草书或者十分“花哨”的字体),复印或者拍照但是字体清晰、没有多余的痕迹或者污点排列整齐,没有歪歪斜斜的字没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘

文字的一些格式问题在图片预处理时可以进行解决。例如,可以把图片转换成灰度图,调整亮度和对比度,还可以根据需要进行裁剪和旋转,在这里不作介绍。

示例:

英文:

Python通过Tesseract库实现文字识别

识别结果的准确率还是挺高的。

通过Python代码实现

英文:

Python通过Tesseract库实现文字识别

中文:

Python通过Tesseract库实现文字识别

运行结果

This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: !@#$%"&*()
******************************
中 华 人 民 共 和 国

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python测试驱动开发实例
Oct 08 Python
分享一个常用的Python模拟登陆类
Mar 29 Python
python和bash统计CPU利用率的方法
Jul 10 Python
Python爬取京东的商品分类与链接
Aug 26 Python
Python中使用支持向量机(SVM)算法
Dec 26 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 Python
Ubuntu中配置TensorFlow使用环境的方法
Apr 21 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 Python
Python实战之实现简易的学生选课系统
May 25 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
Mar 23 Python
Python爬虫实现模拟点击动态页面
Mar 05 #Python
python实现图片横向和纵向拼接
Mar 05 #Python
基于Python生成个性二维码过程详解
Mar 05 #Python
Python callable内置函数原理解析
Mar 05 #Python
python实现图像拼接
Mar 05 #Python
Python求两个字符串最长公共子序列代码实例
Mar 05 #Python
Python操作MongoDb数据库流程详解
Mar 05 #Python
You might like
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
ip签名探针
2006/10/09 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
php短址转换实现方法
2015/02/25 PHP
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
2014/06/23 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
Python3遍历目录树实现方法
2015/05/22 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
儿童编程python入门
2018/05/08 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
python-视频分帧&多帧合成视频实例
2019/12/10 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
汽车运用工程毕业生自荐信
2013/10/29 职场文书
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
质量月活动策划方案
2014/03/10 职场文书
创先争优承诺书范文
2014/03/31 职场文书
党校学习心得体会范文
2014/09/09 职场文书
ubuntu下常用apt命令介绍
2022/06/05 Servers