使用Python识别验证码 ddddocr
发表于|更新于|开发
|浏览量:
GitHub 地址:https://github.com/sml2h3/ddddocr
安装
1 | pip install ddddocr |
如果 windows 安装报错:ImportError:DLL load failed: 找不到指定的模块。
需要安装 vc 运行库:
https://aka.ms/vs/16/release/VC_redist.x86.exe
https://aka.ms/vs/16/release/VC_redist.x64.exe
基本使用:
1 | import ddddocr |
初始化传参 show_ad=False 输出就不带作者的广告了。
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-04-08
Python 使用 Easyocr 进行图像识别
如果你有 NVIDIA GPU,可以额外安装 CUDA,提供更好的性能,没有 NVIDIA GPU,可以使用 CPU 计算。 easyocr 官方地址:https://github.com/jaidedai/easyocr 安装 pytorch1pip3 install torch torchvision torchaudio 安装 easyocr1pip3 install easyocr 精简输出默认情况下会输出:Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU. 可以通过添加参数 verbose=False 来去掉这个提示。 默认会输出坐标、字符等信息,如果只需要输出字符,可以增加参数 detail=0 获得精简的输出。 1234import easyocrreader = easyocr.Reader(['en'], gpu=False, verbose=False) # 这里加载英文模型,如果需要识别...
2025-02-22
使用Python识别验证码 Muggle OCR
最近发现个 ddddocr,识别率很高,识别速度还很快:使用Python识别验证码 ddddocr 以前用过什么 pytesseract 识别效果很差,还需要电脑上安装 Tesseract OCR 的软件,但是使用下来,效果不好,后面也用过 PaddleOCR 可以识别,但是识别速度比较慢,成功率也不高。后面又看到了这个开源工具,吹牛逼比较厉害,号称自己是验证码识别的最高境界,就试试看。官方的 GitHub 地址是:https://github.com/litongjava/muggle_ocr 效果展示 环境OS: Windows 11Python: python-3.10.10-amd64 安装这个开源程序在 pypi 仓库上被移除了,需要在 GitHub 上将源码包下载下来安装。 下载到本地,解压后,打开 cmd 命令提示符, 123456REM 创建虚拟环境python -m venv venvREM 安装muggle_ocrcd muggle_ocr-mainpython setup.py install 报错处理error: numpy 2.2.1 is in...
2026-04-08
Python环境打包
为什么要打包公司有个远古项目, 用到的是 fabric1.x, 只支持 python2 版本, 并且对环境要求比较苛刻, 而且代码已经无人维护, 这种情况下将包固定下来, 保证代码可以运行 安装 pyenv 环境 pyenv 官网 https://github.com/pyenv/pyenv,pyenv 和其他的虚拟环境不同之处在于它可以安装任意版本的 python 环境(源码编译)所以需要安装编译 python 的环境。 12yum install -y git zlib zlib-devel libffi-devel openssl openssl-devel readline-devel bzip2-devel sqlite-develcurl https://pyenv.run | bash 创建虚拟环境 安装 python2.7.18 的虚拟环境, 此环境只给 fabric 用, 所以就没有添加到环境变量, 以免影响其他 python 程序 123yum install sqlite-devel bzip2-devel readline-devel/root/.p...
2026-04-08
Django RESTframework 自定义Response
比如我想给返回的 json 加上 code/ msg 等信息,可以通过修改 drf 的 response 来实现。 全局生效参考:https://www.cnblogs.com/henryhong/p/djangodrf-zi-ding-yi-shu-ju-fan-hui-ge-shi.html 默认情况12345678910111213141516171819{ "count": 2, "next": null, "previous": null, "results": [ { "id": 2, "url": "http://localhost:8000/api/category/2/", "title": "AAA", "created...
2026-04-08
Django Restframework 实现根据字段过滤
安装1pip install django-filter 注册进 Djangovim settings.py 12345678910INSTALLED_APPS = [ ... 'django_filters',]# 配置在这里的是系统的默认设置,也可以在视图集中单独指定REST_FRAMEWORK = { # 过滤器默认后端 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'],} 视图中单独指定12345678910# 你也可以将其单独配置在特定的视图中: from django_filters.rest_framework import DjangoFilterBackend class ArticleViewSet(viewsets.ModelViewSet): # 设置过滤的后端,不设置则走上面的默认配置。 filter_backends = ...
2025-03-24
Python读写文件
使用 Python 读写文件很方便,有多种方法,但是读写大文件还是需要优化的。 python open 文件的模式: 模式 描述 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群:

