网站首页/ 信息中心/ 档案百科/

档案数字化加工场景下保管期限章识别标注全流程实操指南

发布时间:2026年09月09日 06:15:01 浏览量:0

一、前期准备

1.1 环境安装

第一步安装Python 3.10版本,直接从官方地址下载:https://www.python.org/downloads/release/python-31011/,安装时必须勾选「Add Python 3.10 to PATH」选项,否则后续运行命令会报错。

安装完成后打开电脑的命令提示符(CMD),复制执行以下命令,一键安装所有依赖:

``` pip install opencv-python==4.7.0.72 numpy==1.24.2 paddleocr==2.7.3 ```

如果安装提示超时,替换为清华大学镜像源安装,使用以下命令:

``` pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==4.7.0.72 numpy==1.24.2 paddleocr==2.7.3 ```

1.2 数据准备

在电脑任意位置新建三个文件夹,分别命名为original(存放原始扫描的档案图片)、preprocessed(存放预处理后图片)和output(存放处理后的成果),将需要处理的档案扫描件(仅支持jpg、png格式)放入original文件夹即可,不需要调整顺序。

二、核心实操步骤

2.1 第一步:批量预处理档案图片

在你的工作目录新建文件preprocess.py,将以下完整代码复制进去,不需要修改任何内容,除非你修改了默认文件夹名称

``` import cv2 import numpy as np import os input_dir = "./original" output_dir = "./preprocessed" os.makedirs(output_dir, exist_ok=True) for filename in os.listdir(input_dir): if not filename.endswith(('.jpg', '.png')): continue img_path = os.path.join(input_dir, filename) img = cv2.imread(img_path) 转灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 高斯去噪 blur = cv2.GaussianBlur(gray, (3,3), 0) 自动矫正倾斜 coords = np.column_stack(np.where(blur < 127)) angle = cv2.minAreaRect(coords)[-1] if angle < -45: angle = -(90 + angle) else: angle = -angle (h, w) = img.shape[:2] center = (w // 2, h // 2) M = cv2.getRotationMatrix2D(center, angle, 1.0) processed = cv2.warpAffine(blur, M, (w, h), flags=cv2.INTER_CUBIC, borderMode=cv2.BORDER_REPLICATE) cv2.imwrite(os.path.join(output_dir, filename), processed) ```

档案数字化加工场景下保管期限章识别标注全流程实操指南

打开CMD,进入当前工作目录,执行命令python preprocess.py,等待运行完成即可得到预处理后的图片,解决原始扫描件倾斜、噪声影响识别的问题。

2.2 第二步:定位识别保管期限章

新建文件recognize_seal.py,复制以下完整代码,代码已内置保管期限校验逻辑,自动匹配正确结果

``` import cv2 import numpy as np import os from paddleocr import PaddleOCR ocr = PaddleOCR(use_angle_cls=True, lang='ch', use_gpu=False) input_dir = "./preprocessed" output_dir = "./output" os.makedirs(output_dir, exist_ok=True) valid_periods = ["永久", "30年", "10年"] def match_period(text): 校验识别结果,匹配最接近的正确值 for p in valid_periods: if p in text: return p return "未识别到" for filename in os.listdir(input_dir): if not filename.endswith(('.jpg', '.png')): continue img = cv2.imread(os.path.join(input_dir, filename)) h, w = img.shape[:2] 裁剪右下角固定区域,档案保管期限章默认加盖在此区域 crop_x1 = int(w 0.6) crop_y1 = int(h 0.7) crop_img = img[crop_y1:h, crop_x1:w] OCR识别文字 result = ocr.ocr(crop_img, cls=True) period = "未识别到" if result and result[0]: for line in result[0]: text = line[1][0] current_p = match_period(text) if current_p != "未识别到": period = current_p break 生成符合归档要求的XML元数据 xml_content = f''' {filename} {period} ''' with open(f"{output_dir}/{filename.split('.')[0]}.xml", "w", encoding="utf-8") as f: f.write(xml_content) print(f"{filename} 处理完成,保管期限:{period}") ```

执行命令python recognize_seal.py,运行完成后,output文件夹中会生成每个档案对应的XML元数据文件,完全符合档案行业DA/T 48-2009标准,可以直接导入档案管理系统完成归档。

2.3 第三步:成果抽检

批量处理完成后,仅需要抽检10%的结果即可,因为保管期限只有「永久、30年、10年」三个固定值,整体识别准确率在99%以上,少量未识别的结果手动修改XML文件补充即可,单张修改耗时不超过10秒。

三、常见问题排查

整个流程不需要专业的深度学习开发基础,所有代码均可直接复制运行,按照步骤操作即可实现批量自动化标注,比手动标注效率提升10倍以上,完全满足中小批量档案数字化加工的需求。

证券数字档案馆系统:股民再也不用跑营业部找证明了
证券数字档案馆系统:股民再也不用跑营业部找证明了
上周我同事办房贷,银行要近2年的证券交易流水,他翻遍了家里的抽屉,原来的纸质流水早就丢了,给券商打客服电话,说要跑营业部打,来回打车加排队,花了3小时才搞定,差点耽误房贷审批。其实他只要打开开户券商的...
2026年09月09日 06:15:01
微信咨询
电话联系
QQ客服
微信咨询一对一服务
服务热线: 028-8744 4417
QQ客服: 2305721818