掌桥专利:专业的专利平台
掌桥专利
首页

一种单据处理方法及装置

文献发布时间:2024-04-18 20:01:55


一种单据处理方法及装置

技术领域

本发明涉及图像处理技术领域,尤其是涉及一种单据处理方法及装置。

背景技术

在批发零售领域,买卖双方之间的交流和确认非常重要。现有的单据处理方法通常为卖家和买家通过发送单据图像,对单据进行识别来确认单据内容和沟通有关单据的问题。

现有的单据处理方法需要卖家将单据图像上的单据数据输入到进销存系统用于查询单据信息,单据图像上的单据数据存在被篡改风险,导致单据数据的安全性较低。

发明内容

本发明提供一种单据处理方法及装置,以解决现有的单据处理方法其单据图像上的单据数据存在被篡改风险,导致单据数据的安全性较低。

本发明的实施例提供了一种单据处理方法,包括:

生成待处理单据的单据数据和第一单据图像;

获取所述单据数据对应的二进制数据和所述第一单据图像的像素数据,根据二进制数据和所述像素数据,将所述第一单据图像划分为若干个第一数据分区;

将所述二进制数据填入到每一所述第一数据分区的数据区中,构成第二数据分区;

输出所述第二数据分区中每个像素点的颜色数据,得到第二单据图像。

进一步的,所述获取所述单据数据对应的二进制数据,包括:

对所述单据数据进行纠删码编码处理,得到所述单据数据对应的二进制数据。

进一步的,所述数据分区包括数据区和隔离区,所述根据二进制数据和所述像素数据,将所述第一单据图像划分为若干个第一数据分区,包括:

根据所述像素数据确定所述单据图像的分辨率宽度和分辨率高度,根据所述分辨率宽度、所述分辨率高度和所述二进制数据的长度,确定所述数据区的大小;

根据所述分辨率宽度和所述分辨率高度,确定所述数据区之间的间隔区的大小;

基于所述数据区的大小和所述间隔区的大小,按照预设顺序将所述第一单据图像划分为若干个数据区和间隔区。

进一步的,所述将所述二进制数据填入到每一所述第一数据分区中,构成第二数据分区,包括:

将所述二进制数据的每个字节嵌入到每一所述数据区中像素数据的最低有效位中,构成第二数据分区。

进一步的,所述将所述二进制数据的每个字节嵌入到每一所述数据区中像素数据的最低有效位中,构成第二数据分区,包括:

获取所述间隔区的每一个像素点,将所述像素点的像素数据的最低有效位修改为0;

依次读取所述数据区中的每一个像素点,将所述像素点与所述二进制数据的每一位数据进行一一对应;

将所述像素点的像素数据的最低有效位,修改为所述像素点对应的二进制数据;

将修改后的所述隔离区和所述数据区构成第二数据分区。

进一步的,在所述输出所述第二数据分区中每个像素点的颜色数据,得到第二单据图像之后,还包括:

接收所述第二单据图像,获取所述第二单据图像的像素数据;

根据所述第二单据图像的像素数据判断所述第二单据图像是否存在有效数据区;

若是,则读取每个所述有效数据区中的二进制数据,对所有所述有效数据区中的二进制数据进行纠删码解码处理,得到所述二进制数据对应的字符串数据;

对所述字符串数据与所述单据数据进行一致性校验,在一致性校验通过后,确定所述字符串数据为合法单据数据。

进一步的,所述根据所述第二单据图像的像素数据判断所述第二单据图像是否存在有效数据区,包括:

若相邻m行数据分区中的每个像素数据的最低有效位均为0,则判断m行所述数据分区为间隔区,其中,m为间隔区的行数;

将相邻两个间隔区之间的区域确定为有效数据区。

进一步的,所述读取每个所述有效数据区中的二进制数据,包括:

根据预设顺序,读取所述有效数据区中的每一个像素点的像素数据的最低有效位;

若所述像素点的所有像素数据的最低有效位一致,则判断所述像素点的对应的数据为有效位数据;

将同一个所述有效数据区读取得到的有效位数据按顺序连接,输出所述有效位数据对应的二进制数据。

进一步的,所述对所述字符串数据与所述单据数据进行一致性校验,包括:

将所述字符串数据的数据长度和数据格式,分别与所述单据数据的数据长度和数据格式进行一致性校验。

本发明的一个实施例提供了一种单据处理装置,包括:

