一种纸币识别方法及装置与流程

文档序号:15519439发布日期:2018-09-25 19:04阅读:175来源:国知局

本发明实施例涉及纸币检测技术,尤其涉及一种纸币识别方法及装置。



背景技术:

随着经济的繁荣发展,纸币的流通量越来越大,也使得人民币流通变得越来越容易。由于每天流通在市面上的纸币数量非常巨大,对纸币的识别工作日益繁重。

在用户取款和存款时,都需要对纸币进行真伪验证。在验证之前要获取纸币对应的数据源,一旦某一纸币对应的数据源在传输时部分数据丢失,就会导致剩余纸币对应的数据源交叉出错,后续验证真伪时,出错率就比较高,以至于将大量的纸币误判为假币被退回或误判为废钞,致使废钞箱很快满箱,导致机器无法运转。



技术实现要素:

本发明实施例提供一种纸币识别方法及装置,以提高纸币的正确识别率。

第一方面,本发明实施例提供了一种纸币识别方法,包括:

根据获取的至少一张纸币生成各张纸币对应的纸币数据;

对处于纸币通道中的当前纸币数据进行完整性检测;

若所述当前纸币数据不完整,将所述当前纸币数据对应的纸币视为假币或废钞。

进一步的,对处于纸币通道中的当前纸币数据进行完整性检测包括:

每张纸币对应的每行数据采用固定行号进行编码;

检测所述当前纸币数据的行号是否有缺失;

若有缺失,则确定所述当前纸币数据不完整,若无缺失,则确定所述当前纸币数据完整。

进一步的,在对处于纸币通道中的当前纸币数据进行完整性检测之前,还包括:

所述纸币数据采用固定长度进行编码,获取所述固定长度的纸币数据作为当前纸币数据。

进一步的,若有缺失,则确定所述当前纸币数据不完整之后,还包括:

丢失所述不完整的数据,检测所述当前纸币数据中包含的下一张纸币的纸币数据的行号;

获取与所述包含的下一张纸币的纸币数据的行号连续的纸币数据;

将包含的下一张纸币的纸币数据和获取的行号连续的纸币数据进行拼接,生成符合所述固定长度的下一张纸币的纸币数据作为所述当前纸币数据。

进一步的,还包括:

若根据拼接的纸币数据连续识别出为真钞的纸张数超过预设纸张阈值,则判断获取的纸币张数与当前纸币序号的差值是否大于预设阈值;

若大于或者等于所述预设阈值,则通知现场可编程门阵列fpga进行时序矫正,若小于所述预设阈值,则继续执行数据拼接步骤。

进一步的,对处于纸币通道中的当前纸币数据进行完整性检测包括:

所述纸币数据采用固定长度进行编码;

检测所述当前纸币数据的长度是否等于或小于所述固定长度;

若所述长度小于所述固定长度,则确定所述当前纸币数据不完整,若所述长度等于所述固定长度,则确定所述当前纸币数据完整。

进一步的,还包括:

若所述当前纸币数据完整,则根据所述当前纸币数据进行真伪识别。

进一步的,还包括:

在确定是用户存款操作时,若所述纸币为假钞,则将所述假钞退回入钞口,若所述纸币为真钞,则将所述真钞放入存钞箱中;

或,在确定是用户取款操作时,若所述纸币为废钞,则将所述废钞送入废钞箱中,若所述纸币为真钞,则将所述真钞送入取款口中。

第二方面,本发明实施例还提供了一种纸币识别装置,该装置包括:

数据生成模块,用于根据获取的至少一张纸币生成各张纸币对应的纸币数据;

检测模块,用于对处于纸币通道中的当前纸币数据进行完整性检测;

纸币辨别模块,用于若所述当前纸币数据不完整,将所述当前纸币数据对应的纸币视为假币或废钞。

进一步的,所述检测模块包括:

第一编码单元,用于每张纸币对应的每行数据采用固定行号进行编码;

第一行号检测单元,用于检测所述当前纸币数据的行号是否有缺失;

第一确定单元,用于若有缺失,则确定所述当前纸币数据不完整,若无缺失,则确定所述当前纸币数据完整。

进一步的,还包括:

第一获取单元,用于在对处于纸币通道中的当前纸币数据进行完整性检测之前,所述纸币数据采用固定长度进行编码,获取所述固定长度的纸币数据作为当前纸币数据。

进一步的,还包括:

第二行号检测单元,用于在若有缺失,则确定所述当前纸币数据不完整之后,丢失所述不完整的数据,检测所述当前纸币数据中包含的下一张纸币的纸币数据的行号;

