ddddocr的安装和基础使用
ddddocr名字真奇怪是一款强大的基于深度学习的通用开源ocr识别库,具有高效、准确、易用的特点,广泛应用于图像处理和文字识别任务。
常见用处:在爬虫时候 识别验证码
安装
非常easy
1 | pip install ddddocr |
使用实例
1 | import ddddocr |
函数解释
当然,以下是对ddddocr
库中DdddOcr
类及其classification
方法的解释,以及如何在上述代码中使用的详细说明:
DdddOcr
类
DdddOcr
是 ddddocr
库中的一个类,用于执行OCR(光学字符识别)任务,特别是针对验证码等复杂字符的识别。
初始化方法(构造函数)
1 | ocr = ddddocr.DdddOcr(show_ad=False, det=True, ocr=True, cls=True, gpu=False, path_det_model=None, path_ocr_model=None, path_cls_model=None) |
show_ad
:布尔值,是否显示广告。在上述代码中,设置为False
以关闭广告。det
:布尔值,是否启用检测模型(用于定位图片中的文本区域)。通常,对于验证码识别,这个选项是启用的。ocr
:布尔值,是否启用OCR模型(用于识别检测到的文本)。cls
:布尔值,是否启用分类模型(用于进一步处理OCR结果,例如将数字识别为特定的验证码字符集)。gpu
:布尔值,是否使用GPU进行加速。如果系统中有可用的GPU和相应的CUDA支持,可以设置为True
。path_det_model
,path_ocr_model
,path_cls_model
:字符串,分别指定检测、OCR和分类模型的路径。如果未指定,将使用默认的预训练模型。
classification
方法
1 | result = ocr.classification(image, det=True, cls=True, box_limit=2000) |
image
:要识别的图片,通常是一个二进制数据或经过预处理的图像数组。det
:布尔值,是否启用检测模型。对于验证码识别,通常保持为True
。cls
:布尔值,是否启用分类模型。对于验证码识别,通常也保持为True
。box_limit
:整数,限制检测到的文本区域的数量。对于验证码,这个值通常不需要调整,因为验证码通常只包含一个文本区域。
返回值
classification
方法返回一个字符串或字符串列表,表示识别到的字符。对于验证码,通常期望返回一个字符串,因为验证码通常是一个单词或一串连续的字符。
在代码中的使用
在上述代码中,DdddOcr
类被实例化,并且 classification
方法被用来识别两张图片中的验证码。
- 实例化
DdddOcr
类,关闭广告显示。 - 使用
with open
语句打开每张图片文件,并读取其二进制内容。 - 调用
classification
方法,传入图片数据,进行验证码识别。 - 打印识别结果。
这个过程对于两张图片是重复的,只是文件路径和存储识别结果的变量名不同。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 shuaishuaiqi's blogs!