单据数据生成模块,包括生成待处理单据的单据数据和第一单据图像;

第一数据分区划分模块,用于获取所述单据数据对应的二进制数据和所述第一单据图像的像素数据,根据二进制数据和所述像素数据,将所述第一单据图像划分为若干个第一数据分区;

第二数据分区构成模块,用于将所述二进制数据填入到每一所述第一数据分区的数据区中,构成第二数据分区;

第二单据图像输出模块,用于输出所述第二数据分区中每个像素点的颜色数据,得到第二单据图像。

本发明实施例通过将第一单据图像划分为若干个数据分区,将根据单据数据获得的二进制数据填入到每一所述数据分区中,构成第二数据分区,并输出得到新的单据图像,能够将单据数据完整、隐秘地写入到单据图像中,从而能够有效避免单据数据被篡改的情况发生,进而能够有效提高单据数据的安全性和可靠性;而且本发明实施例所得到单据图像中,其每个数据分区均写入了完整的单据数据,即使单据图像损坏或者缺失,只要存在一个完整的数据区,即可识别得到完整、正确的单据数据。

附图说明

图1是本发明实施例提供的一种单据处理方法的流程示意图;

图2是本发明实施例提供的一种数据分区的结构示意图;

图3是本发明实施例提供的一种单据处理方法的另一流程示意图;

图4是本发明实施例提供的一种生成第二单据图像的流程示意图;

图5是本发明实施例提供的一种识别合法单据数据的流程示意图;

图6是本发明实施例提供的一种单据处理装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

请参阅图1,本发明的实施例提供了一种单据处理方法,包括:

S1、生成待处理单据的单据数据和第一单据图像;

在本发明实施例中,可以在进销存系统中创建单据,单据可为订单。本发明实施例中的单据包括客户信息、商品清单、价格信息和折扣信息等。

在本发明实施例中,可以通过进销存软件创建单据。待处理单据的单据数据可以为单据号,第一单据图像可以为原始单据截图和原始单据照片等。

S2、获取单据数据对应的二进制数据和第一单据图像的像素数据,根据二进制数据和像素数据,将第一单据图像划分为若干个第一数据分区;

在本发明实施例中,可以通过对单据数据进行纠删码编码处理,得到单据数据对应的二进制数据,通过纠删码编码处理能够有效检测单据数据的错误,以及对错误数据进行纠正,从而能够有效提高单据数据的准确性。

在一个具体的实施方式中,可以采用“里德-所罗门码(Reed-Solomon codes)纠删码,对单据数据就行纠删码处理,通过输入单据数据,能够输出长度为n的二进制数据。

在本发明实施例中,第一单据图像的像素数据包括三原色数据。在本发明实施例中,单据图像由一系列的像素组成,每个像素由R、G、B三原色组成,每一种颜色占8位,取值为0x00~0xFF(即二进制中的00000000~11111111)。

在本发明实施例中,数据分区包括数据区和隔离区。

S3、将二进制数据填入到每一第一数据分区中,构成第二数据分区;

在本发明实施例中,二进制数据是通过对单据数据进行纠删码编码处理后得到的,将二进制数据填入到每一第一数据分区的数据区中,即实现了将单据数据填入到每一数据分区中,使得每一数据分区均携带有完整的单据数据。

S4、输出第二数据分区中每个像素点的颜色数据,得到第二单据图像。

在本发明实施例中,在步骤S3处理后得到的第二数据分区中,第二数据分区中的每一个数据区均携带有完整的单据数据,基于第二数据分区输出像素点对应的颜色数据,能够得到新的单据图像,即第二单据图像。

本发明实施例通过将第一单据图像划分为若干个数据分区,将根据单据数据获得的二进制数据填入到每一数据分区中,构成第二数据分区,并输出得到新的单据图像,能够将单据数据完整、隐秘地写入到单据图像中,从而能够有效避免单据数据被篡改的情况发生,进而能够有效提高单据数据的安全性和可靠性;而且本发明实施例所得到单据图像中,其每个数据分区均写入了完整的单据数据,即使单据图像损坏或者缺失,只要存在一个完整的数据区,即可识别得到完整、正确的单据数据。

进一步的,本发明实施例通过自动识别图像数据上的单据数据,能够获得准确、完整的单据数据,无需手动输入单据数据,从而能够有效减少单据输入所需的时间和人力,进而能够有效提高单据查询的效率,且本发明实施例自动识别单据数据,能够有效避免手动输入错误,确保能够准确查询到相关单据数据,从而能够进一步提高单据查询的效率。

