1. 业务和功能介绍
立项背景与目标
本项目旨在开发一套自动化质量检测工具,以应对温州市城建档案馆提出的《档案电子文件归档要求》。传统的人工核查方式效率低下、易出错,无法保证 100% 的准确率。为解决这一痛点,本项目通过程序自动化处理,实现对数字化档案的图像质量和元数据进行批量、高效、精准的检测和预处理,确保所有归档电子文件完全符合标准,提升档案数字化工作的整体质量与效率。
其核心目标是:
自动化图像预处理:自动校正扫描图像的倾斜角度,使其满足“倾斜度不超过 1 度”的硬性要求。
合规性检测:依据归档要求,对目录数据(Excel)与电子影像文件(PDF)的一致性、完整性和格式规范性进行全面校验。
效率提升:用自动化脚本代替繁琐的人工抽检,极大缩短质检周期,并生成清晰的错误报告,便于快速定位和修正问题。
核心功能:
图像批量倾斜校正:自动校正图像倾斜,确保角度偏差小于 1 度。
元数据一致性校验:自动比对 Excel 与 PDF 文件的档号、页码、页数等信息。
PDF 规范性检查:检测 PDF 页数是否准确,并验证纸质档案的 PDF 是否包含 OCR 文本层。
自动化错误报告:一键生成 检测结果.txt 报告,清晰列出所有不合规项。
核心模块:
图像倾斜校正模块 (orient_images_cli.py):独立的命令行预处理工具,采用霍夫变换、投影剖面、轮廓分析三种算法的加权平均值,实现高精度校正。
档案符合性检测模块 (main.py):带 GUI 界面的主程序,通过 pandas 解析 Excel,PyPDF2 分析 PDF,执行核心校验逻辑。
工作流程:
预处理:运行 orient_images_cli.py 批量校正原始扫描图像。
数据准备:将校正后图像转为双层 PDF,按规范命名存放。
启动检测:运行 main.py,点击按钮选择工程 xlsx 文件。
自动执行:程序自动完成所有校验。
获取结果:在 xlsx 文件同目录下查看 检测结果.txt 报告。
2. 项目实现
整体架构
设计思想:采用“后端命令行 + 前端 GUI”的分离式架构,解耦计算密集型任务与用户交互任务。
技术栈:
后端校正工具:Python + OpenCV + NumPy。
前端检测工具:Python + Tkinter + Pandas + PyPDF2。
我的贡献与成果 (负责图像校正模块):
实现:主导开发了 orient_images_cli.py,设计并实现了三种核心算法的加权融合策略,显著提升了校正的准确性和通用性。
量化成果:
准确率:在 500 份样本的测试中,98.5% 的图像被成功校正至 ±1度 的标准误差内。
效率:A4 幅面 300DPI 图像的平均处理速度为 0.8 秒/张。
遇到的挑战与解决方案:
挑战 1:单一校正算法在复杂文档(如图纸、表格)上准确率低。
解决方案:采用三种不同原理的算法进行优势互补,通过加权平均输出最终结果,使算法对各类文档的鲁棒性提升了近 40%。
挑战 2:使用 PyPDF2 检测 PDF 的 OCR 层时存在大量“误报” (有文本层但无法提取)。
解决方案:将检测逻辑从“检查整个文档的文本”优化为“逐页检查,只要任一页能提取出至少一个字符即视为合格”,将误报率从 15% 降至 0%。