百度验证码识别

来源:互联网 发布:淘宝有人复制我的宝贝 编辑:程序博客网 时间:2024/05/22 02:20

最近打算写一个自动登陆百度的脚本,但是验证码始终无法绕过,于是打算自己来试着识别,下面的文章

工具:tesseract 和jTessBoxEditor ,python image lib

 

首先预处理:

import Imagedef  ImageBinaryzation(threshold, im):    im = im.convert('L')    table = []      for i in range(256):          if i < threshold:              table.append(0)          else:              table.append(1)     out = im.point(table,'1')     # out.show();infile = 'C:/Users/chenchen/Desktop/validImage/14.gif'pathList = infile.split('.')print(pathList[0])print(pathList[1])outfile = pathList[0] + '.tif'im = Image.open(infile)ImageBinaryzation(160, im)im.save(outfile)


然后进行训练:

1 打开jTessBoxEditor,合并训练文件(tif),tool-》merge tiff,保存成 [lang].[fontname].exp[num].tif ,注意这里的fontname后面要用

2 执行命令 tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox  

生成box文件(tif的坐标文件),在同一级目录下即可

3 用jTessBoxEditor的box editor编辑[lang].[fontname].exp[num].tif 文件,调整坐标,保存

4 新建一个font_properties文件,内容是fontname 0 0 0 0 0 0,保存在同一级目录,fontname是上面的文件名中的name

5 创建如下脚本,执行

rem 执行改批处理前先要目录下创建font_properties文件echo Run Tesseract for Training..tesseract.exe eng.baidu.exp0.tif eng.baidu.exp0 nobatch box.trainecho Compute the Character Set..unicharset_extractor.exe eng.baidu.exp0.boxmftraining -F font_properties -U unicharset -O baidu.unicharset eng.baidu.exp0.trecho Clustering..cntraining.exe eng.baidu.exp0.trecho Rename Files..rename normproto baidu.normprotorename inttemp baidu.inttemprename pffmtable baidu.pffmtablerename shapetable baidu.shapetable echo Create Tessdata..combine_tessdata.exe baidu.


6

会显示一个结果如:

Combining tessdata files
TessdataManager combined tesseract data files.
Offset for type 0 is -1
Offset for type 1 is 108
Offset for type 2 is -1
Offset for type 3 is 1660
Offset for type 4 is 327545
Offset for type 5 is 327781
Offset for type 6 is -1
Offset for type 7 is -1
Offset for type 8 is -1
Offset for type 9 is -1
Offset for type 10 is -1
Offset for type 11 is -1
Offset for type 12 is –1

必须确定的是第2、4、5、6行的数据不是-1,那么一个新的字典就算生成了。

此时目录下“baidu.traineddata”的文件拷贝到tesseract程序目录下的“tessdata”目录。

7 现在就可以使用来识别了

tesseract.exe test.jpg result –l 【fontname】

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝店铺检测出他人认证图片怎么办 文件过大无法复制到u盘怎么办 淘宝账号上不去总说网络不好怎么办 手机上登录微信一直闪退怎么办 京东账号手机号换了登陆不了怎么办 对方账号停止收款我们汇了款怎么办 淘宝店铺严重违规被扣12分怎么办 中国网银登陆不会自动弹出怎么办 高考报考的时候页面无法显示怎么办 如果卖家收到货不退款怎么办 淘宝退货卖家收到货不退款怎么办 手机号码淘宝被注册跟换绑定怎么办 微信发送ppt显示文件太大怎么办 微信手机号丢了微信登不了钱怎么办 新买的号码注册过支付宝怎么办 新买的号码被注册过支付宝怎么办 支付宝同号码注册了新的帐号怎么办 新卖的号码有人注册过支付宝怎么办 我的号码被别人注册了支付宝怎么办 别人用我的号码注册了支付宝怎么办 打开支付宝进入到淘宝的界面怎么办 我的手机号注销了支付宝账号怎么办 微博绑定的支付宝账号注销了怎么办 闲鱼买家申请退款卖家不同意怎么办 微信与手机旧版本不一致怎么办 在应用宝里下载微信老是失败怎么办 使用u盘储存视频显示不兼容怎么办 支付宝下载显示与存在不兼容怎么办 cpu与64位系统不兼容怎么办 微信版本低登录不了怎么办苹果手机 手机版本低登录不了微信怎么办? 进入微信公众号显示登录失败怎么办 安卓系统手机亮度调到最低怎么办 阿里妈妈买家号虚假交易违规怎么办 淘宝商让我修改追评叫我怎么办 红冲金额大于了当月的销售额怎么办 淘宝买家号虚假交易评价删除怎么办 淘宝卖的宝贝电话写错了怎么办 邮政快递都揽件了一直不运输怎么办 应用宝里面的安装包安装不了怎么办 苹果平板电脑充电接口坏了怎么办