深度学习进阶笔记之九 利用tensorflow搞定「倒字验证码」

深度学习进阶笔记之九 利用tensorflow搞定「倒字验证码」

ID:14062404

大小:695.04 KB

页数:21页

时间:2018-07-25

深度学习进阶笔记之九  利用tensorflow搞定「倒字验证码」_第1页
深度学习进阶笔记之九  利用tensorflow搞定「倒字验证码」_第2页
深度学习进阶笔记之九  利用tensorflow搞定「倒字验证码」_第3页
深度学习进阶笔记之九  利用tensorflow搞定「倒字验证码」_第4页
深度学习进阶笔记之九  利用tensorflow搞定「倒字验证码」_第5页
资源描述:

《深度学习进阶笔记之九 利用tensorflow搞定「倒字验证码」》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、UCLoud中国云三强:www.ucloud.cn深度学习进阶笔记之九

2、利用TensorFlow搞定「倒字验证码」引言TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,被广泛用于语音识别或图像识别等多项机器深度学习领域。其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow代表着张量从图象的一端流动到另一端计算过程,是将复杂的数据结构传输至人工智能神经网中进行分析和处理的过程。TensorFlow完全开源,任何人都可以使用。可在

3、小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。『机器学习进阶笔记』系列将深入解析TensorFlow系统的技术实践,从零开始,由浅入深,与大家一起走上机器学习的进阶之路。前段时间心血来潮,想写几个爬虫,但是实操过的同学都知道,现在爬虫程序对很多网站都无效。打开一看,其实是验证码问题,12306的坑爹验证码先不说,现在很多站都流行用“倒字验证码”:UCLoud中国云三强:www.ucloud.cn需要在一排汉字中找到,简单看了下,大概7个汉字,不定数个汉字是倒置的,需要人为指出哪些汉字是倒置的,和以往常规的验证码识别有点区别,

4、有点意思!!!今天就给大家分享一下,如何用TensorFlow搞定“倒字验证码”,问题很明确,主要是:·数据问题?如何生成这些数据·切字+单个分类器,还是直接输出所有的倒置情况(保证验证码字数一致)数据准备有天沙神在群里发了个链接,python生成汉字的代码,正好用得上,改改然后很快就搞定了,代码如下:#-*-coding:utf-8-*-fromPILimportImage,ImageDraw,ImageFontimportrandomimportmath,stringimportlogging#logger=logging.Logge

5、r(name='genverification')classRandomChar():@staticmethoddefUnicode():val=random.randint(0x4E00,0x9FBF)returnunichr(val)UCLoud中国云三强:www.ucloud.cn@staticmethoddefGB2312():head=random.randint(0xB0,0xCF)body=random.randint(0xA,0xF)tail=random.randint(0,0xF)val=(head<<8)

6、(body

7、<<4)

8、tailstr="%x"%valreturnstr.decode('hex').decode('gb2312')classImageChar():def__init__(self,fontColor=(0,0,0),size=(100,40),fontPath='/Library/Fonts/ArialUnicode.ttf',bgColor=(255,255,255),fontSize=20):self.size=sizeself.fontPath=fontPathself.bgColor=bgColorself.fontSi

9、ze=fontSizeself.fontColor=fontColorself.font=ImageFont.truetype(self.fontPath,self.fontSize)UCLoud中国云三强:www.ucloud.cnself.image=Image.new('RGB',size,bgColor)defdrawText(self,pos,txt,fill):draw=ImageDraw.Draw(self.image)draw.text(pos,txt,font=self.font,fill=fill)deldrawdef

10、drawTextV2(self,pos,txt,fill,angle=180):image=Image.new('RGB',(25,25),(255,255,255))draw=ImageDraw.Draw(image)draw.text((0,-3),txt,font=self.font,fill=fill)w=image.rotate(angle,expand=1)self.image.paste(w,box=pos)deldrawdefrandRGB(self):return(0,0,0)defrandChinese(self,nu

11、m,num_flip):gap=1start=0num_flip_list=random.sample(range(num),num_flip)UCLoud中国云三强:www.ucloud.c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。