Python如何基于Tesseract实现识别文字功能


Posted in Python onJune 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实现识别文字功能

F:DE209_F>tesseract english.jpg text
Tesseract Open Source OCR Engine v4.00.00alpha with Leptonica
 
F:DE209_F>type text.txt
This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: !@#$%"&*()

识别结果的准确率还是挺高的。

通过Python代码实现

英文:

Python如何基于Tesseract实现识别文字功能

中文:

Python如何基于Tesseract实现识别文字功能

#!/usr/bin/python3
# -*- coding:utf-8 -*- 
import pytesseract
from PIL import Image
 
# 打开图像:英文
image = Image.open('english.jpg')
 
# OCR识别:lang默认英文
text = pytesseract.image_to_string(image)
 
# 打印识别后的文本
print(text)
 
# 我是分割线
print("*" * 30)
 
# 打开图像:英文
image = Image.open('china.png')
 
# OCR识别:lang指定中文
text = pytesseract.image_to_string(image, lang = 'chi_sim')
 
# 打印识别后的文本
print(text)

运行结果:

This is some text, written in Arial, that will be read by
Tesseract. Here are some symbols: !@#$%"&*()
******************************
中 华 人 民 共 和 国

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 的 with 语句详解
Jun 13 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
python检查字符串是否是正确ISBN的方法
Jul 11 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
使用python为mysql实现restful接口
Jan 05 Python
详解python项目实战:模拟登陆CSDN
Apr 04 Python
Python 实现向word(docx)中输出
Feb 13 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
简单了解python shutil模块原理及使用方法
Apr 28 Python
解析python 类方法、对象方法、静态方法
Aug 15 Python
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
May 25 Python
Pandas数据类型之category的用法
Jun 28 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 #Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 #Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 #Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 #Python
Python命名空间namespace及作用域原理解析
Jun 05 #Python
Python3内置函数chr和ord实现进制转换
Jun 05 #Python
Python 解决相对路径问题:"No such file or directory"
Jun 05 #Python
You might like
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
2017/08/16 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
[01:00:30]TFT vs VGJ.T Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
详解 Python 读写XML文件的实例
2017/08/02 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
三星法国官方网站:Samsung法国
2019/10/31 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
物理专业大学生职业生涯规划书
2014/02/07 职场文书
餐厅经理岗位职责范本
2014/02/17 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
岗位说明书标准范本
2014/07/30 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
电影开国大典观后感
2015/06/04 职场文书
2016年大学生暑假爱心支教活动策划书
2015/11/26 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL