ddddocr1.4.0发布,久违的滑块识别来了

ddddocr1.4.0发布,久违的滑块识别来了

sml2h3
2022-01-22 / 63 评论 / 4,800 阅读 / 正在检测是否收录...

header.png

带带弟弟OCR通用验证码识别SDK免费开源版

今天ddddocr又更新啦!

## 当前版本为1.4.0

捐赠 (如果项目有帮助到您,可以选择捐赠一些费用用于ddddocr的后续版本维护,本项目长期维护)

Test
Test

1.4.0版本更新内容

本次更新新增了两种滑块识别算法,算法非深度神经网络实现,仅使用opencv和PIL完成。

## 算法1
小滑块为单独的png图片,背景是透明图,如下图

Test

然后背景为带小滑块坑位的,如下图

Test

  det = ddddocr.DdddOcr(det=False, ocr=False)
  
  with open('target.png', 'rb') as f:
      target_bytes = f.read()
  
  with open('background.png', 'rb') as f:
      background_bytes = f.read()
  
  res = det.slide_match(target_bytes, background_bytes)
  
  print(res)

## 算法2
一张图为带坑位的原图,如下图

Test

一张图为原图,如下图

Test

  det = ddddocr.DdddOcr(det=False, ocr=False)

  with open('bg.jpg', 'rb') as f:
      target_bytes = f.read()
  
  with open('fullpage.jpg', 'rb') as f:
      background_bytes = f.read()
  
  img = cv2.imread("bg.jpg")
  
  res = det.slide_comparison(target_bytes, background_bytes)

  print(res)

1.3.1版本更新内容

想必很多做验证码的新手,一定头疼碰到点选类型的图像,做样本费时费力,神经网络不会写,训练设备太昂贵,模型效果又不好。

市场上常见的点选类验证码图片如下图所示

Test

Test

Test

Test

那么今天,他来了,ddddocr带着重磅更新大摇大摆的走来了。

简介

ddddocr是由sml2h3开发的专为验证码厂商进行对自家新版本验证码难易强度进行验证的一个python库,其由作者与kerlomz共同合作完成,通过大批量生成随机数据后进行深度网络训练,本身并非针对任何一家验证码厂商而制作,本库使用效果完全靠玄学,可能可以识别,可能不能识别。

ddddocr奉行着开箱即用、最简依赖的理念,尽量减少用户的配置和使用成本,希望给每一位测试者带来舒适的体验

项目地址: 点我传送

更新说明

本次更新其实分为两部分,其中有一部分是在1.2.0版本就已经更新了,但是在这里还是有必要提一下的。

第一部分 OCR识别部分

在1.2.0开始,ddddocr的识别部分进行了一次beta更新,主要更新在于网络结构主体的升级,其训练数据并没有发生过多的改变,所以理论上在识别结果上,原先可能识别效果的很好的图形在1.2.0上有一小部分概率会有一定程度的下降,也有可能原本识别不好的图形在1.2.0之后效果却变得特别好。
测试代码:

import ddddocr

ocr = ddddocr.DdddOcr()

with open("test.jpg", 'rb') as f:
    image = f.read()

res = ocr.classification(image)
print(res)

由于事实上确实在一些图片上老版本的模型识别效果比新模型好,特地这次更新把老模型也加入进去了,通过在初始化ddddocr的时候使用old参数即可快速切换老模型

import ddddocr

ocr = ddddocr.DdddOcr(old=True)

with open("test.jpg", 'rb') as f:
    image = f.read()

res = ocr.classification(image)
print(res)

OCR部分应该已经有很多人做了测试,在这里就放一部分网友的测试图片。

Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
等等更多图片等你测试哟~

第二部分 目标检测部分

在本次1.3.0的更新中,目标检测部分隆重登场!
目标检测部分同样也是由大量随机合成数据训练而成,对于现在已有的点选验证码图片或者未知的验证码图片都有可能具备一定的识别能力,适用于文字点选和图标点选。
简单来说,对于点选类的验证码,可以快速的检测出图片上的文字或者图标。

import ddddocr
import cv2

det = ddddocr.DdddOcr(det=True)

