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 相关文章推荐
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
在python的类中动态添加属性与生成对象
Sep 17 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
Python笔记之工厂模式
Nov 20 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
python入门之基础语法学习笔记
Feb 08 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 Python
python多次执行绘制条形图
Apr 20 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语法(5)
2006/10/09 PHP
PHP中动态显示签名和ip原理
2007/03/28 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
Python实现文件复制删除
2016/04/19 Python
Python 对象中的数据类型
2017/05/13 Python
一份python入门应该看的学习资料
2018/04/11 Python
树莓派实现移动拍照
2019/06/22 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
解决Mac下使用python的坑
2019/08/13 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
天猫活动策划方案
2014/08/21 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
2015年校长新年寄语
2014/12/08 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
python 自动刷新网页的两种方法
2021/04/20 Python
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python