正确填写票据和结算凭证的基本规定

 

正确填写票据和结算凭证的基本规定

银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。票据和结算凭证是银行、单位和个人凭以记载帐务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。因此,填写票据和结算凭证,必须做到标准化、规范化,要要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。

一、 中文大写金额数字应用正楷或行书填写,如壹(壹)、贰(贰)、叁、肆(肆)、伍(伍)、陆(陆)、柒、捌、玖、拾、伯、仟、万(万)、亿、元、角、分、零、整(正)等字样。不得用一、二(两)、三、四、五、六、七、八、九、十、念、毛、另(或0)填写,不得自造简化字。如果金额数字书写中使用繁体字,也应受理。

二、 中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后可以不写"整"(或"正")字。数字有"分"的,"分"后面不写"整"(或"正")字。

三、 中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。大写金额数字前未印"人民币"字样的,应加填"人民币"三字。在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分字样。

四、阿拉伯小写金额数字中有"0"时,中文大写应按照汉语语言规律、金额数字构成和防止涂改的要求进行书写。举例如下:

(一)阿拉伯数字中间有"0"时,中文大写金额要写"零"字。如¥1,409.50,应写成人民币壹仟肆佰零玖元伍角。
(二)阿拉伯数字中间连续有几个"0"时,中文大写金额中间可以只写一个"零"字。如¥6,007.14,应写成人民币陆仟零柒元壹角肆分。
(三)阿拉伯金额数字万位或元位是"0",或者数字中间连续有几个"0",万位、元位也是"0",但千位、角位不是"0"时,中文大写金额中可以只写一个零字,也可以不写"零"字。如¥1,680.32,应写成人民币壹仟陆佰捌拾元零叁角贰分,或者写成人民币壹仟陆佰捌拾元叁角贰分;又如¥107,000.53,应写成人民币壹拾万柒仟元零伍角叁分,或者写成人民币壹拾万零柒仟元伍角叁分。
(四)阿拉伯金额数字角位是"0",而分位不是"0"时,中文大写金额"元"后面应写"零"字。如¥16,409.02,应写成人民币壹万陆仟肆佰零玖元零贰分;又如¥325.04,应写成人民币叁佰贰拾伍元零肆分。

五、阿拉伯小写金额数字前面,均应填写人民币符号"¥"(或草写)。阿拉伯小写金额数字要认真填写,不得连写分辨不清。

六、票据的出票日期必须使用中文大写。为防止变造票据的出票日期,在填写月、日时,月为壹、贰和壹拾的,日为壹至玖和壹拾、贰拾和叁拾的,应在其前加"零"; 日为拾壹至拾玖的,应在其前加"壹"。如1月15日,应写成零壹月壹拾伍日。再如10月20日,应写成零壹拾月零贰拾日。

七、票据出票日期使用小写填写的,银行不予受理。大写日期未按要求规范填写的,银行可予受理,但由此造成损失的,由出票人自行承担。

引自中国人民银行会计司编写的最新《企业、银行正确办理支付结算指南》的第114页-第115页

转载于:https://www.cnblogs.com/masky5310/archive/2011/02/14/1954303.html