第二获取单元,用于获取与所述包含的下一张纸币的纸币数据的行号连续的纸币数据;

拼接单元,用于将包含的下一张纸币的纸币数据和获取的行号连续的纸币数据进行拼接,生成符合所述固定长度的下一张纸币的纸币数据作为所述当前纸币数据。

进一步的,还包括:

判断单元,用于若根据拼接的纸币数据连续识别出为真钞的纸张数超过预设纸张阈值,则判断获取的纸币张数与当前纸币序号的差值是否大于预设阈值;

矫正单元,用于若大于或者等于所述预设阈值,则通知现场可编程门阵列fpga进行时序矫正,若小于所述预设阈值,则继续执行数据拼接步骤。

进一步的,所述检测模块包括:

第二编码单元,用于所述纸币数据采用固定长度进行编码;

长度检测单元,用于检测所述当前纸币数据的长度是否等于或小于所述固定长度;

第二确定单元,用于若所述长度小于所述固定长度,则确定所述当前纸币数据不完整,若所述长度等于所述固定长度,则确定所述当前纸币数据完整。

进一步的,还包括:

真伪识别模块,用于若所述当前纸币数据完整,则根据所述当前纸币数据进行真伪识别。

进一步的,还包括:

第一纸币处理模块,用于在确定是用户存款操作时,若所述纸币为假钞,则将所述假钞退回入钞口,若所述纸币为真钞,则将所述真钞放入存钞箱中;

第二纸币处理模块,用于或,在确定是用户取款操作时,若所述纸币为废钞,则将所述废钞送入废钞箱中,若所述纸币为真钞,则将所述真钞送入取款口中。

本发明实施例根据获取的至少一张纸币生成各张纸币对应的纸币数据对处于纸币通道中的当前纸币数据进行完整性检测,若当前纸币数据不完整,将当前纸币数据对应的纸币视为假币或废钞,避免了由于获取的纸币数据不完整导致剩余纸币对应的数据源交叉出错,后续验证真伪时,出错率就比较高,以至于将大量的纸币误判为假币被退回或误判为废钞,致使废钞箱很快满箱,导致机器无法运转的情况,能够提高纸币的正确识别率。

附图说明

图1为本发明实施例一中的一种纸币识别方法的流程图;

图2为本发明实施例二中的一种纸币识别方法的流程图;

图3是本发明实施例三中的一种纸币识别装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种纸币识别方法的流程图,本实施例可适用于纸币识别的情况,该方法可以由本发明实施例中的纸币识别装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:

s110,根据获取的至少一张纸币生成各张纸币对应的纸币数据。

其中,所述至少一张纸币包括取款时从出钞箱获取的纸币和/或存款时从入钞口获取的纸币。

可选的,在对处于纸币通道中的当前纸币数据进行完整性检测之前,还包括:

所述纸币数据采用固定长度进行编码,获取所述固定长度的纸币数据作为当前纸币数据。

其中,所述固定长度可以为1、2、3、…、n(n为固定长度)。

具体的,获取纸币数据长度为n的纸币数据作为当前纸币数据。也就是说,当前纸币数据总共为n行。

其中,所述纸币数据以张为单位进行存储和检测,具体的数据格式如表一所示:

表一

其中,一张纸币数据的第一行数据为帧头数据,通过帧头数据可以确定这一张纸币数据为第几张纸币数据,表一中,第一列为采集行号,每一行为采集的数据。

具体的,若用户通过大额机取款时,从钞箱获取纸币,通过传感器获取需要取出的纸币对应的纸币数据。若用户通过大额机存款时,从入钞口获取纸币,通过传感器获取需要存入的纸币对应的纸币数据。

s120,对处于纸币通道中的当前纸币数据进行完整性检测。

其中,对处于纸币通道中的当前纸币数据进行数据帧格式检测(数据帧格式由fpga与dsp之间制定的通信协议确定)。

可选的,对处于纸币通道中的当前纸币数据进行完整性检测包括:

每张纸币对应的每行数据采用固定行号进行编码;

其中,所述每张纸币对应的每行数据采用固定行号进行编码为通过采集行号对每行数据进行编码。例如可以是,每张纸币对应的每行数据采用固定行号进行编码可以为,对每行数据采用采集行号分别为1、2、3、…、n来进行编码。也就是说每行数据的编码格式为1、2、3、…、n(n为数据采集的总采集行数)。

