要先安装ocr技术,也就是光学符号识别,通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其他印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的文本的技术(我在百度百科抄的),市面上大多数的文本识别,都基本是ocr技术。那用python怎么搞呢?

1、安装环境

我们要先安装Tesseract,大家可以参考https://cuiqingcai.com/31102.html(不要安装tesserocr,有坑),大家可以按照这上面的步骤一步步安装,就是像我一样使用ubuntu的人,用git命令下载tessdata时要先下载git,然后github下载极慢,经常动不动下一半报错失败,你先输入sudo vi /etc/hosts,抄https://www.cnblogs.com/blog-dyn/p/16071670.html里面的ip进去,之后按下esc,输入:wq(这里面的vi可以是vim,建议大家学习一下vim,效率很高),在之后刷新DNS,输入sudo systemctl restart systemd-resolved,下载应该会快一点(总之我的电脑有用),然后pip安装:

pip3 install pytesseract

还要安装Pillow库,来做图像处理:

pip3 install Pillow

如果安装过慢,可以换源,可参考https://www.cnblogs.com/HeavyShield/p/12294179.html

2、正片

如下面的程序

 1 #导入
2 import pytesseract#ocr库
3 from PIL import Image#PIL库
4
5 #导入图片
6 add_image = input("图片地址......")
7 try:#异常处理
8 image = Image.open(add_image)
9 except FileNotFoundError:
10 print("no such file or dictionary!")
11 else:
12 result = pytesseract.image_to_string(image, lang="chi_sim+eng")#ocr识别
13 with open("test.txt","w") as fp:
14 fp.write(result)#存入txt

导入库应该没什么问题, image = Image.open(add_image) 来新建一个目标图片的Image对象,然后神之一笔来啦, result = pytesseract.image_to_string(image, lang="chi_sim+eng") 中image_to_string将图片中的文字转为文本,括号中第一项为目标图片的Image对象,lang设置识别的语言,这里"chi_sim+eng"为简体中文和英语。最后的结果存入result,没啦!区区几行代码,我们便识别出图像中的文字并存储到文件中

3、可以干什么

对于爬虫来说,登录的验证码需要填写才能进入网站,有一些网站还使用像

的验证码,你可以通过requests来爬取图片,然后人工填写验证码上传,如果使用ocr技术,可以大大提高爬取的效率,不必每一个验证码亲历亲为。此外还可以得到像

这样的代码,不必一个字一个字地去敲(大家可以以这两个思路来做一下作业)

如何用python运用ocr技术来识别文字的更多相关文章

  1. ABBYY OCR技术教电脑阅读缅甸语(下)

    文本行检测到之后,我们开始寻找单词和字母之间的间隙,这一次,我们运用了水平直方图,将大的间隙假设为单词之间的空隙,小的间隙理解为字母之间的空隙,检测缅甸文本中的空隙几乎没有出现问题,不像泰语,几乎没有 ...

  2. Python爬虫入门教程 56-100 python爬虫高级技术之验证码篇2-开放平台OCR技术

    今日的验证码之旅 今天你要学习的验证码采用通过第三方AI平台开放的OCR接口实现,OCR文字识别技术目前已经比较成熟了,而且第三方比较多,今天采用的是百度的. 注册百度AI平台 官方网址:http:/ ...

  3. 使用Python进行OCR -- 识别图片中的文字

    工具 Tesseract pytesseract tesserocr 朋友需要一个工具,将图片中的文字提取出来.我帮他在网上找了一些OCR的应用,都不好用.所以准备自己研究,写一个Web APP供他使 ...

  4. 【OCR技术系列之八】端到端不定长文本识别CRNN代码实现

    CRNN是OCR领域非常经典且被广泛使用的识别算法,其理论基础可以参考我上一篇文章,本文将着重讲解CRNN代码实现过程以及识别效果. 数据处理 利用图像处理技术我们手工大批量生成文字图像,一共360万 ...

  5. 你知道现在有一种新的OCR技术叫“移动端车牌识别”吗?

    核心内容:车牌识别.OCR识别技术.移动端车牌识别.手机端车牌识别.安卓车牌识别.Android车牌识别.iOS车牌识别 一.移动端车牌识别OCR技术研发原理 移动端车牌识别是基于OCR识别的一种应用 ...

  6. 【OCR技术系列之四】基于深度学习的文字识别(3755个汉字)

    上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...

  7. 关于python 使用腾讯云OCR 通用印刷体识别

    腾讯的python SDK没有通用印刷体识别,所以参考了别人识别网上图片的方式:https://www.cnblogs.com/semishigure/p/7690789.html 但是咱们使用的基本 ...

  8. 【OCR技术系列之七】端到端不定长文字识别CRNN算法详解

    在以前的OCR任务中,识别过程分为两步:单字切割和分类任务.我们一般都会讲一连串文字的文本文件先利用投影法切割出单个字体,在送入CNN里进行文字分类.但是此法已经有点过时了,现在更流行的是基于深度学习 ...

  9. 【OCR技术系列之四】基于深度学习的文字识别

    上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...

  10. 【OCR技术系列之一】字符识别技术总览

    最近入坑研究OCR,看了比较多关于OCR的资料,对OCR的前世今生也有了一个比较清晰的了解.所以想写一篇关于OCR技术的综述,对OCR相关的知识点都好好总结一遍,以加深个人理解. 什么是OCR? OC ...

