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

通过OCR实现纯数字识别

基于飞浆paddle训练框架

照这个改的
https://www.paddlepaddle.org.cn/documentation/docs/zh/practices/cv/image_ocr.html
训练不到10分钟
10epoch
cpu:inter i5 8250 U
脚本生成的图10000
验证训练:3:7
预测结果
在这里插入图片描述
chatgpt写的代码,生成数字根据label.txt,数据集就是编的,截图测试的效果不理想,太局限了,1111和2222就是手动截取的图认不出来,干到现在脑子想不动了,写个笔记,很潦草。
在这里插入图片描述

from PIL import Image, ImageDraw, ImageFont
import os
import ast  # 导入 ast 模块以进行 literal_eval# 文件路径
file_path = 'D:\\xuexi\\a3\\data\\ocr\\a.txt'# 输出目录
output_dir = 'D:\\xuexi\\a3\\data\\ocr\\images'
os.makedirs(output_dir, exist_ok=True)# 使用默认字体
# 或者使用默认字体并设置大小
font_size = 22
font = ImageFont.load_default()
font = font.font_variant(size=font_size)# 读取文件并解析内容
with open(file_path, 'r', encoding='utf-8') as file:for line in file:# 使用 ast.literal_eval 安全地将行解析为字典data = ast.literal_eval(line.strip())for filename, content in data.items():# 动态调整图像大小以适应文本text_width=70text_height = 30# 使用动态大小初始化 Image 对象image = Image.new('RGB', (text_width , text_height ), color=(255, 255, 255))d = ImageDraw.Draw(image)# 计算将文本居中的位置position = ((image.width - text_width) // 2+8, (image.height - text_height) // 2)# 绘制文本d.text(position, content, fill=(0, 0, 0), font=font)# 构建完整的输出路径并保存图像image_path = os.path.join(output_dir, filename.strip('"'))image.save(image_path)print("图像已生成。")

开始摸鱼,乌呼!
在这里插入图片描述

相关文章:

  • elementui 中el-date-picker 选择年后输出的是Wed Jan 01 2025 00:00:00 GMT+0800 (中国标准时间)
  • 模型转换案例学习:等效替换不支持算子
  • 代码随想录算法训练营|二叉树总结
  • Sora 文生视频提示词实例集 2
  • 几个常见的C/C++语言冷知识
  • AIGC 实战:如何使用 Docker 在 Ollama 上离线运行大模型(LLM)
  • 深入理解Spring Boot Starter:概念、特点、场景、原理及自定义starter
  • python子域名收集工具
  • 三防平板丨平板终端丨加固平板丨仓库管理应用
  • 软考-中级-系统集成2023年综合知识(一)
  • OpenWRT部署web站点并结合内网穿透实现无公网ip远程访问
  • Git合并固定分支的某一部分至当前分支
  • 如何使用useMemo来优化性能
  • 基于 Amazon EC2 和 Amazon Systems Manager Session Manager 的堡垒机的设计和自动化实现
  • jsx语言和js语言的区别
  • $translatePartialLoader加载失败及解决方式
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【刷算法】求1+2+3+...+n
  • Android 架构优化~MVP 架构改造
  • ComponentOne 2017 V2版本正式发布
  • CSS魔法堂:Absolute Positioning就这个样
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • Javascript弹出层-初探
  • js ES6 求数组的交集,并集,还有差集
  • PHP CLI应用的调试原理
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 使用agvtool更改app version/build
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 算法之不定期更新(一)(2018-04-12)
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​如何防止网络攻击?
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (pojstep1.3.1)1017(构造法模拟)
  • (剑指Offer)面试题34:丑数
  • (四) Graphivz 颜色选择
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (轉貼) UML中文FAQ (OO) (UML)
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .sdf和.msp文件读取
  • :“Failed to access IIS metabase”解决方法
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [Android] Implementation vs API dependency
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [Asp.net mvc]国际化
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [hdu 3065] 病毒侵袭持续中 [AC自动机] [病毒特征码匹配]
  • [Hibernate] - Fetching strategies