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

AIGC(生成式AI)试用 40 -- 程序(Python + OCR)-2

个人理解:

  • 关于编程
    - 没有代码基础也能编码,入门更容易
    - 虚拟环境下,大模型未能检测到环境,无法完成自我验证
    - 功能实现不完善,使用标准IDLE环境编程的效率较低 -- 考虑使用专门的开发IDE实现(工欲善其事,必先利其器)
    - 只包含了基本功能测试,对核心的图像加载 + 文字识别的特殊用例覆盖较少,测试覆盖不全面 -- 测试步骤的实现仍需要单独处理
  • 然而如果需更快速的完成程序实现,更高效的识别代码中的问题,不断迭代,必要的代码基础和架构理解会帮助开发者事半功倍,进阶不易
  • 软件工程中的最佳实践仍在发挥着巨大的作用,软件开发流程、软件开发过程仍在帮我们高效、高质的的完成项目开发任务,只是迭代的周期更短、响应的速度更快
  • 小(型)的、面向日常业务的工具在AI的辅助下得以快速的开发、使用,方便、适用、个性化,脚本成为普遍
  • 小程序的质量在开发之初可能不再是考虑的关键,快速、有效的解决问题成为了首选;然而随着工具的传播和叠加使用,质量问题将会突出(功能性、易用性),扎实的软件工程基础会帮助我们在利用AI之初就有所规划
  • AI做事与工做事一样,会犯错、会犯迷糊、会说谎话、会胡编乱造,因此对AI输出结果的判断需要对软件工程、软件需求、软件开发技能充分的了解
  • 如果只给出创意(需求)草图(手绘),AI是否能够对图进行解析,梳理需求、完善细节呢?或者通过一段视频,AI是否能够对视频进行文字描述,归纳总结,如果涉及流程,AI能够进行分解、优化、再整合?也就是AI能像人类一样通过5感,甚至是第6感,进行反馈和响应?
  • AI遵守规则,不会像人一样迂回、设陷、扯皮?

重新梳理程序(Python + OCR)实现过程
- 遗留:暂且实现一版,后续持续改进,用AI编码
  本计划一次性完成,在与AI的交互中反复变更需求,从GUI到功能细节实现(更深刻的理解需求是软件工程中的始点,也是最繁琐的阶段过程);
  AI在编码实现中的确可以提效(直接获取答案),但提交结果的验证、测试仍是一个持续的过程;
  在没有使用AI IDE开发平台,只借助AI工具情况下,与AI工具的磨合持续进行,如何更好的使用AI?
  - 细节是否可以用表格形式?如对象、属性、动作
  - 图像局部选择
  - 程序测试
  - AI编程的实现:需求 -- 大纲 -- 细节 -- 编码 -- 测试
  - 让AI美化GUI界面设计
  - Deepseek-OCR能通过图识别需求并完成程序吗?