<think>好的,我现在需要解决用户在OCR票据识别中遇到的手写填充值覆盖打印文字的问题。用户希望知道如何处理这种情况,所以我要先理解问题的具体情况,然后根据提供的引用资料相关知识来找到解决方案。 首先,用户提到的是票据中的手写内容覆盖了原本打印的文字,这可能导致OCR识别时无法正确读取打印的信息。例如,票据上可能有打印的表格或文字,用户在手写填写时可能覆盖了这些区域,使得OCR系统难以区分手写打印内容,导致识别错误。 接下来,我需要查阅提供的引用资料,看看有没有相关的技术或方法可以解决这个问题。引用[1]提到合合信息使用复杂场景文字识别表格识别技术,支持印刷体手写体的高精度识别。引用[2]指出百度AI的手写识别准确率可达90%以上,并针对不规则手写字体优化。引用[3]提到移动端文档OCR的应用,但可能主要针对清晰文档。引用[4]涉及API请求的格式,可能对调用方式有帮助。 可能的解决方法包括: 1. **分层识别技术**:将图像中的不同元素(如打印文字手写文字)分离处理。这可能需要图像处理技术,比如颜色分离、笔画分析等。例如,打印文字通常是黑色且字体规范,而手写可能颜色不同或线条不规则,可以通过颜色通道分离或者形态学处理来区分。 2. **多模型协同处理**:使用两个不同的模型分别识别打印手写内容。比如先用一个模型检测并提取打印区域,再用另一个模型识别手写内容。引用[1]中的合合信息可能有这样的多场景识别产品,可以结合使用。 3. **区域定位与掩膜处理**:在OCR前,先识别票据的结构,确定哪些区域是打印的固定内容(如表格标题、字段名),哪些是手写填充区域。然后通过图像掩膜技术,在处理手写区域时屏蔽打印部分,或者反之。这需要结合版面分析技术。 4. **时序分析或动态处理**:如果票据有固定的模板,可能可以预先标注打印文字的位置,在识别时忽略这些区域,只处理手写填充部分。但对于不同版式的票据,可能需要模板匹配或自动检测。 5. **深度学习模型训练**:训练一个能够同时识别并区分打印手写文字的模型。这需要大量的标注数据,其中包含打印手写重叠的情况。引用[2]中的手写识别模型可能已经具备一定的区分能力,但可能需要进一步优化。 6. **后处理校正**:在识别完成后,通过业务逻辑校验,比如检查打印部分的固定内容是否符合预期,如果识别结果不一致,则进行修正。例如,票据的编号、日期等打印信息可能有固定格式,可以利用规则进行校验。 接下来,我需要考虑这些方法在实际情况中的可行性。例如,分层识别需要图像处理步骤,可能会增加处理时间,但能有效区分元素。多模型协同可能需要较高的计算资源,但准确率可能更高。区域定位如果结合模板,可能适用于固定格式的票据,但泛化能力不足。 此外,引用[1]提到合合信息的OCR产品涵盖票据识别合同比对,可能已经内置了处理此类问题的功能。用户可能需要使用专门的票据OCR接口,该接口可能已经处理了手写打印的覆盖问题。同样,引用[2]的百度手写识别可能对手写部分有较好的支持,但需要与打印文字区分开。 可能的步骤流程如下: 1. **预处理阶段**:对票据图像进行增强,比如去噪、对比度调整,使打印手写部分更清晰。 2. **区域分割**:使用版面分析或目标检测模型,识别出票据中的固定打印区域手写填充区域。例如,使用合合信息的表格识别技术来确定表格结构。 3. **分层提取**:对打印区域手写区域分别处理。例如,使用颜色阈值分离打印的黑色文字手写的蓝色笔迹。 4. **分别识别**:将打印区域输入到印刷体OCR模型,手写区域输入到手写体OCR模型。引用[1][2]中的技术可以应用在这里。 5. **结果融合**:将两个识别结果按区域位置合并,确保覆盖区域的正确信息被保留。可能需要逻辑判断,比如手写区域的内容优先级高于打印的固定内容。 此外,如果手写覆盖了打印文字,可能需要通过笔画分析判断哪部分属于手写。例如,手写笔迹可能更粗或颜色不同,可以利用这些特征进行分离。 最后,还需要考虑实际应用中的挑战,比如不同颜色手写笔迹、重叠程度、票据版式的多样性等。可能需要结合多种方法,并进行模型微调以适应具体场景。</think>在处理OCR票据识别中手写填充覆盖打印文字的问题时,可通过以下步骤实现有效分离与识别: --- ### **解决方案步骤** 1. **图像预处理与增强** - 使用**去噪算法**(如非局部均值去噪)减少图像干扰,增强文字边缘清晰度。 - 通过**颜色通道分离**(如RGB转HSV)区分打印文字(通常为黑色)与手写笔迹(如蓝色/红色),提取特定颜色层[^1]。 2. **版面分析与区域定位** - 调用**表格识别技术**(如合合信息的复杂表格识别)定位票据固定打印区域(如表格标题、字段名)。 - 使用**目标检测模型**(如YOLO)标定手写填充区域,生成区域掩膜。 3. **分层文字提取** - **打印文字识别**:对掩膜外的区域使用印刷体OCR模型(如通用文字识别接口)提取打印内容。 - **手写文字识别**:对掩膜内的区域使用专项优化模型(如百度手写识别API)提取手写内容[^2]。 4. **动态覆盖处理** - 若手写与打印区域重叠,通过**笔画宽度分析**(打印文字笔画均匀,手写笔画粗细不一)或**时序信息**(手写笔迹后于打印生成)判断优先级。 - 对重叠部分启用**对抗训练模型**,学习区分两种文字特征(需标注数据训练)。 5. **结果融合与校验** - 按坐标合并印刷体手写体的识别结果,保留手写区域的覆盖内容。 - 通过**业务规则校验**(如金额格式、日期逻辑)修正异常值。 --- ### **关键技术示例** ```python # 示例:颜色通道分离(伪代码) import cv2 image = cv2.imread("invoice.jpg") hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 提取蓝色手写笔迹(根据实际颜色调整范围) lower_blue = np.array([100, 50, 50]) upper_blue = np.array([130, 255, 255]) mask_handwriting = cv2.inRange(hsv, lower_blue, upper_blue) # 提取黑色打印文字 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) _, mask_print = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU) # 分别识别 printed_text = ocr_print(mask_print) handwritten_text = ocr_handwriting(mask_handwriting) ``` --- ### **优化建议** - **数据增强**:在训练OCR模型时,合成手写覆盖打印的样本(如叠加不同透明度的笔迹)。 - **端到端模型**:采用多任务学习框架(如Mask R-CNN),同时输出印刷体手写体的检测与识别结果。 - **接口调用**:通过百度OCR的`handwriting`接口处理手写部分,并结合合合信息的票据专用接口提取打印字段[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值