ddddocr(Deep Double-Digital Digits OCR)是一个基于深度学习的数字识别库,专门用于识别双重数字(双位数字)的任务。它是一个开源项目,提供了训练和预测的功能,可用于识别图片中的双位数字并输出其具体的数值。
在日常使用中,比较常见的场景就是数字字母等验证码的识别以及部分的图片文字识别,ddddocr(四弟)呢就凭借着其使用的便捷性和结果的准确性深受人们青睐。但是对于新手来说使用可能存在一些小问题,下面我们一一介绍与解决。
一、module 'PIL.Image' has no attribute 'ANTIALIAS'
这个报错是在ddddocr\__init__.py文件中的classification函数
image = image.resize((int(image.size[0] * (64 / image.size[1])), 64), Image.ANTIALIAS).convert('L')
这是由于现在你的的pillow版本可能都是在10.0以上的版本,导致了关联库之间的依赖存在问题
解决方法一:对你的pillow降级,降到10.0一下的版本
解决方法二:更改源文件,将报错位置的Image.ANTIALIAS 更改为 Image.LANCZOS
二、作者广告
作者在源文件中塞了一个打印函数,每次调用都会打印一次。如果不想要这段信息,直接ctrl加左键进入源文件,搜索打印出的信息。找到位置之后直接把打印语句删除就行。
三、下面是我写的一个例子
import ddddocr
with open('1.jpg', 'rb') as image_file:
# 读取文件内容到bytes变量
image_bytes = image_file.read()
resign = ddddocr.DdddOcr()
result = resign.classification(image_bytes)
print(result)
因为classification接收的就是bytes格式的参数,所以如果是在网络上请求得到的图片,不用把图片先保存到本地再读取识别,直接把那个二进制流输入给classification就可以了。