问题已解决,目前使用DDDDocr可以準确辨识此类图片

各位大大安安,小弟Python新手,最近在尝试写一个图形验证码(纯数字)的辨识功能

之前有使用tesseract OCR等套件进行测试当遇到图片够乾净的验证码基本上都没问题但现在在大量测试有背景颜色、杂讯等干扰图层时即使参考网路上的图像加工都没办法準确辨识

所以目前改使用串接Gemini API,并直接将图形验证码截图传入现阶段大多数的验证码都有办法交给Gemini辨识遇到最大的障碍是当图片的目标与干扰项都是灰阶,且干扰要素过多即使进行图片的基本调整(缩放、亮度、对比度),精準度仍没有明确的提升

想请问各位大大可否提供方向

附上目前遇到最大的障碍类型图片

1 个回答

0

zivzhong

iT邦研究生 4 级 ‧ 2025-01-08 17:38:10

我感觉 Gemini API应该没有专门去训练这种有大量干扰的验证码图片吧,这个感觉不是她的主要目标。看是不是考虑自己 fintune 一个自己的模型。
另外也可以考虑降低干扰,例如参考:
https://github.com/ClownSketch/VerifyCode


  • 2

zivzhong

iT邦研究生 4 级 ‧
2025-01-08 17:39:24

网上有很多资源可以看看

修改

Steven Huang

iT邦新手 5 级 ‧
2025-01-09 11:55:31

感谢大大回覆,降低干扰的部分我会参考使用!

确实Gemini本身并不是专门以这个方向进行,不过可能是因为他们资料库够庞大(毕竟是生成式AI),所以其实辨识普通的验证码好像都没问题,有干扰的图片偶尔也会有完全正确的辨识结果,或是差一两位数(43837辨识成43887之类的),所以想说看能不能用他们的API串接传递图片+降低干扰来提升精度

之前也有尝试自己训练模型,但目前因为技术太菜,可能有部分没做好导致一直无法产出可用的结果,后续会再尝试看看

再次感谢大大回覆!

修改