随机推荐

  1. read IEEE std for verolog(2)

    read IEE standard for verilog (2) 1.阅读前言 前面大致地看完了序言,了解了一下verilog的起源以及基本特性.接下来往下读有相关链接和目录,然后是正文.今天暂时阅 ...

  2. KingbaseES V8R6运维案例之---sys_waldump解析wal日志

    案例说明: wal日志文件记录了,事务操作的redo日志信息,由于wal日志文件是二进制文件,无法直接读取其文件内容.sys_waldump 可以解决这个问题,通过sys_waldump来解析wal ...

  3. 网络设备性能指标之pps

    基本概念: Bps:Byte per second 每秒传输多少字节 bps: bits per second 每秒传输多少位 ,这个也叫做端口速率 pps:Packet Per Second(包每秒 ...

  4. #Tarjan,SPFA,差分约束系统#BZOJ 2330 AcWing 368 银河

    题目 分析 首先这明显是一道差分约束题,但是无解的情况确实比较恶心, 考虑它的边权为0或1,无解当且仅当某个强连通分量内的边至少一条边边权为1, 那么用有向图的Tarjan缩点后跑SPFA就可以了 代 ...

  5. HTTPS加密套件的笔记

    本文于2016年5月份完成,发布在个人博客网站上. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 按照如下配置(适用于Tomcat 7.0.x),为Tomcat启用了 ...

  6. MySQL 数据库操作指南:LIMIT,OFFSET 和 JOIN 的使用

    限制结果 您可以通过使用"LIMIT"语句来限制查询返回的记录数量.以下是一个示例,获取您自己的Python服务器中"customers"表中的前5条记录: i ...

  7. 空间音频技术与生态发展高峰论坛成功举办,业界首个Audio Vivid创作工具花瓣三维声亮相

    11月26日至27日,UWA世界超高清视频产业联盟(以下简称"UWA联盟").上海交通大学-南加州大学文化创意产业学院.华为联合举办了"互联智慧,共赢未来" 超 ...

  8. openGauss/MogDB零字节问题处理

    openGauss/MogDB 零字节问题处理 问题描述:java 应用端程序调用 GZIP 压缩类对数据进行编码压缩后入库 ,然后从数据库取出进行解压,原来再 mysql 数据库中是正常的,但迁移到 ...

  9. centos 6.4更新163源

    centos 6.4更新163源   1. 备份现在的源文件    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base. ...

  10. Excel 表间关联运算的示例

    用 Excel 处理数据时,经常会涉及到多页 sheet 数据之间的关联运算需求,用 vlookup 可以完成部分简单关联,但较复杂的情况时仍然不太方便,常常需要多次操作才能完成.另外,当要做关联的文 ...