ddddocr
- ddddocr是由sml2h3开发的专为验证码厂商进行对自家新版本验证码难易强度进行验证的一个python库,其由作者与kerlomz共同合作完成,通过大批量生成随机数据后进行深度网络训练,本身并非针对任何一家验证码厂商而制作,本库使用效果完全靠玄学,可能可以识别,可能不能识别。
- ddddocr奉行着开箱即用、最简依赖的理念,尽量减少用户的配置和使用成本,希望给每一位测试者带来舒适的体验。
版本
- Python 3.12
简单的 demo
代码语言:python代码运行次数:0复制import ddddocr
ocr = ddddocr.DdddOcr()
with open("test.jpg", 'rb') as f:
image = f.read()
res = ocr.classification(image)
print(res)
- 上述的代码可以正常进行运行,但是当打包为.exe后奇怪的事情发生了。程序运行报错,
Failed Load model ... common_old.onnx
- 报错明确的告诉我们
common_old.onnx
无法找到,但经过确认发现ddddocr
依赖确实构建到程序中,那么肯定是路径的问题,通过搜索发现网上提供了几种不同的方案,这里我分享其中一种比较简单的方式。
解决方案
- 1、将
ddddocr__init__.py
文件中self.__graph_path = os.path.join(os.path.dirname(__file__),
替换为self.__graph_path = os.path.join(os.path.dirname(sys.argv[0]),
(一共有三处)同时在当前文件import sys
- 2、重新按照正常的方式打包,并复制3个
.onnx
文件到运行目录
个人简介