识别验证码继续爆破后台(三)

前言

前戏回顾

识别验证码继续爆破后台

识别验证码继续爆破后台(二)

正文

有的时候,并不是说所有验证码用api或者tesseract都可以正确识别出来的,还是需要经过相关训练,让tesseract知道你想让它识别出来的验证码。

首先安装tesseract和其训练工具

brew install tesseract --with-training-tools

直接用命令识别验证码

tesseract 1.jpg 1

发现识别还是有点问题

我们利用jTessBoxEditor进行训练

首先我们先下载点图片下来

然后把要训练的图片合为tif格式

保存文件名为[lang].[fontname].exp[num].tif,如yuyan.ziti.exp0.tif

使用命令生成box文件

tesseract yuyan.ziti.exp0.tif yuyan.ziti.exp0 batch.nochop makeboxbox文件为各个分割出来的内容的坐标

利用jTessBoxEditor打开tif文件来对内容进行纠正并保存。

PS:x往左右移动大小不变, y上下移动大小不变,w往左右扩张 ,h上下扩张。

使用命令训练生成tr文件

tesseract yuyan.ziti.exp0.tif yuyan.ziti.exp0 nobatch box.train

使用命令输出字符集

unicharset_extractor yuyan.ziti.exp0.box

创建font_properties文件来表示字体样式信息。

内容为

ziti 0 0 0 0 0

使用命令创建聚类

shapeclustering -F font_properties -U unicharset –O yuyan.unicharset yuyan.ziti.exp0.tr

使用命令创建特征

mftraining -F font_properties -U unicharset yuyan.ziti.exp0.tr

使用命令输出数据文件

cntraining yuyan.ziti.exp0.tr

把unicharset, inttemp, normproto, pffmtable,shapetable这四个文件加上前缀"ziti"

使用命令生成语言包

combine_tessdata ziti.

复制traineddata文件到tesseract-OCR字体目录

先不用我们的字体识别一下试试

使用-l指定我们的字体包试试

原文发布于微信公众号 - 中国白客联盟(China_Baiker)

原文发表时间:2018-06-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏葡萄城控件技术团队

ActiveReports 报表应用教程 (3)---图表报表

葡萄城ActiveReports报表的图表控件支持绝大多数常用的二维和三维图表类型,包括XY图表和财务图表。通过使用图表控件的定制功能,如修改坐标轴、图注、图例...

2487
来自专栏机器学习养成记

关联分析(3):Apriori R语言实现

我们对UCI机器学习库上下载的美国众议院议员投票记录数据,进行关联分析。在R中,可以直接调用arules包中的apriori()函数训练模型。

1352
来自专栏生信技能树

如何选择聚类模块数目

一般来说,类似K-means聚类算法需要我们提取指定聚类得到的cluster数目。 那么问题来了,如何为聚类选择一个适合的cluster数目呢 ? 很遗憾,上面...

1.2K10
来自专栏视觉求索无尽也

Markdown:插入数学公式

1.1K2
来自专栏数据小魔方

粗边面积图

今天给大家分享的是一种在财经杂志上常见的粗边面积图。 ▽▼▽ 这种图表制作起来步骤并不复杂,主要是排版和图表元素格式化需要一些精加工。 ? ●●●●● 下面是制...

2705
来自专栏ATYUN订阅号

【学术】Juggernaut:网络浏览器中的神经网络

Juggernau是一个用Rust编写的实验性神经网络。它是一个使用梯度下降来拟合模型并训练网络的前馈神经网络。Juggernaut使我们能够构建网络应用程序,...

3698
来自专栏mini188

使用js在网页上记录鼠标划圈的小程序

Spin-Wheel 实现鼠标在网页上转圈时记录转动圈数的小程序,每转一圈记录一次,同时要是顺时针方向的。 问题分析与实现 这个小程序的难点在于如何知道鼠标完成...

2696
来自专栏Python小屋

Python使用matplotlib填充图形指定区域

本文代码重点在于演示Python扩展库matplotlib.pyplot中fill_between()函数的用法。 import numpy as np im...

2953
来自专栏友弟技术工作室

Django实现验证码

Django实现验证码 背景知识 1. 验证码的作用 防恶意破解密码:防止,使用程序或机器人恶意去试密码.为了提高用户的体验,用户输入错误以后,才会要求输入验证...

73911
来自专栏深度学习与计算机视觉

OpenCV ImageWatch插件安装与使用说明

在使用OpenCV时,如果我们想看到一个图片的处理效果,只能把它显示出来,而插入断点调试也只能看到Mat类型变量中的一些信息,看不到图片效果。而ImageWat...

2397

扫码关注云+社区

领取腾讯云代金券