在一个实施例中,步骤S2、获取单据数据对应的二进制数据,包括:

对单据数据进行纠删码编码处理,得到单据数据对应的二进制数据。

在本发明实施例中,通过对单据数据进行纠删码编码数据,当单据图像在传输、存储或处理过程中出现损坏时,能够通过纠删码编码处理得到的二进制数据来恢复原始的单据数据,从而能够确保单据数据能够完整传输,能够有效提高单据数据传输以及识别的可靠性。

在一个实施例中,数据分区包括数据区和隔离区,步骤S2、根据二进制数据和像素数据,将第一单据图像划分为若干个第一数据分区,包括:

S21、根据像素数据确定单据图像的分辨率宽度和分辨率高度,根据分辨率宽度、分辨率高度和二进制数据的长度,确定数据区的大小;

在本发明实施例中,数据分区由数据区和间隔区组成。确定二进制数据的长度为n,获取单据图像的分辨率宽度w和分辨率高度h。

为了能够在一个数据分区中完整存储长度为n的二进制数据,本发明实施例将每个数据分区的宽度设置为w

S22、根据分辨率宽度和分辨率高度,确定数据区之间的间隔区的大小;

在本发明实施例中,将宽度w

S23、基于数据区的大小和间隔区的大小,按照预设顺序将第一单据图像划分为若干个数据区和间隔区。

请参阅图2,在本发明实施例中,按照第一单据图像从上往下的顺序,依次以间隔区、数据区、间隔区、数据区的顺序进行排列,直至第一单据图像的分辨率高度被完全占满,将整个单据图像分隔为若干数据区和隔离区。

在一个实施例中,步骤S3、将二进制数据填入到每一第一数据分区中,构成第二数据分区,包括:

S31、将二进制数据的每个字节嵌入到每一数据区中像素数据的最低有效位中,构成第二数据分区。

在本发明实施例中,将二进制数据的每个字节嵌入到每一数据区中像素数据的最低有效位中,构成第二数据分区,能够有效实现单据数据的隐藏,从而能够有效提高单据数据的安全性和隐秘性。

在一个实施例中,步骤S31、将二进制数据的每个字节嵌入到每一数据区中像素数据的最低有效位中,构成第二数据分区,包括:

S311、获取间隔区的每一个像素点,将像素点的像素数据的最低有效位修改为0;

在本发明实施例中,获取间隔区的每一个像素点的R、G、B三原色取值,并将其二进制的最后一位均改为0,从而标记为间隔区。例如,其中的一个像素点的RGB原始数据为:10010010、10101111、11110001,将其最后一位都改为0,则修改后为:10010010、10101110、11110000。本发明实施例按照上述方式,修改第一单据图像的像素数据,将间隔区每个像素的RGB最低位都修改为0,从而能够有效识别间隔区和数据区,防止数据误读。

S312、依次读取数据区中的每一个像素点,将像素点与二进制数据的每一位数据进行一一对应;

在本发明实施例中,每个数据区的像素数量大于待写入的数据长度n。本发明实施例针对每一个数据区,可以从左到右、从上往下的顺序,依次读取每个像素点,并将像素点与待写入的单据数据的二进制数据的每一位数据进行一一对应,保证后续对单据数据处理的准确性。

S313、将像素点的像素数据的最低有效位,修改为像素点对应的二进制数据;

在本发明实施例中,确定数据区的像素点的像素数据的最低有效位,以及该最低有效位所对应的二级制数据,将最低有效位的数值修改为该二进制数据的数值。

例如,其中一个像素点的RGB原始数据为:10010010、10101111、11110001,该像素点对对应的二级制数据为1,则将上述RGB原始数据最后一位都改为1,则修改后RGB数据为:10010011、10101111、11110001。本发明实施例以上述数据修改方式,能够将单据数据所对应的二级制数据填充到每一个数据区中。

S314、将修改后的隔离区和数据区构成第二数据分区。