目的:熟悉AI编码 + 完善程序OCR程序

  • 开发需求
  • 界面设想
  • AI提问1(需求预研)
    Python313(UV) + PyQT + PaddleOCR;AI工具:AI工具:文心一言(百度),CSDN写作助手(CSDN),豆包(字节跳动),通义千问(阿里)
  • AI提问2(开发环境)
    Python313(UV) + PyQT + PaddleOCR
    环境安装
    # python# paddleocr# pyqt5
  • AI提问3(需求分解)
    基于python的图像ocr识别系统
    - GUI图形界面
    - GUI对象及功能: 对象类型、对象属性(形状/大小、显示文字/图标)、响应事件
       > GUI层次:标题、菜单、第1层、第2层。。。第N层;左侧、右侧;状态栏
       > 对象属性:名称、类型、大小、形状、颜色(背景)、字体/字号、对齐方式
       > 响应事件
  • AI提问4(界面设计)
    - 提问: 作为Python + PyQT5开发专家,请按以下表格所述,构建GUI程序界面,并实现功能
    位置名称类型属性事件GUI?功能?
    标题栏图像文字识别系统标题

    长:1200

    高:900

    第1层打开按钮

    长:200

    高:50

    圆角矩形

    背景浅蓝色

    宋体,10号

    居中对齐

    点击后选择图像文件

    全局变更使用错误

    第1层图像文件路径输入框

    长:400

    高:50

    宋体,10号

    不可编辑

    显示打开图像的文件全路径
    第1层选择区域按钮

    长:200

    高:50

    圆角矩形

    宋体,10号

    居中对齐

    选择图像指定区域显示,并按操作显示文字
    第1层左旋按钮

    长:200

    高:50

    圆角矩形

    宋体,10号

    居中对齐

    左旋90度
    第1层右旋按钮

    长:200

    高:50

    圆角矩形

    宋体,10号

    居中对齐

    右旋90度
    第1层缩放滑动条

    长:200

    高:50

    圆角矩形

    宋体,10号

    居中对齐

    左右滑动,图像进行缩小、放大显示
    第1层开始识别按钮

    长:200

    高:50

    圆角矩形

    背景浅蓝色

    宋体,10号

    居中对齐

    识别原始图片显示框中的文字内容

    第1层保存按钮

    长:200

    高:50

    圆角矩形

    背景浅蓝色

    宋体,10号

    居中对齐

    保存文字识别文本框中的文字显示,文件名为 原始图片名+reg.txt

    有错误

    第2层原始图片显示框

    长:600

    高:600

    显示原始图片

    有错误

    第2层文字识别多行文本框

    长:600

    高:600

    宋体,10号

    居上、居左对齐

    可编辑

    显示原始图片中识别的文字信息,格式排列与原始图片中文字一致

    加入提示词

    第3层状态状态栏显示系统操作状态
  • AI提问6(代码实现)
    - 一次实现
  • AI提问7(优化完善)
    - 二次实现
    - 提问:作为Python + PyQT5 + Paddle开发专家,请按以下表格所述
                 1)构建GUI程序界面,并实现功能
                 2)优化代码,优化界面
  • AI提问8(程序测试)
    - 提示:生成以上程序测试用例,按表格形式输出,格式:序号、功能描述、测试数据、测试步骤、预期结果
    序号功能描述测试数据测试步骤预期结果
    1图像加载功能测试图片:test_image.jpg(PNG/JPG/BMP格式,尺寸≥100×100像素)1. 点击“加载图片”按钮
    2. 选择测试图片文件
    图片正确显示在QGraphicsView中,状态栏显示文件名
    2OCR基础识别测试图片:含清晰中文文本(如“测试文字”)的截图1. 加载测试图片
    2. 点击“开始识别”按钮
    识别结果框显示在文本附近,状态栏显示“识别完成”
    3矩形选区功能测试图片:含多个文本区域的图片(如“标题”和“正文”)1. 加载图片
    2. 按住鼠标左键拖动绘制红色虚线矩形
    3. 释放鼠标
    选区框持续显示,且仅选区内文本被识别
    4旋转图片功能测试图片:横向文字图片(需旋转90°后识别)1. 加载横向图片
    2. 点击“旋转90°”按钮
    3. 执行OCR识别
    旋转后文字方向正确,识别结果准确
    5缩放图片功能测试图片:高分辨率图片(如4K分辨率)1. 加载图片
    2. 拖动缩放滑块至50%
    3. 执行OCR识别
    缩放后图片清晰显示,识别结果与原图一致
    6多语言支持测试图片:含中英文混合文本(如“Hello 测试”)1. 加载混合文本图片
    2. 在OCR设置中选择“中英文混合”
    3. 执行识别
    中英文均被正确识别,结果按语言分类显示
    7结果保存功能测试图片:含5行文本的图片1. 执行OCR识别
    2. 点击“保存结果”按钮
    3. 选择保存路径(.txt格式)
    生成文本文件,内容与识别结果完全一致
    8异常图片处理测试数据:损坏的JPG文件(corrupted.jpg)或非图片文件(test.pdf1. 尝试加载损坏文件状态栏显示“无法加载图片”,程序无崩溃
    9空选区识别测试图片:空白区域或无文本图片1. 绘制极小矩形选区(如1×1像素)
    2. 执行识别
    状态栏显示“未检测到文本”,无错误弹窗
    10大图分块识别测试图片:超长文档截图(需分块处理)1. 加载大图
    2. 启用“自动分块”选项
    3. 执行OCR识别
    程序自动分割图片并合并识别结果,无遗漏或重复

参考

  • 转:别急着写代码,先教AI怎么干活
http://www.dtcms.com/a/589636.html

相关文章:

  • 3.Python基础:函数
  • 中山市西区建设局网站wordpress 获取导航
  • RHCSA笔记1
  • 用户按下字符键后的vk键状态是win32k!xxxSkipSysMsg函数里面的win32k!UpdateKeyState函数设置的====非常重要
  • Zynq-7000嵌入式开发100问全解析解答共十万字回答,适用入门嵌入式软件初级工程师,筑牢基础,技术积累,校招面试。
  • 有没有专门做化妆品小样的网站国内的有什么好wordpress主题
  • 帝国cms 网站搬家python编程课哪个机构最好
  • 响应式网站代码规范河南省工程建设信息网官网入口
  • 做网站 分工深圳软件开发工作室
  • 一周学习总结
  • 长沙品牌网站设计做网站app要注册哪类商标
  • 【AIGC面试面经第五期】AI绘画-AI绘画框架相关问答
  • 音乐网站设计外国手做网站
  • 网站有什么采集网站后台数据
  • Linux33 网络编程-多线程TCP并发
  • Tomcat和负载均衡
  • 【算力】AI万卡GPU集群交付确认项与日常运维(算力压测、数据倒腾、日常运维)
  • 网站建设 东八区学校网站建设的意义的主要负责人
  • 网站开发招商计划书c 网站开发框架有
  • 成都企业网站开发网站主页设计费用
  • 数据结构——四十、折半查找(王道408)
  • 操作系统 内存(5)虚拟内存机制
  • 郑州网站建设专业乐云seowordpress user role
  • JavaScript 的 Web APIs 入门到实战全总结(day7):从数据处理到交互落地的全链路实战(附实战案例代码)
  • 分类型网站建设付费推广外包
  • 17_FastMCP 2.x 中文文档之FastMCP服务端高级功能:LLM采样详解
  • 集团网站建设制作费用百度公司是国企还是私企
  • Go Channel 深度指南:规范、避坑与开源实践
  • Postman 脚本控制特定请求的执行流程(跳过执行)
  • Kubernetes Deployment 控制器