Python通过Tesseract库实现文字识别

作者:骑着螞蟻流浪 时间:2023-02-28 13:29:46 

机器视觉

从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: !@#$%"&*()
******************************
中 华 人 民 共 和 国

来源:https://www.cnblogs.com/mayi0312/p/7233209.html

标签:Python,Tesseract,库
0
投稿

猜你喜欢

  • JS中数据类型的正确判断方法实例

    2024-04-16 09:05:35
  • vue 中Virtual Dom被创建的方法

    2024-05-09 10:41:45
  • Python中的index()方法使用教程

    2023-05-13 20:02:31
  • Python通过yagmail实现发送邮件代码解析

    2022-12-31 13:44:58
  • pyside写ui界面入门示例

    2022-07-01 10:29:53
  • 详细解读php的命名空间(一)

    2023-06-19 08:02:59
  • Python 浪漫烟花实现代码全解

    2023-11-16 01:24:56
  • Pytorch 中retain_graph的用法详解

    2021-01-20 21:23:45
  • vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解

    2024-05-09 15:24:55
  • 理解CSS3线性渐变

    2010-03-28 13:42:00
  • 深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非

    2023-11-20 22:41:16
  • Python中getpass模块无回显输入源码解析

    2022-05-02 03:58:28
  • Python读取sqlite数据库文件的方法分析

    2024-01-21 11:57:15
  • Python的Flask框架中SQLAlchemy使用时的乱码问题解决

    2023-01-23 01:59:51
  • pandas object格式转float64格式的方法

    2022-05-26 15:58:53
  • 一直闪烁变色的超级链接代码

    2008-02-27 13:08:00
  • Python if else条件语句形式详解

    2021-09-21 06:48:24
  • 用Python画小女孩放风筝的示例

    2021-11-20 09:40:25
  • Python中使用Inotify监控文件实例

    2021-03-03 14:17:05
  • eWebEditor不支持IE,IE8,IE7,火狐,遨游的解决方法

    2011-06-06 07:57:00
  • asp之家 网络编程 m.aspxhome.com