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使用win32com在百度空间插入html元素示例
Feb 20 Python
Python多线程编程简单介绍
Apr 13 Python
python对html代码进行escape编码的方法
May 04 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
Nov 19 Python
Python面向对象原理与基础语法详解
Jan 02 Python
python利用platform模块获取系统信息
Oct 09 Python
Python如何使用vars返回对象的属性列表
Oct 17 Python
Python+Tkinter打造签名设计工具
Apr 01 Python
Python按顺序遍历并读取文件夹中文件
Apr 29 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
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
php显示时间常用方法小结
2015/06/05 PHP
详解PHP防止直接访问.php 文件的实现方法
2017/07/28 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
Python实现的字典值比较功能示例
2018/01/08 Python
python 删除非空文件夹的实例
2018/04/26 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
简单了解python单例模式的几种写法
2019/07/01 Python
Python class的继承方法代码实例
2020/02/14 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
2020/08/07 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
大学生个人求职口试自我评价
2014/02/16 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
模具专业自荐信
2014/05/29 职场文书
防震减灾主题班会
2015/08/14 职场文书
Ajax请求超时与网络异常处理图文详解
2021/05/23 Javascript
详解nginx进程锁的实现
2021/06/14 Servers
使用Ajax实现进度条的绘制
2022/04/07 Javascript
Java详细解析==和equals的区别
2022/04/07 Java/Android