首页>国内 > 正文

全球视点!用OCR技术,自动识别各种验证码,工具已开源

2022-09-21 09:00:10来源:渡码

今天我在给大家分享一个OCR​应用——ddddocr自动识别验证码。

前面 4 个d是“带带弟弟”的首拼音。[/笑哭]。

项目地址:https://github.com/sml2h3/ddddocr。


【资料图】

使用的时候用pip​命令直接安装即可pip install ddddocr。

OCR的核心技术包含两方面,一是目标检测模型检测图片中的文字,二是文字识别模型,将图片中的文字转成文本文字。

第一类验证码最简单,它们没有复杂的背景图片,所以目标检测模型可以省略,直接将图片送入文字识别模型即可。

识别代码如下:

import ddddocrfrom PIL import Image# 模型ocr = ddddocr.DdddOcr(beta=True)# 验证码图片with open("test.jpg", "rb") as f:    image = f.read()res = ocr.classification(image)# 验证码文字内容print(res)

第二类验证码有复杂的背景,需要先用目标检测模型框出文字,在进行识别。

代码如下:

import ddddocrimport cv2det = ddddocr.DdddOcr(det=True)with open("test2.jpg", "rb") as f:    image = f.read()# 目标检测poses = det.detection(image)print(poses)im = cv2.imread("test2.jpg")# 遍历检测出的文字for box in poses:    x1, y1, x2, y2 = box    # 给每个文字画矩形框    im = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)cv2.imwrite("result.jpg", im)

输出结果如下:

可以看到文字部分已经被框出来了,如果我们在上述代码直接将im[y1:y2, x1:x2]送入文字识别模型,就可以识别出对应的文本内容了。

ddddocr还能识别下面这种带滑块的验证码。

这种虽然不属于OCR的业务范畴,但作为一个通用的验证码识别工具,作者还是支持了,必须给作者点个赞。

关键词: 目标检测 作为一个 文字内容 直接安装 背景图片

相关新闻

Copyright 2015-2020   三好网  版权所有