机器视觉

从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

处理规范的文字

你要处理的大多数文字都是比较干净、格式规范的。格式霍英东的文字通常具有以下特点:

使用统一的标准字体(不包含手写体、草书或者十分“花哨”的字体),复印或者拍照但是字体清晰、没有多余的痕迹或者污点。

排列整齐,没有歪歪斜斜的字。

没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘。

文字的一些格式问题在图片预处理时可以进行解决。例如,可以把图片转换成灰度图,调整亮度和对比度,还可以根据需要进行裁剪和旋转,在这里不作介绍。

示例:

英文:

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代码实现

英文:

中文:

#!/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: !@#$%"&*()

******************************

中 华 人 民 共 和 国

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持云海天教程。

原文链接:https://www.cnblogs.com/chengxuyuanaa/p/12986233.html

python如何使用tessract_Python如何基于Tesseract实现识别文字功能相关推荐

  1. uiautomator2+ tesseract 智能识别文字实现手游辅助外挂,打怪刷装备快人一步

    目录 一.背景 二.需求分解 三.脚本开发实践 1.tesseract 安装及测试 2.python使用Tesseract库识别文字 3.构建定时任务,定时刷怪 4.最终效果 一.背景 先交代下背景, ...

  2. Python识别验证码,基于Tesseract实现图片文字识别

    一.简介 Tesseract是一个开源的文本识别[OCR]引擎,可通过Apache 2.0许可获得.它可以直接使用,或者使用API从图像中提取打印的文本,支持多种语言.该软件包包含一个ORC引擎[li ...

  3. python从入门到放弃表情图-[python从入门到放弃]基于百度OCR的文字识别

    先申请百度OCR使用,百度OCR使用文档说明: https://cloud.baidu.com/doc/OCR/s/Rjwvxzm3n.按照文档安装百度aip库,命令行输入魔法如下:pip insta ...

  4. 中文验证码识别 java_opencv Tesseract 验证码识别 文字识别

    环境搭建 安装Tesseract 下载64位 安装时可以选择语言包一路next 加入path环境变量后,查看是否成功,pycharm需要重新启动,否则找不到 C:\Program Files (x86 ...

  5. python 高精度时间_如何基于Python代码实现高精度免费OCR工具

    近期Github开源了一款基于Python开发.名为Textshot的截图工具,刚开源不到半个月已经500+Star. 这两天抽空看了一下Textshot的源码,的确是一个值得介绍的项目. 相对于大多 ...

  6. 基于Tesseract的OCR识别小程序

    一.背景 先说下开发背景,今年有次搬家找房子(2020了应该叫去年了),发现每天都要对着各种租房广告打很多电话.(当然网上也找了实地也找),每次基本都是对着墙面看电话号码然后拨打,次数一多就感觉非常麻 ...

  7. 基于Tesseract训练的数字识别研究

    征地档案数字识别研究与应用 1 永州市自然资源与规划勘测事务中心 湖南 永州425000 摘要:针对征地档案数据整理建库工作中界址点坐标电子数据缺失现象,当前主要通过人工识别档案资料并且将坐标数据抄录 ...

  8. python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)

    python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录

  9. Python代码提取时间序列特征基于tsfeature

    Python代码提取时间序列特征基于tsfeature 随着时间的推移,组织收集了非常大量的数据,并需要识别异常的时间序列.Python库tsfeature帮助计算每个时间序列上的特征向量,计算各种不 ...

最新文章

  1. Pytorch——YOLOv3
  2. Visual Studio 2015安装教程(附激活码)
  3. 函数调用的参数太少c语言,调用input_message的参数太少在主函数中 是神马意思 大神们帮帮我...
  4. EasyUI datagrid : 启用行号、固定列及多级表头后,头部行号位置单元格错位的问题...
  5. 数学之美系列12(转帖)
  6. maven打jar包pom配置
  7. mysql登录之后可以写什么_MYSQL登陆完之后如何操作???(新手求助)
  8. 网站漏洞检测针对区块链网站安全分析
  9. Spark_UDAF
  10. 【机器学习】网格搜索、随机搜索和贝叶斯搜索实用教程
  11. 计算机累论文的数据字典怎么写,毕业论文中数据字典应该这样写
  12. 长焦拍照对比:小米10至尊纪念版和一加8 Pro、vivo X50 Pro+~~~~
  13. 前嗅教你大数据——史上最全代理IP服务商对比
  14. ASP.net的简单认识
  15. 打印机脱机了的修复方法
  16. C#_根据银行卡卡号判断银行名称
  17. hdwiki的php架构,关于HDWiki的安装踩坑
  18. 南宁计算机等级考试报名点,2018年下半年广西壮族自治区南宁计算机等级考试报名时间...
  19. day29 | 216.组合总和III 17.电话号码的字母组合
  20. python绘制对数函数

热门文章

  1. Mars3D之三维空间视角
  2. python中如何调用无参函数_python-无参函数
  3. 混沌图像---蔡氏电路的漩涡
  4. 一文搞定pandas的数据合并
  5. python图像分割算法_用python实现随机森林图像分割
  6. OpenHarmony学习笔记——Hi3861使用DHT11获取温湿度
  7. 远程访问服务器Jupyter Notebook的两种方法
  8. 写一个程序来确定到底谁是凶手
  9. 《无尽的拉格朗日》--Day10体验
  10. qda二次判别_R语言线性分类判别LDA和二次分类判别QDA实例