今天给大家分享一个OCR应用-ddddocr自动识别验证码。前四个d是“同弟”的第一个拼音。[/笑哭]。项目地址:https://github.com/sml2h3/ddddocr。使用时直接使用pip命令安装即可。pip安装ddddocr。OCR的核心技术包括两个方面,一个是目标检测模型,检测图片中的文字,另一个是文字识别模型,将图片中的文字转化为文字。第一种验证码最简单。它们没有复杂的背景图像,因此可以省略目标检测模型,直接将图像送入文本识别模型。识别码如下:importddddocrfromPILimportImage#modelocr=ddddocr.DdddOcr(beta=True)#验证码imagewithopen('test.jpg','rb')asf:image=f.read()res=ocr.classification(image)#验证码文字内容print(res)第二类验证码背景复杂。在识别文本之前,需要使用目标检测模型对文本进行框选。代码如下:importddddocrimportcv2det=ddddocr.DdddOcr(det=True)withopen("test2.jpg",'rb')asf:image=f.read()#targetdetectionposes=det.detection(image)print(poses)im=cv2.imread("test2.jpg")#遍历检测到的文本forboxinposes: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虽然不属于OCR的业务范围,但是作为通用的验证码识别工具,作者还是支持的,必须给作者点个赞。
