超声波试验报告生成
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_bef44692/csb-report-fill-fyc。
技能介绍
要解决什么问题
超声波检测现场往往已经有一份 超声波原始数据.docx:每行对应测点位置,并附带连续模式截图。最终交付的 超声波试验报告 需要把检测位置、峰值、50Hz/100Hz 等读数填进固定表格,还要把截图嵌到「图谱文件」列。手工从几百张图里抠数字、复制粘贴,既慢又容易抄错。
技能如何工作
从 v2.9 起,报告模板已内置(templates/超声波试验报告.docx),你只需上传原始数据;主入口是 fill_report.py,缺省在同目录输出已填好的 Word,也可用 --output 指定路径。
流水线大致是:
- 从 docx 读出每行的 检测位置 与嵌入的连续模式图片
- 预扫描:对前 3 张样片整图 OCR,定位 4 条标题行(含
= X mV)的 y 坐标,并校验 3 张样片间 y 跨度 ≤5px - 快速路径(v2.8):坐标稳定后,按固定 y ±10px 裁出峰值 / 50Hz / 100Hz 三条窄带,一次
recognize_txt批量走 rec,跳过 det+cls - 回退:预扫描失败则走全量两轮策略;单图批量识别失败则对该图回退
- 扩展模板表格行数,写入字段,嵌入图片,按检测位置分组排序,并设置边框与宋体 8.5pt 加粗居中
OCR 侧唯一引擎为 RapidOCR(rapidocr v3.x + onnxruntime),预处理为灰度、对比度 ×1.6、阈值 128 二值化。运行会产出 ultrasonic_fill_*.json(结构化逐图结果)与 .log(可读摘要),便于核对 status=unrecognized 的行。
适用边界与注意
- 首次使用前需按技能说明就绪 RapidOCR 独立 venv;未安装时脚本会报 RapidOCR 不可用。
- 50Hz/100Hz 在仪器上经常就是 0.000 mV,这是真实读数,不必一律当成 OCR 失误。
- 含大量嵌入图时输出 docx 体积可达约 2.8MB(视条数而定);v2.7 起为单进程,进度更稳,与 v2.6 多进程在速度上各有取舍。
使用场景
- 现场检测结束后,手里只有「超声波原始数据.docx」和截图,要在同一 evening 内产出带表格与嵌入图谱的正式试验报告。
- 仪器导出的原始 Word 里每行一个测点位置,需从连续模式截图 OCR 出峰值、50Hz、100Hz 并写入固定列,避免人工逐张读数。
- 同一批样片格式稳定(标题行 y 坐标一致)时,希望批量跑 `fill_report.py` 直接得到「数据已填入」的 docx,仅抽查 log 里 unrecognized 行。
- 仍要使用单位自有版式时,在保留内置模板默认路径的前提下,额外传入自定义 `.docx` 模板覆盖内置文件。
适合人员
- 负责出具超声波试验报告的现场检测工程师,需要把上百个测点的读数与图谱一次性写入单位模板。
- 实验室资料员,日常接收同事上传的原始数据 Word,按检测位置排序、统一边框字体后归档交付。
- 熟悉 RapidOCR 流程的质检同事,需要在 `ultrasonic_fill_*.json` 里逐条核对 OCR 失败行并对照图谱复核。
- 维护单位报告版式的文档管理员,多数批次用内置模板,个别项目要显式指定外置模板路径。