在本发明实施例中,可以根据第二数据分区中每个数据点的颜色数据,输出每个像素点的颜色,从而组成新的单据图像数据,即第二单据图像。在本发明实施例中,由于只修改了像素数据的最低有效位,第二单据图像中每个像素点的颜色与第二单据图像中的像素点颜色非常接近,肉眼无法分辨,即实现了在保证原始单据图像不失真的前提下,将单据输入隐藏式写入到第二单据图像中,从而能够有效防止单据图像中的数据被篡改情况发生,进而能够有效提高单据数据的安全性和可靠性。

请参阅图3,在一个实施例中,在输出第二数据分区中每个像素点的颜色数据,得到第二单据图像之后,还包括:

S5、接收第二单据图像,获取第二单据图像的像素数据;

在生成第二单据图像之后,卖家可以将第二单据图像通过电子邮件或即时通讯软件发送给买家。

在本发明实施例中,买家在收到卖家发送的第二单据图像之后,当需要就某个具体的单据与卖家沟通时,只需要把当前的第二单据图像通过电子邮件或即时通讯软件发回给卖家。卖家需要从第二单据图像中读取到单据数据,以便在进销存系统中查询具体的订单信息。

在本发明实施例中,第二单据图像中包含已经隐写的单据数据,获取第二单据图像的像素数据,包括由R、G、B三原色组成的像素,每一种颜色占8位,取值为0x00~0xFF(即二进制中的00000000~11111111)。

S6、根据第二单据图像的像素数据判断第二单据图像是否存在有效数据区;

在本发明实施例中,第二单据图是由第一单据图像通过对像素数据进行相应处理得到,第二单据图像中可能存在无效数据区,从这些数据区无法识别得到完整或正确的单据数据,根据第二单据图像的像素数据判断第二单据图像是否存在有效数据区,能够确保能够从有效数据区中获取得到相应的单据数据。

S7、若是,则读取每个有效数据区中的二进制数据,对所有有效数据区中的二进制数据进行纠删码解码处理,得到二进制数据对应的字符串数据;

在本发明实施例中,有效数据区包含了完整的二进制数据,这些二进制数据通过对单据数据进行纠删码编码处理得到,本发明实施例通过对该二进制数据进行纠删码解码处理,能够获取得到字符串数据,该字符串数据与单据数据为同类型数据,实质上该字符串数据是解码得到的单据数据。

S8、对字符串数据与单据数据进行一致性校验,在一致性校验通过后,确定字符串数据为合法单据数据。

在本发明实施例中,在字符串数据与单据数据的一致性校验通过时,判断字符串数据即为单据数据,即确定该字符串数据为合法单据数据。

在一个实施例中,S6、根据第二单据图像的像素数据判断第二单据图像是否存在有效数据区,包括:

S61、若相邻m行数据分区中的每个像素数据的最低有效位均为0,则判断m行数据分区为间隔区,其中,m为间隔区的行数;

在本发明实施例中,第一数据分区中的隔离区,其每个像素点的最低有效位均设置了标识,数字“0”,每个隔离区所占第一单据图像或第二单据图像的行数均为m行,本发明实施例若判断到相邻m行数据分区中的每个像素数据的最低有效位均为0,则该m行数据分区即为隔离区。

S62、将相邻两个间隔区之间的区域确定为有效数据区。

在本发明实施例中,在第二图像确定隔离区之后,隔离区之间的区域即为有效数据区。

在一个实施例中,7、读取每个有效数据区中的二进制数据,包括:

S71、根据预设顺序,读取有效数据区中的每一个像素点的像素数据的最低有效位;

在本发明实施例中可以从左往右、从上往下的顺序,依次读取有效数据区中的每一个像素点的像素数据的最低有效位。

S72、若像素点的所有像素数据的最低有效位一致,则判断像素点的对应的数据为有效位数据;

S73、将同一个有效数据区读取得到的有效位数据按顺序连接,输出有效位数据对应的二进制数据。

在本发明实施例中,有效数据为所对应的二级制数据是单据数据经过纠删码编码得到的,通过对该二进制数据进行纠删码解码处理,能够得到对应的字符串数据。

在本发明实施例中,可以采用“里德-所罗门码(Reed-Solomon codes)”进行纠删码解码处理。

在一个实施例中,S8、对字符串数据与单据数据进行一致性校验,包括:

S81、将字符串数据的数据长度和数据格式,分别与单据数据的数据长度和数据格式进行一致性校验。

在本发明实施例中,若字符串数据和单据数据的数据长度一致,数据格式一致,则取第一个合法的单据数据作为本次识别得到的单据数据。

