当前位置: 首页 > article >正文

【Python】ddddoc进行OCR识别和目标检测 ——识别验证码和滑块(安装部署+测试代码注释详细)

目录

    • 安装部署
      • gitee已经上传完整项目
      • requiremen.txt
      • 插件作者更新地址
    • 项目结构
    • 第一部分 OCR识别部分
    • 第二部分 目标检测部分
    • 总结


欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中

安装部署

gitee已经上传完整项目

在这里插入图片描述

requiremen.txt

coloredlogs==15.0.1
flatbuffers==23.3.3
humanfriendly==10.0
mpmath==1.3.0
numpy==1.24.2
onnxruntime==1.14.1
opencv-python==4.7.0.72
packaging==23.0
Pillow==9.5.0
protobuf==4.22.1
pyreadline3==3.4.1
sympy==1.11.1

插件作者更新地址

作者官方更新地址,但是requirement.txt有点问题,最好用我打包好的解压即用,但是后续获取项目更新用作者的。

https://github.com/sml2h3/ddddocr

项目结构

  • 你的项目
    • ddddocr(存放插件文件)
    • test_pic(存放验证码测试图片)
    • venv(如果你要配置虚拟环境的话)
    • requirements.txt(venv 安装第三方库时用到)
    • 你的测试代码.py(import ddddocr 调用方法)

第一部分 OCR识别部分

# @Time    : 2023/4/8 22:14
# @Author  : 南黎
import ddddocr

#1.初始化一个实例,配置识别模式默认为OCR识别
ocr = ddddocr.DdddOcr()

#2.读取图片
with open("test_pic/OCR_yzm.png", 'rb') as f:
    image = f.read()

#3.给ocr实例传入image图片进行识别,得到ocr内容
ocr_result = ocr.classification(image)
print(ocr_result)#iepv
  • 验证码
    在这里插入图片描述
  • 识别结果
    在这里插入图片描述

第二部分 目标检测部分

# @Time    : 2023/4/9 8:17
# @Author  : 南黎
import ddddocr
import cv2

#1.初始化一个实例,配置识别模式为目标检测
det = ddddocr.DdddOcr(det=True)

#2.读取图片
file_path= "test_pic/ob_yzm.png"#图片路径
result_file_path= "test_pic/result_ob_yzm.png"#保存的结果图片的路径
with open(file_path, 'rb') as f:
    image = f.read()

#3.给det实例传入image图片进行识别
result_poses = det.detection(image)
#打印得到的识别结果,复合列表中表示了每一个框四个顶点的x,y坐标
#[[3, 15, 34, 46], [204, 124, 234, 155], [67, 32, 96, 62], [113, 89, 143, 118], [184, 71, 213, 100], [68, 127, 98, 156], [153, 128, 185, 157]]
print(result_poses)

#4.读取cv2图片对象im
image_cv2 = cv2.imread(file_path)#读取图片路径,但是注意不能带有中文

#5.绘制带有瞄框的cv2图片
for box in result_poses:
    x1, y1, x2, y2 = box
    im = cv2.rectangle(image_cv2, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)

#6.把绘制的图片输出持久化保存
cv2.imwrite(result_file_path, image_cv2)
  • 文字验证码
    在这里插入图片描述
  • 识别结果
    在这里插入图片描述
  • 瞄框内容
    在这里插入图片描述
  • 滑块验证码
    在这里插入图片描述
  • 滑块识别结果
    在这里插入图片描述

总结

大家喜欢的话,给个👍,点个关注!继续跟大家分享敲代码过程中遇到的问题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2022 mzh

Crated:2022-1-10

欢迎关注 『Python』 系列,持续更新中
欢迎关注 『Python』 系列,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包Python文件】
【更多内容敬请期待】



http://www.kler.cn/a/15003.html

相关文章:

  • Next.js 备忘清单_开发速查表分享
  • 1970-01-01是什么?为什么计算机起始时间是1970年1月1日
  • 使用SOCK_DGRAM类型的socket实现的ping程序
  • 高效的封装一个网络请求需要考虑哪些?
  • 服务(第十三篇)lvs(负载均衡器)+nginx(反向代理)+tomcat(后端服务器)+nfs共享
  • Spring————java的反射机制,Spring的IOC和DI
  • ipv6地址技术详解
  • python@面向对象OOP@类的构造
  • 史上最烂 spring aop 原理分析
  • getType() 和 getGenericType()的区别
  • 细数Java集合List的10个坑
  • vue2、vue3实现暗黑模式
  • pikachu靶场-RCE
  • Linux运维:推荐八款Linux远程连接工具
  • MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法
  • 从训练数据视角:看机器学习和深度学习的大三范式
  • 太为难我了,阿里面试了7轮...
  • python内置数据结构常见操作易错总结[更新ing...]
  • 一文看懂低代码,5分钟从入门到原理全搞定
  • 【地铁上的设计模式】--创建型模式:建造者模式