具体的,正常情况下,一张纸币数据的采集行号是1、2、3、…、n,也就是说纸币数据的采集行号是1、2、3、…、n的纸币数据为完整纸币数据。

检测所述当前纸币数据的行号是否有缺失;

其中,所述缺失指的是纸币数据的行号是否缺少,例如可以是纸币数据的行号正常情况下为1、2、3,当前纸币数据的行号是1、2,则说明纸币数据的行号有缺失;如果当前纸币数据的行号是1、2、3,则说明纸币数据的行号不确实。

若有缺失,则确定所述当前纸币数据不完整,若无缺失,则确定所述当前纸币数据完整。

具体的,若纸币数据的行号缺失,则说明纸币数据不完整;若纸币数据的行号无缺失,则说明纸币数据完整。

可选的,对处于纸币通道中的当前纸币数据进行完整性检测包括:

所述纸币数据采用固定长度进行编码;

其中,所述固定长度为一张纸币的数据完整的情况下,采集的总采集行数。

检测所述当前纸币数据的长度是否等于或小于所述固定长度;

具体的,检测当前纸币数据的采集行数的长度,将当前纸币数据的长度与一张纸币的数据完整的情况下采集纸币数据的长度进行比较。

若所述长度小于所述固定长度,则确定所述当前纸币数据不完整,若所述长度等于所述固定长度,则确定所述当前纸币数据完整。

具体的,若当前纸币数据的长度小于一张纸币的数据完整的情况下采集纸币数据的长度,则确定当前纸币数据不完整。若若当前纸币数据的长度等于一张纸币的数据完整的情况下采集纸币数据的长度,则确定当前纸币数据完整。

s130,若所述当前纸币数据不完整,将所述当前纸币数据对应的纸币视为假币或废钞。

其中,所述当前纸币数据不完整指的是纸币数据的采集行号不完整。

具体的,正常情况下,一张纸币数据的采集行号是1、2、3…n,若纸币数据的采集行号不是1、2、3、…、n,则说明当前纸币数据不完整。例如可以是,当n等于1386时,若纸币数据的采集行号是1、2、3、…、1386,则说明纸币数据完整;若纸币数据为1、2、3、…、1376、1、…、10,则说明纸币数据不完整。如表二所示:

表二

具体的,表二为一张不完整的纸币数据,表二中,采集行号1、2、3、…、1376为一张纸币数据,完整的纸币数据的采集行号应该是1、2、3、…、1386,也就是说表二所示的纸币数据的采集行号缺少行号1377、…、1386的数据。因此,表二所示的数据为不完整的纸币数据。因为纸币数据不完整,则在通过纸币数据对纸币的真伪进行辨别的时候,纸币数据不完整的纸币则会被视为假币或废钞。

可选的,还包括:

若所述当前纸币数据完整,则根据所述当前纸币数据进行真伪识别。

具体的,若采集的数据完整,则检测采集的数据,根据纸币数据的检测结果判断纸币的真伪。

可选的,还包括:

在确定是用户存款操作时,若所述纸币为假钞,则将所述假钞退回入钞口,若所述纸币为真钞,则将所述真钞放入存钞箱中;

或,在确定是用户取款操作时,若所述纸币为废钞,则将所述废钞送入废钞箱中,若所述纸币为真钞,则将所述真钞送入取款口中。

本实施例的技术方案,根据获取的至少一张纸币生成各张纸币对应的纸币数据对处于纸币通道中的当前纸币数据进行完整性检测,若当前纸币数据不完整,将当前纸币数据对应的纸币视为假币或废钞,避免了由于获取的纸币数据不完整导致剩余纸币对应的数据源交叉出错,后续验证真伪时,出错率就比较高,以至于将大量的纸币误判为假币被退回或误判为废钞,致使废钞箱很快满箱,导致机器无法运转的情况,能够提高纸币的正确识别率。

实施例二

图2为本发明实施例二中的一种纸币识别方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,进一步对对处于纸币通道中的当前纸币数据进行完整性检测进行了细化。

如图2所示,本实施例的方法具体包括如下步骤:

s210,根据获取的至少一张纸币生成各张纸币对应的纸币数据。

s220,所述纸币数据采用固定长度进行编码,获取所述固定长度的纸币数据作为当前纸币数据。

s230,每张纸币对应的每行数据采用固定行号进行编码。

s240,检测所述当前纸币数据的行号是否有缺失。

若有缺失,则执行s241;若无缺失,则执行步骤s242。

s241,确定所述当前纸币数据不完整。

s242,确定所述当前纸币数据完整。

