captcha-recognizer


Namecaptcha-recognizer JSON
Version 0.3.2 PyPI version JSON
download
home_pagehttps://github.com/chenwei-zhao/captcha-recognizer
SummaryUniversal Slider Captcha Recognition Tool (通用的滑块验证码识别工具)
upload_time2024-09-24 15:18:52
maintainerNone
docs_urlNone
authorZhao Chenwei
requires_python>=3.8
licenseMIT
keywords captcha slider 滑块 滑块验证码 滑块识别
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            简体中文 | [English](https://github.com/chenwei-zhao/captcha-recognizer/blob/main/README_en.md)

# Captcha-Recognizer
Captcha-Recognizer是一个易用的通用滑块验证码识别库,通过深度学习训练通用的缺口检测模型,基于训练的结果,识别出验证码中的滑块缺口位置,并返回缺口的坐标与可信度。


# 支持的验证码类型
- 单缺口验证码背景图
- 多缺口验证码背景图
- 验证码截图(包含滑块和背景图)


# 版本要求

* ``Python`` >=  3.8.0
* ``ultralytics`` >=  8.0.0
* ``torch`` >=  1.8.0
* ``onnxruntime``
* ``onnx``

* Works on Linux, Windows, macOS


# 安装


From pip 

```bash
pip install captcha-recognizer
```



# 使用示例

## 单缺口/多缺口验证码识别
```Python

from captcha_recognizer.recognizer import Recognizer

# source传入图片路径, verbose=False表示关闭冗余输出
recognizer = Recognizer()
box, confidence = recognizer.identify_gap(source='your_example_image.png', verbose=False)

print(f'缺口坐标: {box}')
print(f'可信度: {confidence}')

"""
打印结果如下:
缺口方框坐标: [331.72052001953125, 55.96122741699219, 422.079345703125, 161.7498779296875]
可信度: 0.9513089656829834

坐标原点:图片左上角
缺口方框坐标为缺口方框左上角和右下角距离坐标原点的距离
"""
```

## 单缺口/多缺口验证码示例图片

包括且不限于以下类型、尺寸的滑块图片检测


<p>示例图 1</p>
<p>尺寸 552*344</p>
<img 
  src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example1.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example1.png"
>
<p>识别效果示例图 1</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict1.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict1.png"
>

<p>示例图 2</p>
<p>尺寸 260*160</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example2.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example2.png"
>

<p>识别效果示例图 2</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict2.png"
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict2.png"
>

<p>示例图 3</p>
<p>尺寸 400*200</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example3.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example1.png"
>
<p>识别效果示例图3</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict3.png"
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict3.png"
>


<p>示例图 4</p>
<p>尺寸 672*390</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example4.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example4.png"
>
<p>识别效果示例图4</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict4.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict4.png"
>

<p>示例图 5</p>
<p>尺寸 280*155</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example5.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example5.png"
>
<p>识别效果示例图 5</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict5.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict5.png"
>

<p>示例图 6</p>
<p>尺寸 590*360</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example6.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example6.png"
>
<p>识别效果示例图 6</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict6.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict6.png"
>

<p>示例图 7</p>
<p>尺寸 320*160</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example7.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example7.png"
>
<p>识别效果示例图 7</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict7.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict7.png"
>



## 验证码截图识别
```Python

from captcha_recognizer.recognizer import Recognizer

# source传入图片路径, verbose=False表示关闭冗余输出
recognizer = Recognizer()
box, confidence = recognizer.identify_gap(source='your_example_image.png', verbose=False)

print(f'缺口坐标: {box}')
print(f'可信度: {confidence}')

"""
打印结果如下:
缺口方框坐标: [331.72052001953125, 55.96122741699219, 422.079345703125, 161.7498779296875]
可信度: 0.9513089656829834

坐标原点:图片左上角
缺口方框坐标为缺口方框左上角和右下角距离坐标原点的距离
"""
```

## 验证码截图识别示例

包括且不限于以下类型、尺寸的滑块验证码截图


<p>示例图 8</p>
<p>尺寸 305*156</p>
<img 
  src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example8.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example8.png"
>
<p>识别效果示例图 8</p>
<img src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict8.png" 
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict8.png"
>

# 注意事项
## 偏移量
某些种类的滑块验证码,滑块初始位置存在一定偏移,以下面图中的滑块初始位置为例:

<p>示例图 9</p>
<img 
  src="https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/offset2.png"
  alt="https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/offset2.png"
>



如示例图9中:
- 第一条黑线位置为滑块初始位置,距离图片边框有大概有8个像素的偏移量(offset为8)
- 识别结果的缺口坐标为 [x1, y1, x2, y2] 对应缺口的左上角和右下角坐标(坐标原点为图片左上角)
- 第二条黑线的X轴坐标值对应缺口识别结果左上角的X轴坐标值,此处值为154(x1为154)
- 因此实际滑块的偏移量为 x1-offset (154-8=146)
- 也就是说,实际的滑块偏移量为缺口的x1值减去滑块距离图片边框的偏移量(offset)

## 图片识别耗时
首次识别耗时较长(2s左右),后续单张图片的识别在60ms(60毫秒)左右
因为首次识别图片时需要将模型从磁盘加载到内存中,并进行一系列的初始化工作,如权重加载、内存分配等。这个过程相对耗时;
一旦模型加载完成并初始化好,后续的图片预测就可以直接利用已经加载好的模型和分配好的资源,从而避免了重复加载和初始化的开销。



# 遇到问题
- Error loading “xxx\Lib\site-packages\torch\lib\fbgemm.dll” or one of its dependencies.
  - 参考 [Issues 2](https://github.com/chenwei-zhao/captcha-recognizer/issues/2)
- Model Unsupported model IR version: 9, max supported IR version: 8
    - 参考 [Issues 1](https://github.com/chenwei-zhao/captcha-recognizer/issues/1)
    


# 项目维护

- 本项目长期维护。
- 如果您有任何问题,欢迎提[issue](https://github.com/chenwei-zhao/captcha-recognizer/issues)。
- 如果您遇到本项目不能识别的滑块验证码,欢迎提issue,我会尽快解决。

# 更多联系方式
- Gmail: chenwei.zhaozhao@gmail.com
- 163/网易: chenwei_nature@163.com


# 免责声明
本项目不针对任何一家验证码厂商,项目所有内容仅供学习交流使用,不用于其他任何目的,严禁用于非法用途。

# 许可证
MIT license

# History

0.3.2 (2024-09-24)
* 修复图片链接错误 (Fix image link)

0.3.1 (2024-09-24)
* 添加一些注意事项 (Add some notes)
* 
0.3.0 (2024-09-23)
* 支持截图类型的验证码识别 (Screenshot support)

0.2.1 (2024-09-10)
* Fix example image link

0.2.0 (2024-09-10)
* Improve the captcha compatibility of the library

0.1.6 (2024-09-06)
* Update README

0.1.5 (2024-09-06)
* Compress sample picture

0.1.4 (2024-08-30)
* Handle the case where the result is empty
* Split workflow to two jobs

0.1.3 (2024-08-26)

* Optimize example image css in README

0.1.2 (2024-08-26)

* Update example image url in README

0.1.1 (2024-08-26)

* Update README

0.1.0 (2024-08-23)

* First release.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/chenwei-zhao/captcha-recognizer",
    "name": "captcha-recognizer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "captcha, slider, \u6ed1\u5757, \u6ed1\u5757\u9a8c\u8bc1\u7801, \u6ed1\u5757\u8bc6\u522b",
    "author": "Zhao Chenwei",
    "author_email": "chenwei.zhaozhao@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/86/e7/fcfb2af3167ea5a57a18b57f8953acf6a44262b7967a52d8f28137e7435f/captcha_recognizer-0.3.2.tar.gz",
    "platform": null,
    "description": "\u7b80\u4f53\u4e2d\u6587 | [English](https://github.com/chenwei-zhao/captcha-recognizer/blob/main/README_en.md)\n\n# Captcha-Recognizer\nCaptcha-Recognizer\u662f\u4e00\u4e2a\u6613\u7528\u7684\u901a\u7528\u6ed1\u5757\u9a8c\u8bc1\u7801\u8bc6\u522b\u5e93\uff0c\u901a\u8fc7\u6df1\u5ea6\u5b66\u4e60\u8bad\u7ec3\u901a\u7528\u7684\u7f3a\u53e3\u68c0\u6d4b\u6a21\u578b\uff0c\u57fa\u4e8e\u8bad\u7ec3\u7684\u7ed3\u679c\uff0c\u8bc6\u522b\u51fa\u9a8c\u8bc1\u7801\u4e2d\u7684\u6ed1\u5757\u7f3a\u53e3\u4f4d\u7f6e\uff0c\u5e76\u8fd4\u56de\u7f3a\u53e3\u7684\u5750\u6807\u4e0e\u53ef\u4fe1\u5ea6\u3002\n\n\n# \u652f\u6301\u7684\u9a8c\u8bc1\u7801\u7c7b\u578b\n- \u5355\u7f3a\u53e3\u9a8c\u8bc1\u7801\u80cc\u666f\u56fe\n- \u591a\u7f3a\u53e3\u9a8c\u8bc1\u7801\u80cc\u666f\u56fe\n- \u9a8c\u8bc1\u7801\u622a\u56fe\uff08\u5305\u542b\u6ed1\u5757\u548c\u80cc\u666f\u56fe\uff09\n\n\n# \u7248\u672c\u8981\u6c42\n\n* ``Python`` >=  3.8.0\n* ``ultralytics`` >=  8.0.0\n* ``torch`` >=  1.8.0\n* ``onnxruntime``\n* ``onnx``\n\n* Works on Linux, Windows, macOS\n\n\n# \u5b89\u88c5\n\n\nFrom pip \n\n```bash\npip install captcha-recognizer\n```\n\n\n\n# \u4f7f\u7528\u793a\u4f8b\n\n## \u5355\u7f3a\u53e3/\u591a\u7f3a\u53e3\u9a8c\u8bc1\u7801\u8bc6\u522b\n```Python\n\nfrom captcha_recognizer.recognizer import Recognizer\n\n# source\u4f20\u5165\u56fe\u7247\u8def\u5f84, verbose=False\u8868\u793a\u5173\u95ed\u5197\u4f59\u8f93\u51fa\nrecognizer = Recognizer()\nbox, confidence = recognizer.identify_gap(source='your_example_image.png', verbose=False)\n\nprint(f'\u7f3a\u53e3\u5750\u6807: {box}')\nprint(f'\u53ef\u4fe1\u5ea6: {confidence}')\n\n\"\"\"\n\u6253\u5370\u7ed3\u679c\u5982\u4e0b:\n\u7f3a\u53e3\u65b9\u6846\u5750\u6807: [331.72052001953125, 55.96122741699219, 422.079345703125, 161.7498779296875]\n\u53ef\u4fe1\u5ea6: 0.9513089656829834\n\n\u5750\u6807\u539f\u70b9\uff1a\u56fe\u7247\u5de6\u4e0a\u89d2\n\u7f3a\u53e3\u65b9\u6846\u5750\u6807\u4e3a\u7f3a\u53e3\u65b9\u6846\u5de6\u4e0a\u89d2\u548c\u53f3\u4e0b\u89d2\u8ddd\u79bb\u5750\u6807\u539f\u70b9\u7684\u8ddd\u79bb\n\"\"\"\n```\n\n## \u5355\u7f3a\u53e3/\u591a\u7f3a\u53e3\u9a8c\u8bc1\u7801\u793a\u4f8b\u56fe\u7247\n\n\u5305\u62ec\u4e14\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u7c7b\u578b\u3001\u5c3a\u5bf8\u7684\u6ed1\u5757\u56fe\u7247\u68c0\u6d4b\n\n\n<p>\u793a\u4f8b\u56fe 1</p>\n<p>\u5c3a\u5bf8 552*344</p>\n<img \n  src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example1.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example1.png\"\n>\n<p>\u8bc6\u522b\u6548\u679c\u793a\u4f8b\u56fe 1</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict1.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict1.png\"\n>\n\n<p>\u793a\u4f8b\u56fe 2</p>\n<p>\u5c3a\u5bf8 260*160</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example2.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example2.png\"\n>\n\n<p>\u8bc6\u522b\u6548\u679c\u793a\u4f8b\u56fe 2</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict2.png\"\n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict2.png\"\n>\n\n<p>\u793a\u4f8b\u56fe 3</p>\n<p>\u5c3a\u5bf8 400*200</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example3.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example1.png\"\n>\n<p>\u8bc6\u522b\u6548\u679c\u793a\u4f8b\u56fe3</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict3.png\"\n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict3.png\"\n>\n\n\n<p>\u793a\u4f8b\u56fe 4</p>\n<p>\u5c3a\u5bf8 672*390</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example4.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example4.png\"\n>\n<p>\u8bc6\u522b\u6548\u679c\u793a\u4f8b\u56fe4</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict4.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict4.png\"\n>\n\n<p>\u793a\u4f8b\u56fe 5</p>\n<p>\u5c3a\u5bf8 280*155</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example5.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example5.png\"\n>\n<p>\u8bc6\u522b\u6548\u679c\u793a\u4f8b\u56fe 5</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict5.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict5.png\"\n>\n\n<p>\u793a\u4f8b\u56fe 6</p>\n<p>\u5c3a\u5bf8 590*360</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example6.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example6.png\"\n>\n<p>\u8bc6\u522b\u6548\u679c\u793a\u4f8b\u56fe 6</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict6.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict6.png\"\n>\n\n<p>\u793a\u4f8b\u56fe 7</p>\n<p>\u5c3a\u5bf8 320*160</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example7.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example7.png\"\n>\n<p>\u8bc6\u522b\u6548\u679c\u793a\u4f8b\u56fe 7</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict7.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict7.png\"\n>\n\n\n\n## \u9a8c\u8bc1\u7801\u622a\u56fe\u8bc6\u522b\n```Python\n\nfrom captcha_recognizer.recognizer import Recognizer\n\n# source\u4f20\u5165\u56fe\u7247\u8def\u5f84, verbose=False\u8868\u793a\u5173\u95ed\u5197\u4f59\u8f93\u51fa\nrecognizer = Recognizer()\nbox, confidence = recognizer.identify_gap(source='your_example_image.png', verbose=False)\n\nprint(f'\u7f3a\u53e3\u5750\u6807: {box}')\nprint(f'\u53ef\u4fe1\u5ea6: {confidence}')\n\n\"\"\"\n\u6253\u5370\u7ed3\u679c\u5982\u4e0b:\n\u7f3a\u53e3\u65b9\u6846\u5750\u6807: [331.72052001953125, 55.96122741699219, 422.079345703125, 161.7498779296875]\n\u53ef\u4fe1\u5ea6: 0.9513089656829834\n\n\u5750\u6807\u539f\u70b9\uff1a\u56fe\u7247\u5de6\u4e0a\u89d2\n\u7f3a\u53e3\u65b9\u6846\u5750\u6807\u4e3a\u7f3a\u53e3\u65b9\u6846\u5de6\u4e0a\u89d2\u548c\u53f3\u4e0b\u89d2\u8ddd\u79bb\u5750\u6807\u539f\u70b9\u7684\u8ddd\u79bb\n\"\"\"\n```\n\n## \u9a8c\u8bc1\u7801\u622a\u56fe\u8bc6\u522b\u793a\u4f8b\n\n\u5305\u62ec\u4e14\u4e0d\u9650\u4e8e\u4ee5\u4e0b\u7c7b\u578b\u3001\u5c3a\u5bf8\u7684\u6ed1\u5757\u9a8c\u8bc1\u7801\u622a\u56fe\n\n\n<p>\u793a\u4f8b\u56fe 8</p>\n<p>\u5c3a\u5bf8 305*156</p>\n<img \n  src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/example8.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/example8.png\"\n>\n<p>\u8bc6\u522b\u6548\u679c\u793a\u4f8b\u56fe 8</p>\n<img src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_predict/predict8.png\" \n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/predict8.png\"\n>\n\n# \u6ce8\u610f\u4e8b\u9879\n## \u504f\u79fb\u91cf\n\u67d0\u4e9b\u79cd\u7c7b\u7684\u6ed1\u5757\u9a8c\u8bc1\u7801\uff0c\u6ed1\u5757\u521d\u59cb\u4f4d\u7f6e\u5b58\u5728\u4e00\u5b9a\u504f\u79fb\uff0c\u4ee5\u4e0b\u9762\u56fe\u4e2d\u7684\u6ed1\u5757\u521d\u59cb\u4f4d\u7f6e\u4e3a\u4f8b\uff1a\n\n<p>\u793a\u4f8b\u56fe 9</p>\n<img \n  src=\"https://raw.githubusercontent.com/chenwei-zhao/captcha-recognizer/main/images_example/offset2.png\"\n  alt=\"https://captcha-slider.oss-cn-beijing.aliyuncs.com/slider/offset2.png\"\n>\n\n\n\n\u5982\u793a\u4f8b\u56fe9\u4e2d\uff1a\n- \u7b2c\u4e00\u6761\u9ed1\u7ebf\u4f4d\u7f6e\u4e3a\u6ed1\u5757\u521d\u59cb\u4f4d\u7f6e\uff0c\u8ddd\u79bb\u56fe\u7247\u8fb9\u6846\u6709\u5927\u6982\u67098\u4e2a\u50cf\u7d20\u7684\u504f\u79fb\u91cf\uff08offset\u4e3a8\uff09\n- \u8bc6\u522b\u7ed3\u679c\u7684\u7f3a\u53e3\u5750\u6807\u4e3a [x1, y1, x2, y2] \u5bf9\u5e94\u7f3a\u53e3\u7684\u5de6\u4e0a\u89d2\u548c\u53f3\u4e0b\u89d2\u5750\u6807\uff08\u5750\u6807\u539f\u70b9\u4e3a\u56fe\u7247\u5de6\u4e0a\u89d2\uff09\n- \u7b2c\u4e8c\u6761\u9ed1\u7ebf\u7684X\u8f74\u5750\u6807\u503c\u5bf9\u5e94\u7f3a\u53e3\u8bc6\u522b\u7ed3\u679c\u5de6\u4e0a\u89d2\u7684X\u8f74\u5750\u6807\u503c\uff0c\u6b64\u5904\u503c\u4e3a154\uff08x1\u4e3a154\uff09\n- \u56e0\u6b64\u5b9e\u9645\u6ed1\u5757\u7684\u504f\u79fb\u91cf\u4e3a x1-offset (154-8=146)\n- \u4e5f\u5c31\u662f\u8bf4\uff0c\u5b9e\u9645\u7684\u6ed1\u5757\u504f\u79fb\u91cf\u4e3a\u7f3a\u53e3\u7684x1\u503c\u51cf\u53bb\u6ed1\u5757\u8ddd\u79bb\u56fe\u7247\u8fb9\u6846\u7684\u504f\u79fb\u91cf(offset)\n\n## \u56fe\u7247\u8bc6\u522b\u8017\u65f6\n\u9996\u6b21\u8bc6\u522b\u8017\u65f6\u8f83\u957f\uff082s\u5de6\u53f3\uff09\uff0c\u540e\u7eed\u5355\u5f20\u56fe\u7247\u7684\u8bc6\u522b\u572860ms\uff0860\u6beb\u79d2\uff09\u5de6\u53f3\n\u56e0\u4e3a\u9996\u6b21\u8bc6\u522b\u56fe\u7247\u65f6\u9700\u8981\u5c06\u6a21\u578b\u4ece\u78c1\u76d8\u52a0\u8f7d\u5230\u5185\u5b58\u4e2d\uff0c\u5e76\u8fdb\u884c\u4e00\u7cfb\u5217\u7684\u521d\u59cb\u5316\u5de5\u4f5c\uff0c\u5982\u6743\u91cd\u52a0\u8f7d\u3001\u5185\u5b58\u5206\u914d\u7b49\u3002\u8fd9\u4e2a\u8fc7\u7a0b\u76f8\u5bf9\u8017\u65f6\uff1b\n\u4e00\u65e6\u6a21\u578b\u52a0\u8f7d\u5b8c\u6210\u5e76\u521d\u59cb\u5316\u597d\uff0c\u540e\u7eed\u7684\u56fe\u7247\u9884\u6d4b\u5c31\u53ef\u4ee5\u76f4\u63a5\u5229\u7528\u5df2\u7ecf\u52a0\u8f7d\u597d\u7684\u6a21\u578b\u548c\u5206\u914d\u597d\u7684\u8d44\u6e90\uff0c\u4ece\u800c\u907f\u514d\u4e86\u91cd\u590d\u52a0\u8f7d\u548c\u521d\u59cb\u5316\u7684\u5f00\u9500\u3002\n\n\n\n# \u9047\u5230\u95ee\u9898\n- Error loading \u201cxxx\\Lib\\site-packages\\torch\\lib\\fbgemm.dll\u201d or one of its dependencies.\n  - \u53c2\u8003 [Issues 2](https://github.com/chenwei-zhao/captcha-recognizer/issues/2)\n- Model Unsupported model IR version: 9, max supported IR version: 8\n    - \u53c2\u8003 [Issues 1](https://github.com/chenwei-zhao/captcha-recognizer/issues/1)\n    \n\n\n# \u9879\u76ee\u7ef4\u62a4\n\n- \u672c\u9879\u76ee\u957f\u671f\u7ef4\u62a4\u3002\n- \u5982\u679c\u60a8\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u6b22\u8fce\u63d0[issue](https://github.com/chenwei-zhao/captcha-recognizer/issues)\u3002\n- \u5982\u679c\u60a8\u9047\u5230\u672c\u9879\u76ee\u4e0d\u80fd\u8bc6\u522b\u7684\u6ed1\u5757\u9a8c\u8bc1\u7801\uff0c\u6b22\u8fce\u63d0issue\uff0c\u6211\u4f1a\u5c3d\u5feb\u89e3\u51b3\u3002\n\n# \u66f4\u591a\u8054\u7cfb\u65b9\u5f0f\n- Gmail: chenwei.zhaozhao@gmail.com\n- 163/\u7f51\u6613: chenwei_nature@163.com\n\n\n# \u514d\u8d23\u58f0\u660e\n\u672c\u9879\u76ee\u4e0d\u9488\u5bf9\u4efb\u4f55\u4e00\u5bb6\u9a8c\u8bc1\u7801\u5382\u5546\uff0c\u9879\u76ee\u6240\u6709\u5185\u5bb9\u4ec5\u4f9b\u5b66\u4e60\u4ea4\u6d41\u4f7f\u7528\uff0c\u4e0d\u7528\u4e8e\u5176\u4ed6\u4efb\u4f55\u76ee\u7684\uff0c\u4e25\u7981\u7528\u4e8e\u975e\u6cd5\u7528\u9014\u3002\n\n# \u8bb8\u53ef\u8bc1\nMIT license\n\n# History\n\n0.3.2 (2024-09-24)\n* \u4fee\u590d\u56fe\u7247\u94fe\u63a5\u9519\u8bef (Fix image link)\n\n0.3.1 (2024-09-24)\n* \u6dfb\u52a0\u4e00\u4e9b\u6ce8\u610f\u4e8b\u9879 (Add some notes)\n* \n0.3.0 (2024-09-23)\n* \u652f\u6301\u622a\u56fe\u7c7b\u578b\u7684\u9a8c\u8bc1\u7801\u8bc6\u522b (Screenshot support)\n\n0.2.1 (2024-09-10)\n* Fix example image link\n\n0.2.0 (2024-09-10)\n* Improve the captcha compatibility of the library\n\n0.1.6 (2024-09-06)\n* Update README\n\n0.1.5 (2024-09-06)\n* Compress sample picture\n\n0.1.4 (2024-08-30)\n* Handle the case where the result is empty\n* Split workflow to two jobs\n\n0.1.3 (2024-08-26)\n\n* Optimize example image css in README\n\n0.1.2 (2024-08-26)\n\n* Update example image url in README\n\n0.1.1 (2024-08-26)\n\n* Update README\n\n0.1.0 (2024-08-23)\n\n* First release.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Universal Slider Captcha Recognition Tool (\u901a\u7528\u7684\u6ed1\u5757\u9a8c\u8bc1\u7801\u8bc6\u522b\u5de5\u5177)",
    "version": "0.3.2",
    "project_urls": {
        "Homepage": "https://github.com/chenwei-zhao/captcha-recognizer"
    },
    "split_keywords": [
        "captcha",
        " slider",
        " \u6ed1\u5757",
        " \u6ed1\u5757\u9a8c\u8bc1\u7801",
        " \u6ed1\u5757\u8bc6\u522b"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d5f495ffa53efad2235b4fbd308ad54c7169473d9f89c7b64915fe761be11b8",
                "md5": "5391bb28ae5b854de9a52f5ae66a239b",
                "sha256": "453432125e34461393de150b4fb6f76cdfca1855b56ff83a402423488e1692a5"
            },
            "downloads": -1,
            "filename": "captcha_recognizer-0.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5391bb28ae5b854de9a52f5ae66a239b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 37722269,
            "upload_time": "2024-09-24T15:18:48",
            "upload_time_iso_8601": "2024-09-24T15:18:48.430602Z",
            "url": "https://files.pythonhosted.org/packages/4d/5f/495ffa53efad2235b4fbd308ad54c7169473d9f89c7b64915fe761be11b8/captcha_recognizer-0.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "86e7fcfb2af3167ea5a57a18b57f8953acf6a44262b7967a52d8f28137e7435f",
                "md5": "bb80ff03b42195bcab8b9785004c039f",
                "sha256": "086e3b9a25c2c9fae67b898b6794b4d44984272966c4bd73156a7e92a6cab59f"
            },
            "downloads": -1,
            "filename": "captcha_recognizer-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "bb80ff03b42195bcab8b9785004c039f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 37726724,
            "upload_time": "2024-09-24T15:18:52",
            "upload_time_iso_8601": "2024-09-24T15:18:52.533636Z",
            "url": "https://files.pythonhosted.org/packages/86/e7/fcfb2af3167ea5a57a18b57f8953acf6a44262b7967a52d8f28137e7435f/captcha_recognizer-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-24 15:18:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "chenwei-zhao",
    "github_project": "captcha-recognizer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "captcha-recognizer"
}
        
Elapsed time: 9.53636s