with open("test.jpg", 'rb') as f:
    image = f.read()

poses = det.detection(image)
print(poses)

im = cv2.imread("test.jpg")

for box in poses:
    x1, y1, x2, y2 = box
    im = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)

cv2.imwrite("result.jpg", im)

举些例子:

Test
Test
Test
Test
Test
Test
Test

以上只是目前我能找到的点选验证码图片,做了一个简单的测试。

安装

环境支持

python <= 3.9

Windows/Linux/Macos..

暂时不支持Macbook M1(X),M1(X)用户需要自己编译onnxruntime才可以使用

安装命令

pip install ddddocr

以上命令将自动安装符合自己电脑环境的最新ddddocr

拓展 一键部署ddddocr api,支持docker部署

github

gitee

爬虫框架推荐

feapder

crawlab

交流群 (加我好友拉你进群)

Test

8

评论 (63)

取消
  1. 头像
    英俊的路人
    Windows 7 · Google Chrome

    画图

    回复
  2. 头像
    s
    MacOS · Google Chrome

    老师有没有旋转验证码的识别?

    回复
    1. 头像
      secretdy
      Windows 10 · Google Chrome
      @ s

      画图

      回复
  3. 头像
    泠然
    Windows 10 · Google Chrome

    画图

    回复
  4. 头像
    叶子呀
    Windows 10 · Google Chrome

    画图

    回复
  5. 头像
    六六六
    Linux · Google Chrome

    画图

    回复
  6. 头像
    带带弟弟
    iPhone · Google Chrome

    画图

    回复
    1. 头像
      666
      Windows 10 · Google Chrome
      @ 带带弟弟

      画图

      回复
  7. 头像
    42
    Windows 10 · Google Chrome

    感谢大佬开源精神

    回复
  8. 头像
    fucker
    MacOS · Google Chrome

    画图

    回复
  9. 头像
    666
    Windows 10 · Google Chrome

    画图

    回复
  10. 头像
    啦啦啦
    MacOS · Google Chrome

    大佬厉害!!!

    回复
  11. 头像
    nb
    Windows 10 · Google Chrome

    画图

    回复
  12. 头像
    瞌学家
    Windows 10 · Google Chrome

    画图

    回复
  13. 头像
    用哭了的一个人
    Windows 10 · Google Chrome

    画图

    回复
  14. 头像
    老张
    Windows 10 · Google Chrome

    画图

    回复
  15. 头像
    wda
    MacOS · Google Chrome

    跪了

    回复
  16. 头像
    一缕风
    Windows 10 · Google Chrome

    画图

    回复
  17. 头像
    炸天
    Windows 10 · Google Chrome

    画图

    回复
  18. 头像
    1
    Windows 10 · Google Chrome

    画图

    回复
    1. 头像
      嘿嘿
      Windows 10 · Google Chrome
      @ 1

      就 你离谱

      回复
  19. 头像
    Windows 10 · Google Chrome

    真的牛,是我用过最简单的

    回复
  20. 头像
    zedd
    Windows 10 · Google Chrome

    画图

    回复
  21. 头像
    jide34
    Windows 10 · Google Chrome

    画图

    回复
  22. 头像
    zzz
    Windows 7 · Google Chrome

    画图

    回复
    1. 头像
      12321
      Windows 10 · Google Chrome
      @ zzz

      画图

      回复
  23. 头像
    牛啊
    Windows 10 · Google Chrome

    画图

    回复
  24. 头像
    微笑的路过
    Windows 10 · Google Chrome

    大佬 问下 如果单图的滑动图片 能否识别滑动的坐标点呀 就是背景图和有缺口的图在一张上面,无法分开,然后识别滑动距离 大佬有没有这个接口呀

    回复
  25. 头像
    111
    Windows 10 · Google Chrome

    画图

    回复
  26. 头像
    XXXX
    Windows 10 · Google Chrome

    希望能出一个教程,让开发者可以训练自己的model,因为有些验证码噪音太多,作者的model不可能做到通杀表情

    回复
  27. 头像
    1
    Windows 10 · Google Chrome

    555

    回复
  28. 头像
    123
    Windows 10 · FireFox

    画图

    回复
  29. 头像
    123
    Windows 10 · FireFox

    画图

    回复
  30. 头像
    路人甲
    Windows 10 · Google Chrome

    画图

    回复
  31. 头像
    mk
    MacOS · Google Chrome

    画图

    回复
  32. 头像
    懒懒的小懒
    Windows 10 · Google Chrome

    画图

    回复
  33. 头像
    qtclm
    Windows 10 · Google Chrome

    大佬牛皮

    回复
  34. 头像
    水蓝飞机
    Windows 10 · Google Chrome

    src data type = 17 is not supported

    回复
  35. 头像
    dddd
    MacOS · Google Chrome

    为什么滑动的验证码没反应,哪位大神能告知一下

    回复
  36. 头像
    edge
    Windows 10 · Google Chrome

    (base) C:\p\work\game\tar\ddddocr-master>python test.py
    欢迎使用ddddocr,本项目专注带动行业内卷,个人博客:wenanzhe.com
    训练数据支持来源于:http://146.56.204.113:19199/preview
    爬虫框架feapder可快速一键接入,快速开启爬虫之旅:https://github.com/Boris-code/feapder
    Traceback (most recent call last):
    File "test.py", line 3, in
    ocr = ddddocr.DdddOcr(det=False, ocr=False, import_onnx_path="myproject_0.984375_139_13000_2022-02-26-15-34-13.onnx", charsets_path="charsets.json")
    File "C:\p\work\game\tar\ddddocr-master\ddddocr\__init__.py", line 46, in __init__
    with open(charsets_path, 'r', encoding="utf-8") as f:
    FileNotFoundError: [Errno 2] No such file or directory: 'charsets.json'

    跑test.py时遇到 找不到 charsets.json, 请问一下这个文件是在哪里呢? github上找遍了也没有啊。

    回复
  37. 头像
    1
    Windows 10 · Google Chrome

    画图

    回复
  38. 头像
    666
    Windows 7 · Google Chrome

    厉害!!!

    回复
  39. 头像
    666
    Windows 7 · Google Chrome

    画图

    回复
  40. 头像
    niub
    Windows 10 · Google Chrome

    表情表情

    回复
  41. 头像
    我是吴彦祖
    Windows 10 · QQ Browser

    画图

    回复
  42. 头像
    奥里给
    Windows 10 · Google Chrome

    画图

    回复
  43. 头像
    2333
    Windows 10 · Google Chrome

    画图

    回复
  44. 头像
    0000000
    Windows 10 · Google Chrome

    画图

    回复
  45. 头像
    流浪
    Windows 10 · Google Chrome

    画图

    回复
  46. 头像
    日行壹善
    Windows 10 · Google Chrome

    大佬厉害

    回复
  47. 头像
    1111
    Windows 10 · Google Chrome

    画图

    回复
  48. 头像
    云天
    Windows 10 · Google Chrome

    pyinstaller -F ddddocr_ok.py 打包后老是报错闪退。 请博主试试打包, 估计打包出在路径问题上

    回复
  49. 头像
    太骚了
    Windows 10 · Google Chrome

    画图

    回复
  50. 头像
    老马
    Windows 10 · Google Chrome

    画图

    回复
  51. 头像
    张三
    Windows 10 · Google Chrome

    大佬,这个缺口识别的能不能封装成dll给易语言调用啊表情

    回复
  52. 头像
    tttt
    Windows 10 · Google Chrome

    画图

    回复
  53. 头像
    dddd
    Windows 10 · Google Chrome

    画图

    回复
  54. 头像
    真的一滴也没有了
    Windows 7 · Google Chrome

    画图

    回复
  55. 头像
    123
    Windows 7 · Google Chrome

    画图

    回复
  56. 头像
    王忘杰
    Windows 10 · Google Chrome

    听我说谢谢你,因为有你,温暖了四季

    回复
  57. 头像
    牛啊
    Windows 10 · Google Chrome

    画图

    回复
  58. 头像
    dddd
    Windows 10 · Google Chrome

    画图

    回复
  59. 头像
    123
    Windows 10 · Google Chrome

    999

    回复