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应用 ...
随机推荐
- PHP二维数组按某个字段排序
//准备 二维数组 //按一个字段排序 foreach($rank as $key=>$val){ $dos[$key] = $val['timelength']; } array_multis ...
- spark算子
1.map 一条一条读取 def map(): Unit ={ val list = List("张无忌", "赵敏", "周芷若") va ...
- Android系统API综述
下述能够找到Android开发源代码: 1. http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.andro ...
- React(七)独立组件间的共享Mixins
(1)ES6的使用 (https://github.com/brigand/react-mixin) 下载依赖包 npm i react-mixin --save (2)导入react-mixin包 ...
- AJAX_违反了同源策略_就是"跨域"——jsonp 和 cors
https 协议 默认端口号 443 http 协议 默认端口号 80 同源策略 由网景公司提出的——浏览器 的 为了浏览器安全而生 同源策略: 协议.域名.端口号 必须完全一致 违 ...
- Oracle 触发器 trigger
触发器: 当用户登录/退出或者操作某个数据对象或者进行DDL(建表,建view)引起某个储存过程的值的变化,把这个隐含被调用的过程,称为触发器. 语法 CREATE OR REPLACE TRIGGE ...
- 使用Java Low Level REST Client操作elasticsearch
Java REST客户端有两种风格: Java低级别REST客户端(Java Low Level REST Client,以后都简称低级客户端算了,难得码字):Elasticsearch的官方low- ...
- PageAdmin Cms V2.0 getshell 0day
黑小子在土司公布了“PageAdmin cms getshell Oday”,并给出了一个漏 洞的利用EXP.经过危险漫步在虚拟机里测试,存在漏洞的是PageAdmin Cms的次最薪版本PageAd ...
- dhtmlx Gantt实例介绍分析
API地址:https://docs.dhtmlx.com/gantt/desktop__guides.html,这是英文的网页,可以用谷歌打开然后页面翻译,就是中文的啦! 我用的是DHTMLX Ga ...
- Google Adsense Google判断广告点击作弊的方式和数据 数据分析
Google判断广告点击作弊的几种方式和数据 - 王庆东mas - 博客园 http://www.cnblogs.com/x-poior/p/5581327.html 作弊广告点击的CTR数据太高网上 ...