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

通过OCR实现验证码识别

链接地址:

https://www.paddlepaddle.org.cn/documentation/docs/zh/2.6/practices/cv/image_ocr.html
在这里插入图片描述

import osimport PIL.Image as Image
import numpy as np
from paddle.io import Dataset# 图片信息配置 - 通道数、高度、宽度
IMAGE_SHAPE_C = 3
IMAGE_SHAPE_H = 30
IMAGE_SHAPE_W = 70
# 数据集图片中标签长度最大值设置 - 因图片中均为4个字符,故该处填写为4即可
LABEL_MAX_LEN = 4class Reader(Dataset):def __init__(self, data_path: str, is_val: bool = False):"""数据读取Reader:param data_path: Dataset路径:param is_val: 是否为验证集"""super().__init__()self.data_path = data_path# 读取Label字典with open(os.path.join(self.data_path, "label_dict.txt"), "r", encoding="utf-8") as f:self.info = eval(f.read())# 获取文件名列表self.img_paths = [img_name for img_name in self.info]# 将数据集后1024张图片设置为验证集,当is_val为真时img_path切换为后1024张self.img_paths = self.img_paths[-1024:] if is_val else self.img_paths[:-1024]def __getitem__(self, index):# 获取第index个文件的文件名以及其所在路径file_name = self.img_paths[index]file_path = os.path.join(self.data_path, file_name)# 捕获异常 - 在发生异常时终止训练try:# 使用Pillow来读取图像数据img = Image.open(file_path)# 转为Numpy的array格式并整体除以255进行归一化img = np.array(img, dtype="float32").reshape((IMAGE_SHAPE_C, IMAGE_SHAPE_H, IMAGE_SHAPE_W)) / 255except Exception as e:raise Exception(file_name + "\t文件打开失败,请检查路径是否准确以及图像文件完整性,报错信息如下:\n" + str(e))# 读取该图像文件对应的Label字符串,并进行处理label = self.info[file_name]label = list(label)# 将label转化为Numpy的array格式label = np.array(label, dtype="int32")return img, labeldef __len__(self):# 返回每个Epoch中图片数量return len(self.img_paths)
http://www.dtcms.com/a/593672.html

相关文章:

  • 33.Transformer架构
  • 环形链表快慢指针全解析:相遇必然性与多步速追击证明
  • 长沙微网站开发中小型企业网站优化推广
  • 构建一个基于Flask的URL书签管理工具
  • 底层视觉及图像增强-项目实践(十六-0-(7):从手机HDR到LED画质增强:一套底层视觉技术的跨领域实践):从奥运大屏,到手机小屏,快来挖一挖里面都有什么
  • 网站建设后期修改网站换了域名还被k站不
  • SpringApplication 和 applicationContext 比较及区别
  • CV三大核心任务:目标检测、图像分割、关键点检测
  • 牙钳防滑齿构型对牙周组织应力分布影响的研究背景
  • QT:计算器的功能实现
  • 东莞市 住房与城乡建设部网站简述网络推广的方法
  • FPGA系统架构设计实践4_SelectIO
  • 2025年--Lc232-LCR 019. 验证回文串 II-Java版
  • 马鞍山做网站的建投能源公司简介
  • 【C++进阶】STL-string的简单实现
  • 网站拒绝了您的访问电商网站开发环境
  • Kimi K2-Thinking的路线,有待商榷
  • 微信网站名云服务器哪家好
  • 热电式传感器
  • 在 Ubuntu 上部署 Docker Swarm 集群(完整指南)
  • 网站开发需要代码吗百度推广落地页
  • C++中测试无锁队列的正确性和性能
  • seo网站快速排名网站的按钮怎么做 视频
  • TortoiseSVN客户端(小乌龟)安装与使用
  • “十防”标准的技术赋能:基于传感器网络的档案环境精准调控研究
  • 建设网站教程视频视频房地产店铺首页设计过程
  • SQL 注入复习
  • 网站开发工具有哪些wordpress网址跳转
  • Uni微信小程序如何对接百度翻译
  • 蓝牙钥匙 第77次 蓝牙与边缘计算融合:重新定义物联网的智能边界