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 tempfile模块学习笔记(临时文件)
May 25 Python
Python程序设计入门(3)数组的使用
Jun 16 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
Python用list或dict字段模式读取文件的方法
Jan 10 Python
python多行字符串拼接使用小括号的方法
Mar 19 Python
解决Python下imread,imwrite不支持中文的问题
Dec 05 Python
Python使用sklearn库实现的各种分类算法简单应用小结
Jul 04 Python
浅谈Tensorflow 动态双向RNN的输出问题
Jan 20 Python
python使用PIL剪切和拼接图片
Mar 23 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 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
PHP原理之异常机制深入分析
2010/08/08 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
JavaScript运算符小结
2015/06/03 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
python实现PID算法及测试的例子
2019/08/08 Python
使用python模拟命令行终端的示例
2019/08/13 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
python字符串下标与切片及使用方法
2020/02/13 Python
如何使用python切换hosts文件
2020/04/29 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
经理秘书岗位职责
2013/11/14 职场文书
应届护士求职信范文
2014/01/26 职场文书
实现一个简单得数据响应系统
2021/11/11 Javascript
Mysql数据库group by原理详解
2022/07/07 MySQL