本发明实施例由包括两部分流程,第一部分为生成第二单据图像,第二部分为识别合法单据数据。请参阅图4,为本发明实施例提供的一种生成第二单据图像的流程示意图;请参阅图5,为本发明实施例识别合法单据数据的流程示意图。

实施本发明实施例,具有以下有益效果:

本发明实施例通过将第一单据图像划分为若干个数据分区,将根据单据数据获得的二进制数据填入到每一数据分区中,构成第二数据分区,并输出得到新的单据图像,能够将单据数据完整、隐秘地写入到单据图像中,从而能够有效避免单据数据被篡改的情况发生,进而能够有效提高单据数据的安全性和可靠性;而且本发明实施例所得到单据图像中,其每个数据分区均写入了完整的单据数据,即使单据图像损坏或者缺失,只要存在一个完整的数据区,即可识别得到完整、正确的单据数据。

进一步的,本发明实施例通过对单据数据进行纠删码编码处理,即使在存储和传输过程中被截图、编辑、涂鸦等,仍然能够使得得到准确、完整的单据数据,从而能够有效提高单据数据的安全性和可靠性。

请参阅图6,基于与上述实施例相同的发明构思,本发明的一个实施例提供了一种单据处理装置,包括:

单据数据生成模块10,包括生成待处理单据的单据数据和第一单据图像;

第一数据分区划分模块20,用于获取单据数据对应的二进制数据和第一单据图像的像素数据,根据二进制数据和像素数据,将第一单据图像划分为若干个第一数据分区;

第二数据分区构成模块30,用于将二进制数据填入到每一第一数据分区的数据区中,构成第二数据分区;

第二单据图像输出模块40,用于输出第二数据分区中每个像素点的颜色数据,得到第二单据图像。

在一个实施例中,第一数据分区划分模块20还用于:

对单据数据进行纠删码编码处理,得到单据数据对应的二进制数据。

在一个实施例中,数据分区包括数据区和隔离区,第一数据分区划分模块20还用于:

根据像素数据确定单据图像的分辨率宽度和分辨率高度,根据分辨率宽度、分辨率高度和二进制数据的长度,确定数据区的大小;

根据分辨率宽度和分辨率高度,确定数据区之间的间隔区的大小;

基于数据区的大小和间隔区的大小,按照预设顺序将第一单据图像划分为若干个数据区和间隔区。

在一个实施例中,第二数据分区构成模块30还用于:

将二进制数据的每个字节嵌入到每一数据区中像素数据的最低有效位中,构成第二数据分区。

在一个实施例中,将二进制数据的每个字节嵌入到每一数据区中像素数据的最低有效位中,构成第二数据分区,包括:

获取间隔区的每一个像素点,将像素点的像素数据的最低有效位修改为0;

依次读取数据区中的每一个像素点,将像素点与二进制数据的每一位数据进行一一对应;

将像素点的像素数据的最低有效位,修改为像素点对应的二进制数据;

将修改后的隔离区和数据区构成第二数据分区。

在一个实施例,单据处理装置还包括:

像素数据获取模块50,用于接收第二单据图像,获取第二单据图像的像素数据;

有效数据区判断模块60,用于根据第二单据图像的像素数据判断第二单据图像是否存在有效数据区;

纠删码解码模块70,用于在第二单据图像是否存在有效数据区时,读取每个有效数据区中的二进制数据,对所有有效数据区中的二进制数据进行纠删码解码处理,得到二进制数据对应的字符串数据;

单据数据校验模块80,用于对字符串数据与单据数据进行一致性校验,在一致性校验通过后,确定字符串数据为合法单据数据。

在一个实施例中,有效数据区判断模块60还用于:

若相邻m行数据分区中的每个像素数据的最低有效位均为0,则判断m行数据分区为间隔区,其中,m为间隔区的行数;

将相邻两个间隔区之间的区域确定为有效数据区。

纠删码解码模块70还用于:

根据预设顺序,读取有效数据区中的每一个像素点的像素数据的最低有效位;

若像素点的所有像素数据的最低有效位一致,则判断像素点的对应的数据为有效位数据;

将同一个有效数据区读取得到的有效位数据按顺序连接,输出有效位数据对应的二进制数据。

在一个实施例中,单据数据校验模块80还用于:

将字符串数据的数据长度和数据格式,分别与单据数据的数据长度和数据格式进行一致性校验。

以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

技术分类

06120116571469