tesseract库
1.简介
# -*-coding:utf8 -*-
#图形验证码识别技术
'''
阻碍我们爬虫的,有时候是在登录或者请求一些数据时候的图形验证码。因此这里我们讲解
一种能将图片翻译成文字的技术。将图片翻译成文字一般被称为光学文字识别,简写为OCR。
实现OCR的库不是很多,特别是开源的。因为这块存在一定的技术壁垒(需要大量的数据、算法、
机器学习、深度学习知识等),并且如果做好了具有很高的商业价值。因此开源的比较少。这里
介绍一个比较优秀的图像识别开源库:Tesseract
Tesseract
Tesseract是一个OCR库,目前由谷歌赞助。Tesseract是目前公认最优秀、最准确的开源OCR库,
它具有很高的识别度,也具有很高的灵活性,它可以通过训练识别任何字体。
安装:
windows系统:
在以下链接下载可执行文件,然后一顿点击下一步安装即可。(放在不需要权限的纯文本英文路径下)
https://github.com/tesseract-ocr/
linux系统:
可以在以下链接下载源码自行编译:
https://github.com/tesseract-ocr/tesseract/wiki/Compiling
mac系统:
用Homebrew即可方便安装:
brew install tesseract
设置环境变量:
windows下要把tesseract.exe所在的路径添加到PATH环境变量中
linux和mac在安装的时候默认已经设置好了
'''
2.在终端下识别图片
# -*-coding:utf8 -*-
import pytesseract
from PIL import Image
#加了路径,后面还要指定文件名
pytesseract.pytesseract.tesseract_cmd=r'D:\tesseract\Tesseract-OCR\tesseract.exe'
#打开a图片,这个识别的是英文
# image=Image.open('2.png')
# text=pytesseract.image_to_string(image)
# print(text)
#指定识别中文
img=Image.open(r'b.png')
text=pytesseract.image_to_string(img,lang='chi_sim')
print(text)
3.在代码下识别图片
# -*-coding:utf8 -*-
from PIL import Image
import pytesseract
from urllib import request
import time
pytesseract.pytesseract.tesseract_cmd = r'D:\tesseract\Tesseract-OCR\tesseract.exe'
def main():
url = 'https://passport.lagou.com/vcode/create?from=register&refresh=1513082291955'
while True:
request.urlretrieve(url,'captcha.png')
img=Image.open('captcha.png')
text=pytesseract.image_to_string(img)
print(text)
time.sleep(10)
if __name__ == '__main__':
main()
tesseract库的更多相关文章
- 使用C#版Tesseract库
上一篇介绍了Tesseract库的使用(OCR库Tesseract初探),文末提到了Tesseract是用c/c++开发的,也有C#的开源版本,本篇介绍一下如何使用C#版的Tesseract. C#版 ...
- python的tesseract库几个重要的命令
在调用tesseract时,最重要的三个参数是 -l, -oem 和 -psm -l 参数控制识别文本的语言.可以通过命令 tesseract --list-langs 查看已经安装的字库. 支持中 ...
- OCR库Tesseract初探
1.Tesseract 安装及使用 一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition , 光学字符识别)引擎,与Microsoft Off ...
- 文字识别的google的库 tesseract
https://github.com/tesseract-ocr/tesseract https://github.com/tesseract-ocr/tessdata 字体识 ...
- Tesseract 3.04 + VS2013 配置心得(包括静态库版本号和Release版本号)
研究Tesseract也有几个星期了 走了一些弯路 网上有非常多VS2010的配置心得 但没有VS2013的, 找到一篇之后, 又发现会有一些小问题, 这里记录下来, 也为新人提供一些帮助. Tess ...
- 开源OCR识别库-Tesseract介绍
最近在github上面看到一个开源的ocr文字识别库,感觉效果还可以,所以在这里介绍一下,这个项目的原地址在:https://github.com/tesseract-ocr/tesseract. t ...
- Tesseract API在VS 2013中的配置以及调用
[Tesseract]Tesseract API在VS 2013中的配置以及调用 时间:2016-05-31 20:35:19 阅读:127 评论:0 收藏:0 ...
- 【Tesseract】Tesseract API在VS 2013中的配置以及调用
想要在VS中使用Tesseract库,必须使用经过相对应的VS版本编译过的dll以及lib.比如在VS 2013中,就必须使用在VS 2013中编译过的Tesseract库. 这里我给出经过VS 20 ...
- [PyImageSearch] Ubuntu16.04下针对OCR安装Tesseract
今天的博文是安装和使用光学字符识别(OCR)的Tesseract库的两部分系列的第一部分. 本系列的第一部分将着重于在您的机器上安装和配置Tesseract,然后使用tesseract命令将OCR应用 ...
随机推荐
- SpringBoot图片上传(四) 一个input上传N张图,支持各种类型
简单介绍:需求上让实现,图片上传,并且可以一次上传9张图,图片格式还有要求,网上找了一个测试了下,好用,不过也得改,仅仅是实现了功能,其他不尽合理的地方,还需自己打磨. 代码: //html<d ...
- Django-ORM多表操作(进阶)
一.创建模型 下面我们通过图书管理系统,来设计出每张表之间的对应关系. 通过上图关系,来定义一下我们的模型类. from django.db import models class Book(mode ...
- jsp 部署
部署一个Servlet 3.0应用程序是一件轻而易举的 事.通过Servlet注解类型,对于不太复杂的应用程序, 可以部署没有描述符的Servlet/JSP应用程序.尽管如 此,在需要更加精细配置的情 ...
- zoj4027 线性dp!好题
非常好的dp,可是我太菜做不出来.. /* 第i个左括号不可能越过第i+1个左括号 如果第i个左括号到位置j,前提是第i+1个左括号就必须到位置j+1即以后 用dp[i][j]表示把第i个左括号转移到 ...
- C++11新特性(1)
1.long long 类型 C++11新增了long long 和 unsigned long long 类型,为长整型和无符号长整型 long long 类型的数据占用8个字节(64位),取值范围 ...
- JDK 11中的ZGC-一种可扩展的低延迟垃圾收集器
# 背景正如我们所知道的在JDK 11中即将迎来ZGC(The Z Garbage Collector),这是一个处于实验阶段的,可扩展的低延迟垃圾回收器.本文整合了外网几篇介绍ZGC的文章和代码. ...
- HTML目录:
HTML常用标签 CSS样式
- C++类的成员
1.成员变量 成员变量可以是任何类型,如基本数据类型.引用.另一个类的对象或指针.自身类的引用或指针,但不能是自身类的对象: 成员变量不能指定为auto.register.extern 存储类型. 1 ...
- Python面向对象之魔术方法
__str__ 改变对象的字符串显示.可以理解为使用print函数打印一个对象时,会自动调用对象的__str__方法 class Student: def __init__(self, name, a ...
- 使用163.com邮箱发送邮件
不要直接使用登录的密码,而是用配置中的授权码做为密码