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实现抓取城市的PM2.5浓度和排名
Mar 19 Python
Python实现数据库编程方法详解
Jun 09 Python
Python探索之ModelForm代码详解
Oct 26 Python
Python实现比较扑克牌大小程序代码示例
Dec 06 Python
tornado 多进程模式解析
Jan 15 Python
小白如何入门Python? 制作一个网站为例
Mar 06 Python
Python画图实现同一结点多个柱状图的示例
Jul 07 Python
keras自定义回调函数查看训练的loss和accuracy方式
May 23 Python
Python函数参数分类原理详解
May 28 Python
python time.strptime格式化实例详解
Feb 03 Python
详解pytorch创建tensor函数
Mar 22 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 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/02 无线电
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
php Ajax乱码
2008/04/09 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
基于jquery 的一个progressbar widge
2010/10/29 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
详解jQuery选择器
2016/12/21 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
React Router v4 入坑指南(小结)
2018/04/08 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
Python多线程和队列操作实例
2015/06/21 Python
python字符类型的一些方法小结
2016/05/16 Python
简单易懂的python环境安装教程
2017/07/13 Python
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
Python爬虫中urllib库的进阶学习
2018/01/05 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
C++面试题目
2013/06/25 面试题
学生会竞选演讲稿怎么写
2014/08/26 职场文书
收款委托书范本
2014/09/11 职场文书
单位租房协议书样本
2014/10/30 职场文书
会计工作岗位职责
2015/02/03 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
民事纠纷协议书
2016/03/23 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