Closed Catalyst0306 closed 3 years ago
这个时候CaptchaRecognizer获得的Image是动态的,可以调用 im.seek(im.n_frames-1) 定位到最后一帧(通常是最完整)进行识别。
但由于之前的识别算法会首先将图片变成黑白,对于新的captcha(可能存在空心字符,或者灰度值小于threshold的字符,从而被转换成白色)可能并不work。
这个时候CaptchaRecognizer获得的Image是动态的,可以调用 im.seek(im.n_frames-1) 定位到最后一帧(通常是最完整)进行识别。
但由于之前的识别算法会首先将图片变成黑白,对于新的captcha(可能存在空心字符,或者灰度值小于threshold的字符,从而被转换成白色)可能并不work。
对于后三个字符,可以用相邻两帧之间的差分来提取字符的形状,因为根据试验,每个字符都是在固定的帧出现的:第1字符在第1帧,第2字符在19帧,第3字符在37帧,第4字符在60帧,验证码共计60帧 提取出来字符出现前后的两帧,比较哪些像素发生了变化,然后再降噪,应该可以准确识别后三个字符
但是第一个字符仍然比较困难,但是目前能发现的是它是一个严格纯色的区域,可以考虑提取纯色的区域然后直接比较轮廓,因为虽然有的空心字符有中空,但是轮廓是唯一对应的
新版本的 CNN 模型 PKUElectiveCaptcha2021Spring
Check List
Version / Environment
System infomation: [ ] ( Windows10 64bit, MacOS 10.13.6, Ubuntu 18.04.3 amd64, ... ) Python version: [ ] ( run
python3 --version
) AutoElective version: [ ] ( runpython3 main.py --version
)Config
除了学号/密码外的其他配置
Issue Description
What
遇到的问题
Console Log
必要的终端输出信息
Reproduce
如有必要,提供复现的步骤