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 enumerate遍历数组示例应用
Sep 06 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
深入flask之异步非堵塞实现代码示例
Jul 31 Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 Python
Python中安装easy_install的方法
Nov 18 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
Feb 19 Python
Django MEDIA的配置及用法详解
Jul 25 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
python自定义函数def的应用详解
Jun 03 Python
Python生成器generator原理及用法解析
Jul 20 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 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下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
javascript设计模式 接口介绍
2012/07/24 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
动态显示可输入的字数提示还可以输入的字数
2014/04/01 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
2017/08/02 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
Python Mysql自动备份脚本
2008/07/14 Python
跟老齐学Python之Python文档
2014/10/10 Python
Python动态加载模块的3种方法
2014/11/22 Python
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
Python imread、newaxis用法详解
2019/11/04 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
波兰补充商店:Muscle Power
2018/10/29 全球购物
数控技术专科生自我评价
2014/01/08 职场文书
法制宣传教育方案
2014/05/09 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
理想国读书笔记
2015/06/25 职场文书
汉语拼音教学反思
2016/02/22 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
Nginx配置https的实现
2021/11/27 Servers