s250,丢失所述不完整的数据,检测所述当前纸币数据中包含的下一张纸币的纸币数据的行号。

其中,所述不完整的数据指的是纸币数据的行号有丢失的纸币数据,或者是纸币数据的长度小于固定长度的纸币数据。

具体的,所述不完整数据指的是如表二所示采集行号为1、2、3、…、1376的纸币数据为不完整的数据,将采集行号为1、2、3、…、1376的纸币数据丢失,检测当前纸币数据中包含的下一张纸币的纸币数据的行号,也就是如表二所示,采集行号为1、…、10的纸币数据。

具体的,检测出错行的采集行号是否为1,若出错行的采集行号为1,则说明当前行数据为帧头数据,也就是说出错行数据为另一张纸币数据的帧头数据。

s260,获取与所述包含的下一张纸币的纸币数据的行号连续的纸币数据。

其中,所述下一张纸币为纸币通道中紧挨着当前纸币的下一张纸币。

在一个具体的例子中,若当前纸币数据如表二所示,通道中紧挨着当前纸币的下一张纸币的纸币数据如表三所示:

表三

其中,表二中的采集行号1、…、10的数据为下一张纸币数据的前十行纸币数据,表三中的采集行号11、…、10386的数据为下一张纸币数据的其余数据。表三中剩余的采集行号1、…、10的数据为通道中紧挨着下一张纸币的下下张纸币的纸币数据。

s270,将包含的下一张纸币的纸币数据和获取的行号连续的纸币数据进行拼接,生成符合所述固定长度的下一张纸币的纸币数据作为所述当前纸币数据。

具体的,若当前纸币数据如表二所示,纸币通道中紧挨着当前纸币的下一张纸币的纸币数据如表三所示,则可以将表二中的采集行号1、…、10的数据与表三中的采集行号11、…、10386的数据进行拼接,生成符合所述固定长度的下一张纸币的纸币数据作为所述当前纸币数据。

s280,若所述当前纸币数据不完整,将所述当前纸币数据对应的纸币视为假币或废钞。

在一个具体的例子中,对接收的数据进行数据帧格式检测(数据帧格式由fpga与dsp之间制定的通信协议);一个数据的第一行数据为帧头数据,第一列为采集行号,采集行号由1、2、3、…、n(n为数据采集的总采集行数)。在数据进行帧信息检测时如果遇到采集行号出错的情况,则检测出错行的采集行号是否为1,若出错行的采集行号为1,则说明当前行数据为帧头数据,即出错行为下一张纸币数据的帧头数据。若出错行的采集行号不为1,则说明当前行数据不是帧头数据,则不可以进行数据拼接。如果出错行为帧头数据则储存此行数据到结束列数据。检测第二张数据第一行采集行号是否可以与上一张结束采集行号连续。判断该张数据出错行号帧头数据是否与上一张同一位置,如果为同一位置,则把上一张后一半的数据与该张上一半数据进行拼接,判断是否为同一张数据,同时对该张拼接数据进行鉴伪识别。

可选的,还包括:

若根据拼接的纸币数据连续识别出为真钞的纸张数超过预设纸张阈值,则判断获取的纸币张数与当前纸币序号的差值是否大于预设阈值;

其中,所述获取的纸币张数可以为取款张数也可以为存款张数。若获取的纸币张数为用户取款时的纸币张数,则可以通过用户输入的纸币金额获取。若获取的纸币张数为用户存款时的纸币张数,则可以先获取用户存入的纸币张数,然后再对纸币进行识别。

具体的,若根据拼接的纸币数据连续识别出为真钞的纸张数超过预设纸张阈值,则说明通过对纸币数据进行拼接能够有效的防止由于获取的纸币数据不完整导致剩余纸币对应的数据源交叉出错,后续验证真伪时,出错率就比较高,以至于将大量的纸币误判为假币被退回或误判为废钞,致使废钞箱很快满箱,导致机器无法运转的情况的发生。

若大于或者等于所述预设阈值,则通知现场可编程门阵列fpga进行时序矫正,若小于所述预设阈值,则继续执行数据拼接步骤。

其中,将需要矫正时序的指令发送至fpga,fpga进行时序矫正。

具体的,若获取的纸币张数与当前纸币序号的差值大于或者等于预设阈值,则说明还有很多纸币需要对纸币数据进行处理,则可以通知fpga进行时序矫正,从根本上解决问题,若获取的纸币张数与当前纸币序号的差值小于所述预设阈值,则继续执行数据拼接操作。

