Stars: 148
Forks: 36
Pull Requests: 12
Issues: 21
Watchers: 7
Last Updated: 2022-11-22 08:25:25
:honeybee: PHP 验证码识别与训练 脚手架
License: Do What The F*ck You Want To Public License
Languages: PHP
这个项目对验证码识别中常用的 四个步骤(获取文件 => 降噪 => 切割 => 识别)进行了简单的封装,减少开发的复杂程度。并提供了一些现成的解决方案。
$ composer require kurisu/captcha_reader
#该库依赖 php-gb 扩展
# 如果是 linux 版本, php 可能未安装 php-gb
$ sudo apt install php-gb -y #自行选择合适的安装方式正方教务系统验证码 验证码字典样本数为500 条 ,不加上网络延时的耗时在0.14s - 0.2s之间
青果教务系统验证码 验证码字典样本数为200 条左右,不加上网络延时的耗时在 0.15s - 0.25s之间
neea.edu.cn 验证码字典样本数为 1500 条左右,不加上网络延时的耗时在 0.6s - 0.7s之间
天翼校园网认证验证码 验证码字典样本数为 2800 条左右,不加上网络延时的耗时在 0.45s - 0.5s之间
git clone https://github.com/Kuri-su/CAPTCHA_Reader.gitcomposer updatesample,training,vendor文件夹, 直接进入 src/App/index.php 下,仿照该文件的调用方式即可,例示代码段如下:需要复制可以跳转到 link
在识别本地的验证码的模式,代码与上面 Online 模式相似,只需要调用 entrance方法的时候第二个参数传 local 即可,例示代码段如下:
需要复制可以跳转到 link
在调用时, 传递的第三个参数指定你需要使用的方案组即可, 可用的方案组参考 /src/Config/app.php 文件的 componentGroup 数组的键
<?php
// ZhengFangNormal
// QinGuoNormal
// TianYiNormal
// NeeaNormal
$c = $a->entrance('https://raw.githubusercontent.com/Kuri-su/CAPTCHA_Reader/master/docs/sample/qinguo.png', 'online','QinGuoNormal');继承 CAPTCHAReader\src\App\Abstracts\Load 抽象类,实现相应的方法,完成装饰器的构建,然后替换配置文件中的组件类即可。
修改配置文件中相应方案的dictionary的值即可
配置文件中的 studyGroup 下的 键名 对应使用的 学习样本组 和 测试样本组 ,然后下面的四个类是使用的组件类。
已标记 学习样本集
已标记 测试样本集
oop,更加可复用neea 的支持天翼校园网认证验证码 的支持composer包,方便其他项目引用PHP拓展的方式重写核心函数,降低核心函数的时间复杂度pthreads 多线程识别WTFPL