在一个具体的例子中,如果连续出现5张异常此种情况数据同时拼接数据同时为真钞,则判断取款张数与当前钞票序号差值是否大于10;如果差值小于10,则继续按照第三步处理;如果差值大于5则调矫正fpga发送时序。

本实施例的技术方案,在当前纸币数据不完整的情况下,丢失不完整的数据,检测当前纸币数据中包含的下一张纸币的纸币数据的行号,获取与包含的下一张纸币的纸币数据的行号连续的纸币数据,将包含的下一张纸币的纸币数据和获取的行号连续的纸币数据进行拼接,生成符合所述固定长度的下一张纸币的纸币数据作为当前纸币数据。避免了由于获取的纸币数据不完整导致剩余纸币对应的数据源交叉出错,后续验证真伪时,出错率就比较高,以至于将大量的纸币误判为假币被退回或误判为废钞,致使废钞箱很快满箱,导致机器无法运转的情况,能够提高纸币的正确识别率。

实施例三

图3为本发明实施例三的一种纸币识别装置的结构示意图。本实施例可适用于纸币识别的情况,该系统可采用软件和/或硬件的方式实现,该系统可集成在任何提纸币识别的设备中,如图3所示,所述纸币识别装置具体包括:数据生成模块310、检测模块320和纸币辨别模块330。

其中,数据生成模块310,用于根据获取的至少一张纸币生成各张纸币对应的纸币数据;

检测模块320,用于对处于纸币通道中的当前纸币数据进行完整性检测;

纸币辨别模块330,用于若所述当前纸币数据不完整,将所述当前纸币数据对应的纸币视为假币或废钞。

可选的,所述检测模块320包括:

第一编码单元,用于每张纸币对应的每行数据采用固定行号进行编码;

第一行号检测单元,用于检测所述当前纸币数据的行号是否有缺失;

第一确定单元,用于若有缺失,则确定所述当前纸币数据不完整,若无缺失,则确定所述当前纸币数据完整。

可选的,还包括:

第一获取单元,用于在对处于纸币通道中的当前纸币数据进行完整性检测之前,所述纸币数据采用固定长度进行编码,获取所述固定长度的纸币数据作为当前纸币数据。

可选的,还包括:

第二行号检测单元,用于在若有缺失,则确定所述当前纸币数据不完整之后,丢失所述不完整的数据,检测所述当前纸币数据中包含的下一张纸币的纸币数据的行号;

第二获取单元,用于获取与所述包含的下一张纸币的纸币数据的行号连续的纸币数据;

拼接单元,用于将包含的下一张纸币的纸币数据和获取的行号连续的纸币数据进行拼接,生成符合所述固定长度的下一张纸币的纸币数据作为所述当前纸币数据。

可选的,还包括:

判断单元,用于若根据拼接的纸币数据连续识别出为真钞的纸张数超过预设纸张阈值,则判断获取的纸币张数与当前纸币序号的差值是否大于预设阈值;

矫正单元,用于若大于或者等于所述预设阈值,则通知现场可编程门阵列fpga进行时序矫正,若小于所述预设阈值,则继续执行数据拼接步骤。

可选的,所述检测模块320包括:

第二编码单元,用于所述纸币数据采用固定长度进行编码;

长度检测单元,用于检测所述当前纸币数据的长度是否等于或小于所述固定长度;

第二确定单元,用于若所述长度小于所述固定长度,则确定所述当前纸币数据不完整,若所述长度等于所述固定长度,则确定所述当前纸币数据完整。

可选的,还包括:

真伪识别模块,用于若所述当前纸币数据完整,则根据所述当前纸币数据进行真伪识别。

可选的,还包括:

第一纸币处理模块,用于在确定是用户存款操作时,若所述纸币为假钞,则将所述假钞退回入钞口,若所述纸币为真钞,则将所述真钞放入存钞箱中;

第二纸币处理模块,用于或,在确定是用户取款操作时,若所述纸币为废钞,则将所述废钞送入废钞箱中,若所述纸币为真钞,则将所述真钞送入取款口中。

本实施例的技术方案,根据获取的至少一张纸币生成各张纸币对应的纸币数据对处于纸币通道中的当前纸币数据进行完整性检测,若当前纸币数据不完整,将当前纸币数据对应的纸币视为假币或废钞,避免了由于获取的纸币数据不完整导致剩余纸币对应的数据源交叉出错,后续验证真伪时,出错率就比较高,以至于将大量的纸币误判为假币被退回或误判为废钞,致使废钞箱很快满箱,导致机器无法运转的情况,能够提高纸币的正确识别率。

上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1