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

收款方法、收款装置、及收款设备

文献发布时间:2023-06-19 11:27:38


收款方法、收款装置、及收款设备

技术领域

本公开涉及互联网金融技术领域,更具体地,涉及一种收款方法、一种收款装置、一种收款设备、以及一种计算机可读存储介质。

背景技术

随着移动支付的发展,越来越多的商家在交易结算时选择使用收款系统扫描消费者移动终端的支付码进行收款。例如在超市收银结算、餐厅用餐支付、购物结算等场景中。在通过使用收款系统进行收款的过程中,准确地获取“需要扣款的金额数值”是非常关键的。

目前一种常见的情形时,商家通过自己收银系统(即,收银系统) 计算得到结算金额后,由收银员手动在收款系统中输入“需要扣款的金额数值”。这种情况不仅效率低,而且容易出错。

另外也有部分通过自动获取收银系统的结算金额,来得到“需要扣款的金额数值”。当前自动获取的手段主要是从收银系统的金额输出窗口或端口等处读取金额。然而这种手段仅适用于收银系统以特定的方式输出结算金额的情形,并不能够广泛对接各种不同类型的收银系统。

发明内容

有鉴于此,本公开实施例提供了一种可以广泛对接各种类型的收银系统的通用的收款方法、收款装置、收款设备、及计算机可读存储介质。

本公开实施例的一个方面提供了一种收款方法,包括:响应于收银系统进入结算环节,基于所述收银系统的结算金额在电子设备的屏幕中的显示特征,采取对应的处理方式获取所述屏幕中显示的包含结算金额的目标区域的图像;其中,所述收银系统运行在所述电子设备中;所述显示特征包括结算金额在所述屏幕中的显示位置的变动信息、和/或结算金额在所述屏幕中的显示画面受干扰的信息;识别所述目标区域的图像中的结算金额,以获取支付信息;以及基于所述支付信息进行收款。

根据本公开的实施例,所述显示特征包括结算金额在所述屏幕中的显示位置的变动信息。所述采取对应的处理方式获取所述屏幕中显示的包含结算金额的目标区域的图像包括:在所述收银系统中的结算金额在所述屏幕中的基准位置在不同的收银结算过程中固定不变时,基于预先设置的目标位置范围,确定所述目标区域;或者在所述收银系统中的结算金额在所述屏幕中的位置随机变动,但存在与所述结算金额的特征图像位置相对位置固定不变、且内容不变的特征图像时,基于将预先设置的所述特征图像与所述屏幕中的图像的匹配,确定所述目标区域。

根据本公开的实施例,在所述收银系统中的结算金额在所述屏幕中的基准位置在不同的收银结算过程中固定不变时,基于预先设置的目标位置范围,确定所述目标区域之前,所述方法还还包括:基于用户的框选操作设置所述目标位置范围,其中所述目标位置范围覆盖所述收银系统输出的任意大小的结算金额。

根据本公开的实施例,在所述基于预先设置的所述特征图像与所述屏幕中的图像的匹配,确定所述目标区域之前,所述方法还包括:获取针对所述收银系统预先设置的特征图像以及所述特征图像与所述目标区域的相对位置;其中,所述特征图像的显示内容、以及所述相对位置在利用所述收银系统进行的不同的结算过程中保持不变;通过将所述特征图像与所述屏幕中的图像进行匹配,确定出所述屏幕中显示所述特征图像的特征位置范围;以及基于所述特征位置范围与所述相对位置,确定所述目标区域。

根据本公开的实施例,所述通过将所述特征图像与所述屏幕中的图像进行匹配,确定出所述屏幕中显示所述特征图像的特征位置范围包括:使用模板匹配方法将所述特征图像与所述屏幕中的图像进行匹配;以及基于匹配结果,确定所述特征位置范围。

根据本公开的实施例,在所述使用模板匹配方法将所述特征图像与所述屏幕中的图像进行匹配之前,还包括基于图像金字塔方式,对所述特征图像和所述屏幕中的图像分别进行下采样处理。

根据本公开的实施例,在响应于所述收银系统进入结算环节,采取对应的处理方式获取所述屏幕中显示的包含结算金额的目标区域的图像之前,所述方法还包括基于用户操作选择所述特征图像,并设置所述相对位置。

根据本公开的实施例,所述基于所述特征位置范围与所述相对位置,确定所述目标区域包括:基于所述特征位置范围,确定所述目标区域的尺寸;基于所述特征位置范围和所述相对位置,确定所述目标区域的显示基准位置;以及基于所述目标区域的显示基准位置以及所述目标区域的尺寸,定位所述目标区域。

根据本公开的实施例,所述显示特征包括结算金额在所述屏幕中的显示画面受干扰的信息。所述采取对应的处理方式获取所述屏幕中显示的包含结算金额的目标区域的图像,包括对所述目标区域的图像进行优化处理。

根据本公开的实施例,所述对所述目标区域的图像进行优化处理包括:按照针对所述收银系统设置的截屏优化参数,对所述目标区域的图像进行优化处理,其中,所述截屏优化参数包括对图像的一个或多个属性进行调整的优化参数。

根据本公开的实施例,所述方法还包括:在所述收银系统运行之前,基于用户对所述收银系统的结算金额的截图的调试操作确定所述截图优化参数。

根据本公开的实施例,所述一个或多个属性包括以下至少之一:阈值、腐蚀、或膨胀。

根据本公开的实施例,所述获取所述电子设备的屏幕中显示的包含结算金额的目标区域的图像包括:利用图形设备接口以绘图方式截取所述目标区域的图像;将截取的所述目标区域的图像传输到所述电子设备的内存。所述对所述目标区域的图像进行优化处理,包括在所述电子设备的内存中利用图像处理程序对所述目标区域的图像进行优化处理。

根据本公开的实施例,所述识别所述目标区域的图像中的所述结算金额,包括通过机器学习算法识别所述目标区域的图像中的所述结算金额。

本公开实施例的另一方面,提供了一种收款装置。所述收款装置包括获取模块、识别模块、以及收款模块。获取模块用于响应于收银系统进入结算环节,基于所述收银系统的结算金额在电子设备的屏幕中的显示特征,采取对应的处理方式获取所述屏幕中显示的包含结算金额的目标区域的图像;其中,所述收银系统运行在所述电子设备中;所述显示特征包括结算金额在所述屏幕中的显示位置的变动信息、和/ 或结算金额在所述屏幕中的显示画面受干扰的信息。识别模块用于识别所述目标区域的图像中的结算金额,以获取支付信息。收款模块用于基于所述支付信息进行收款。

本公开实施例的另一方面,提供了一种收款设备。所述收款设备包括一个或多个处理器、以及一个或多个存储器。所述存储器用于存储一个或多个程序。其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。

本公开实施例的另一方面,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。

本公开实施例的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

上述一个或多个实施例具有如下优点或益效果:通过截取收银系统所在的电子设备的屏幕中包含结算金额的目标区域的图像,然后通过图像识别来自动获取结算金额信息,从而在收款过程中不必受限于收银系统输出结算金额的具体方式(例如,是串口、端口、还是串口输出),从而可以对接各类收银系统,提高了收款的适用范围。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的收款方法和收款装置的应用场景;

图2示意性示出了根据本公开实施例的收款装置的框图;

图3示意性示出了根据本公开一实施例的收款方法的流程图;

图4示意性示出了根据本公开一实施例的获取目标区域的图像的流程图;

图5示意性示出了根据本公开另一实施例的获取目标区域的图像的流程图;

图6A~6B示意性示出了根据本公开一实施例的收银系统在不同的结算过程中在屏幕中的显示画面的示意;

图7示意性示出了根据本公开另一实施例的的获取目标区域的图像的流程图;

图8A~8B示意性示出了根据本公开另一实施例的收银系统在不同的结算过程中在屏幕中的显示画面的示意;

图8C示意了图8A和8B中所示的收银系统的结算界面的示意;

图8D示意性示出了图8A和8B中所示的收银系统的结算界面中的特征图像的示意;

图9示意性示出了根据公开一实施例的根据特征图像的位置范围追踪目标区域的目标位置范围的计算机底层逻辑;

图10示意性示出了根据本公开另一实施例的收款方法的流程图;

图11A和图11B示意性示出了根据本公开实施例的设置截屏优化参数对目标区域的图像进行优化的逻辑;

图12示意性示出了根据本公开另一实施例的收款方法的流程图;

图13示意性示出了根据本公开再一实施例的收款方法的流程图;以及

图14示意性示出了根据本公开实施例的收款设备的计算机系统结构图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释 (例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B 和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

本公开的实施例提供了一种可以广泛对接各种类型的收银系统的通用的收款方法、收款装置、收款设备、及计算机可读存储介质。该收款方法中首先响应于收银系统进入结算环节,基于所述收银系统的结算金额在电子设备的屏幕中的显示特征,采取对应的处理方式获取所述屏幕中显示的包含结算金额的目标区域的图像;其中,所述收银系统运行在所述电子设备中;所述显示特征包括结算金额在所述屏幕中的显示位置的变动信息、和/或结算金额在所述屏幕中的显示画面受干扰的信息。然后识别目标区域的图像中的结算金额,以获取支付信息。之后基于支付信息进行收款。

本公开实施例的收款方法,通过获取收银系统所运行的电子设备的屏幕中包含结算金额的目标区域的图像,然后通过图像识别来自动获取结算金额信息,从而在收款过程中不必受限于收银系统输出结算金额的具体方式(例如,是串口、端口、还是串口输出),从而可以对接各类收银系统,提高了收款的适用范围。

本公开实施例的收款方法,在获取收银系统所运行的电子设备的屏幕中包含结算金额的目标区域的图像时,会根据收银系统的结算金额在屏幕中的显示位置的变动信息、和/或结算金额在所述屏幕中的显示画面受干扰的信息,采取对应的处理方式获取目标区域的图像,可以使得所获取的图像更精准和清晰,更便于准确识别结算金额,提高收款的准确性,降低误收款率。

图1示意性示出了根据本公开实施例的收款方法和收款装置的应用场景100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的应用场景100可以包括商家(例如,收银员)使用的电子设备101和扫描终端102,以及消费者使用的移动终端103。

电子设备101与扫描终端102通过有线或无线连接。在一个实施例中,电子设备101中运行有收银系统1和根据本公开实施例的收款装置2。

电子设备101包括屏幕12。收银系统1进入结算环节的结算金额可以显示在屏幕12中,供收银员和消费者查看。

以一个超市收银常见的支付情景为例进行说明。例如,消费者采购完成到收银台结算。收银员操作电子设备101中的收银系统1,例如,收银员逐个计量消费者采购的货物,统计完成后操作收银系统1 进入结算环节。与收银系统1进入结算环节同步,收款装置2执行本公开实施例的收款方法,通过获取电子设备101的屏幕12中包含有结算金额的目标区域的图像,并通过图像识别的方式自动获得支付信息,然后控制扫描终端102基于该支付信息扫描消费者使用的移动终端 103中的支付码,完成收款。

可以理解,根据本公开实施例的收款装置2与收银系统1均运行于电子设备101中仅是一种示例。根据本公开的另一些实施例,该也可以设置于与电子设备101通信的扫描终端102中,或者也可以部分功能设置于电子设备101、部分功能设置于扫描终端102中。

应该理解,图1中的设备种类和数目、以及设备之间的连接方式和连接关系仅仅是示意性的。根据实现需要,可以具有任意种类和数目的设备,并可以根据需要设置设备之间的连接关系。

图2示意性示出了根据本公开实施例的收款装置2的框图。

如图2所示,根据本公开实施例,该收款装置2可以包括获取模块210、识别模块220、以及收款模块230。

获取模块210用于响应于收银系统1进入结算环节,基于收银系统1的结算金额在电子设备101的屏幕12中的显示特征,采取对应的处理方式获取电子设备101的屏幕12中显示的包含结算金额的目标区域的图像。该显示特征包括结算金额在屏幕12中的显示位置的变动信息、和/或结算金额在屏幕12中的显示画面受干扰的信息。

例如,在一些实施例中,结算金额的显示位置会在随机变动。在另一些实施例中,结算金额在屏幕102中的显示位置的基准位置固定不变,但是会随显示金额的大小改变显示区域的尺寸。再例如,在一些实施例中,结算金额的显示画面中会存在有模糊、噪声等干扰信息。

对于不同的显示特征,采取不同的处理方式,使得获取得到的目标区域的图像完整包含结算金额的文本,并且可以满足识别模块220 的识别要求,具体可以参考下文方法部分的描述。

识别模块220用于识别目标区域的图像中的结算金额,以获取支付信息。

收款模块230用于基于支付信息进行收款。

根据本公开的另一些实施例,该收款装置2还可以包括优化模块。优化模块用于在识别目标区域的图像中的结算金额之前,对目标区域的图像进行优化处理,尤其是针对结算金额在屏幕中的显示画面存在干扰的情况。

该收款装置2可以用于实现根据本公开各个实施例的收款方法,可以通过获取目标区域的图像,并通过图像识别自动获取收银系统1 的结算金额,从而提高交易收款的效率。以下结合图3~图12对本公开各个实施例的收款方法进行示例性介绍。

图3示意性示出了根据本公开一实施例的收款方法的流程图。

如图3所示,根据本公开实施例的收款方法可以包括操作S310~操作S330。

在操作S310,响应于收银系统1进入结算环节,基于收银系统1 的结算金额在电子设备101的屏幕12中的显示特征,采取对应的处理方式获取电子设备101的屏幕12中显示的包含结算金额的目标区域的图像。该显示特征包括结算金额在屏幕12中的显示位置的变动信息、和/或结算金额在屏幕12中的显示画面受干扰的信息。

获取目标区域的图像,例如可以是通过程序截屏的方式获取电子设备101的屏幕12中显示的包含结算金额的目标区域的图像。

为了提高后续自动识别结算金额的准确性,避免对金额识别的干扰,该目标区域中除了结算金额之外应尽量减少包含其他字符信息。因此,根据本公开的实施例,可以基于结算金额在屏幕12中的显示位置的变动信息,采取相对应的方式来定位并获取该目标区域的图像。

例如,在所述收银系统中的结算金额在所述屏幕中的基准位置在不同的收银结算过程中固定不变时,基于预先设置的目标位置范围,确定所述目标区域。或者例如,在所述收银系统中的结算金额在所述屏幕中的位置随机变动,但存在与所述结算金额的特征图像位置相对位置固定不变、且内容不变的特征图像时,基于将预先设置的所述特征图像与所述屏幕中的图像的匹配,确定所述目标区域。

在操作S320,识别目标区域的图像中的结算金额,以获取支付信息。例如,可以通过机器学习算法识别目标区域的图像中的结算金额。例如,可以采用机器学习库Tesseract进行图像识别。

在操作S330,基于支付信息进行收款。例如,根据该支付信息利用扫描终端102扫描用户的付款码进行收款。

根据本公开实施例,可以通过获取收银系统1所运行的电子设备的屏幕中包含结算金额的目标区域的图像,然后通过图像识别来自动获取结算金额信息,从而在收款过程中不必受限于收银系统1输出结算金额的具体方式(例如,是串口、端口、还是串口输出),从而可以对接多种不同类型的收银系统,提高了收款的适用范围。

图4示意性示出了根据本公开一实施例的获取目标区域的图像的流程图。

如图4所示,根据该实施例操作S310中获取电子设备的屏幕中显示的包含结算金额的目标区域的图像可以包括操作S401和操作S402。

在操作S401,确定目标区域在屏幕中的目标位置范围。

该目标位置范围例如可以包括目标区域的定位基准信息(例如,目标区域的中心位置、或者目标区域的右下角的位置坐标)以及该目标区域的尺寸信息。

在确定目标区域在屏幕中的目标位置范围时,根据收银系统1中结算金额在屏幕中的显示位置是否固定(或者是否会移动变化),存在不同的手段。

例如,若收银系统1在不同的使用过程中,结算金额的屏幕中的显示位置基本固定(如下述的图6A和图6B),则可以针对该收银系统 1预先设置出该目标位置范围,从而在操作S401中可以直接获取预先设置的该目标位置范围。

又例如,收银系统1在不同的使用过程中,结算金额的屏幕中的显示位置不固定,例如,结算金额的显示位置会随着金额的改变而改变或者随着所在窗口的位置移动而移动(如下述的图8A和图8B)。在这种情况下如果在收银系统1的结算界面中存在有内容不变、且与结算金额的相对位置固定的图像,则可以以该图像作为特征图像(如下述的图8D),对目标区域进行追踪确定。具体参考下文的描述。

在操作S402,基于目标位置范围,从屏幕中获取目标区域的图像。例如,按照目标区域的定位基准信息和该目标区域的尺寸信息,从屏幕12中截取图像。

图5示意性示出了根据本公开另一实施例的获取目标区域的图像的流程图。

如图5所示,根据该实施例操作S310中获取电子设备的屏幕中显示的包含结算金额的目标区域的图像可以包括操作S511和操作S402。结合图4,操作S511为操作S401的一个具体实施例。

具体地,在操作S511,获取针对收银系统1预先设置的目标位置范围。

图5所示例的方法适用于当收银系统1的结算金额在屏幕12中的基准位置在不同的收银结算过程中固定不变的情形,例如如图6A和图6B所示。

图6A~6B示意性示出了根据本公开一实施例的收银系统1在不同的结算过程中在屏幕12中的显示画面的示意。

在图6A和6B的示意中,收银系统1的结算金额601始终显示在屏幕12的右下角。其中,随着金额的变化结算金额601所显示的区域尺寸会发生一定的变化,但是结算金额601在屏幕中左下角的起点位置(即,定位基准)固定。

为了确保完整获取到结算金额601的信息,操作S511中设置的目标位置范围应当覆盖收银系统1输出的任意大小的结算金额601。

根据本公开的一个实施例,可以在收银系统1运行之前的测试阶段,基于用户的框选操作设置目标位置范围,其中目标位置范围覆盖所述收银系统输出的任意大小的结算金额。

例如,可以在对超市的收银台的电脑中的收银系统1与收款装置 2进行交互测试的阶段或对收款装置2的设置阶段,通过用户的框选操作在屏幕上确定一个可以包含各种结算金额信息的区域,该区域在金额信息不停的改变的时候能够一直将结算金额包含在内。这样,可以以该区域的位置信息和尺寸信息作为目标位置范围。

又例如,假设开发人员设计收款装置2时就明确了该收款装置2 所对应的收银系统1输出的结算金额在屏幕12上的显示位置基准固定,这样开发人员可以在设计收款装置2的时候就可以根据收银系统1输出的结算金额的区域特征预先配置好该目标位置范围。

再例如,开发人员设计收款装置2可以针对各种类型的收银系统设置对应的目标位置范围。然后在应用场景100中投入使用时,收款装置2可以识别出收银系统1,并获取针对该收银系统1预先设置的目标位置范围。

图7示意性示出了根据本公开另一实施例的的获取目标区域的图像的流程图。

如图7所示,根据该实施例操作S310中获取电子设备的屏幕中显示的包含结算金额的目标区域的图像可以包括操作S711~操作S731、以及操作S402。结合图4,操作S711~操作S731为操作S401的一个具体实施例。

在操作S711,获取针对收银系统1预先设置的特征图像以及特征图像与目标区域的相对位置。其中,该特征图像的显示内容、以及相对位置在利用收银系统1进行的不同的结算过程中保持不变。

图7所示例的方法适用于当收银系统1的结算金额在屏幕12中的基准位置在不同的收银结算过程中会发生变化的情形,例如图8A和图8B的示意。

图8A~8B示意性示出了根据本公开另一实施例的收银系统在不同的结算过程中在屏幕1中的显示画面的示意。

如图8A和图8B所示,结算金额801的显示位置会随着所在收银系统1的窗口803的位置移动而移动。

图8C示意了图8A和8B中所示的收银系统的结算界面的示意。

再结合图8C,可以发现在结算金额801随着窗口803变动时,图像802的内容、以及与结算金额801的相对位置始终保持不变。从而,根据本公开的实施例,可以预先将图像802设置为特征图像(如图8D 所示),然后对目标区域进行截屏时,可以通过特征图像的位置来定位该目标区域。

图9示意性示出了根据公开一实施例的根据特征图像802的位置范围追踪目标区域的目标位置范围的计算机底层逻辑。

在图9中,数据序列902示意的是在特征图像802在窗口不断变化时在屏幕12中的基准位置(例如,右下角)在计算机系统中记录的坐标信息,数据序列901示意的是在结算金额801在窗口不断变化时在屏幕12中的基准位置(例如,左下角)在计算机系统中记录的坐标信息。

根据数据序列902与数据序列901中对应行的坐标可以精准地计算得到在特征图像802和结算金额801之间的相对位置,并可以通过比较确定出该相对位置是否恒定不变。当该相对位置恒定不变时,就可以针对收银系统1预先设置出该相对位置,以在各种显示窗口中利用特征图像802来追踪结算金额801所在的目标区域。

在一个实施例中,可以在收银系统1在电子设备中运行之前的设置或测试阶段,基于用户操作选择该特征图像,并设置相对位置。例如可以提示用户点选确定出特征图像的左下角、以及目标区域的右下角,进而确定出该相对位置

在另一个实施例中,可以在针对该收银系统1开发收款装置2时,在收款装置2中配置该特征图像,并设置相对位置的信息。

在操作S721,通过将特征图像与屏幕中的图像进行匹配,确定出屏幕中显示特征图像的特征位置范围。例如,通过图像匹配从图8A 或图8B中确定出特征图像802的位置信息、以及尺寸大小信息。

在操作S731,基于特征位置范围与相对位置,定位该目标区域。

具体地,可以首先基于特征位置范围,确定目标区域的尺寸。例如,可以认为目标区域与该特征图像802的特征位置范围在高度上的尺寸一致,基于此,可以相应预估金额数值在长度方向的最大可能尺寸,以此作为目标区域的尺寸。然后基于特征位置范围和相对位置,确定目标区域的显示基准位置。例如,在一个实施例中,可以根据特征图像802的左下角坐标、以及该左下角与结算金额801的相对距离,计算出目标区域的左下角坐标,作为显示基准位置。之后基于目标区域的显示基准位置以及目标区域的尺寸,确定目标位置范围。

根据本公开的实施例,操作S721中将特征图像与屏幕中的图像进行匹配时,可以使用模板匹配方法(例如,OpenCV图像处理库中的模板匹配方法matchTemplate)将特征图像与屏幕中的图像进行匹配,并基于匹配结果,确定特征位置范围。

根据本公开的另一实施例,操作S721中在使用模板匹配方法将特征图像与屏幕中的图像进行匹配之前,还可以基于图像金字塔方式,对特征图像和屏幕中的图像分别进行下采样处理。对特征图像和屏幕中的图像分别进行下采样处理后,可以在不影响匹配结果的情况下,减小进行匹配时的两个图像中需要匹配的像素点数量,提高匹配速度。

图10示意性示出了根据本公开另一实施例的收款方法的流程图。

如图10所示,根据本公开实施例的收款方法可以包括操作S310、操作S1020、操作S320~操作S330。其中,操作S310、操作S320和操作S330与前述一致,在此不再赘述。

本公开实施例的收款方法识别目标区域的图像中的结算金额之前先执行操作S1020。具体地,在操作S1020对目标区域的图像进行优化处理。

本公开实施例的方法适用于收银系统1输出的结算金额存在模糊、干扰等不易识别的情形下。例如,收银系统1输出的结算金额如图11A 中所示存在有短线,会导致直接通过操作S320进行识别时可能发生错误。为了提高识别准确率,可以在识别之前通过操作S1020对截取的图像进行优化处理。

图11A和图11B示意性示出了根据本公开实施例的设置截屏优化参数对目标区域的图像进行优化的逻辑。

结合图10、图11A和图11B,如果收银系统1输出的结算金额1101 存在有干扰的情形,可以参考图11B的方式,根据本公开的实施例在操作S1020中对结算金额1101进行优化处理。

为了提高优化效率,方便用户使用,根据本公开的一个实施例,在操作S1020中可以按照针对收银系统1预先设置的截屏优化参数,对目标区域的图像进行优化处理。

例如,可以在测试阶段或者收款装置2的开发阶段,以图11B所示的方式调整,基于用户对收银系统1的结算金额的截图的调试操作,通过不停的调整各项优化参数,对图像进行手动微调,直到能够正常的获取支付金额信息,以此来确定截图优化参数。然后在例如图1的应用场景100中使用阶段收款装置2时,后台自动按照预先设置的截屏优化参数对截取的目标区域的图像进行优化,提高金额识别的准确率。

截屏优化参数包括对图像的一个或多个属性进行调整的优化参数。例如,一个或多个属性例如可以包括以下至少之一:阈值、腐蚀、或膨胀。其中,阈值、腐蚀、和膨胀为OpenCV图像处理方法,可以调节图片像素点颜色分布,实现图像中黑色与白色部分的二值化改变(图像二值化(Image Binarization),即将图像上的像素点的灰度值设置为0或255,将整个图像呈现出明显的黑白效果的过程。

图12示意性示出了根据本公开另一实施例的收款方法的流程图。

如图12所示,根据本公开实施例的收款方法可以包括操作S1211、操作S1212、操作S1213、以及操作S320~操作S330。

首先在操作S1211,响应于收银系统1进入结算环节,利用图形设备接口(GraphicsDevice Interface,GDI)以绘图方式截取目标区域的图像。

然后在操作S1212,将截取的目标区域的图像传输到电子设备的内存。将截取的图像直接传输到内存中进行处理,而不进行保存,降低文件IO次数。

接着在操作S1213,在电子设备的内存中利用图像处理程序对目标区域的图像进行优化处理。例如,可以在获取图像设备句柄后,采用OpenCV库中在内存中处理图像。

在一个实施例中,可以采用OPENCV图像处理库与windows GDI 绘图方法StretchBlt想结合进行截屏,相对于一般情况下单纯的使用GDI方式进行截屏,将截取的图像直接在内存中处理,减少了IO次数,提高图像处理效率,减少了保存文件到磁盘,与图像拉伸缩放拷贝到目标设备的过程,提升了图像处理的效率。

操作S1213可以是操作S1020的一个具体实施例,其中,具体的优化处理过程可以参考关于操作S1020的相关描述。

接下来在操作S320识别目标区域的图像中的结算金额,然后在操作S330中以识别出的结算金额作为支付信息,进行收款。操作S320 和操作S330的具体描述可以参考前述介绍,此处不再赘述。

图13示意性示出了根据本公开再一实施例的收款方法的流程图。需要说明的是,图13所示仅为本公开的一个示例性应用实例,不对本公开构成限定。

如图13所示,该实施例的收款方法的流程如下。

在步骤S1301,打开需要设置结算金额文本的收银系统的软件系统。

在步骤S1302,在界面上设置金额文本信息。

在步骤S1303,根据界面截屏区域基本情况进行对应处理。具体可以分为三类情况进行处理,分别对应于步骤S1314、步骤S1324、以及步骤S1334所在的分支。

第一种情况,在步骤S1314,判断出在目标区域的图像存在干扰,例如模糊、雪花等噪声干扰的情况下,可以通过步骤S1315和步骤 S1316进行处理。

具体地,在步骤S1315,针对截取的目标区域采用截屏图像优化,尝试去掉干扰。

在步骤S1316,判断是否能够优化掉干扰。如果优化失败无法去掉干扰,则在步骤S1307中结束目标区域的图像的抓取过程。如果优化成功,则在步骤S1325中识别截取到的目标区域的图像中的结算金额文本。

第二种情况,在步骤S1324,判断出在目标区域的图像中无任何干扰,且该目标区域的位置固定。则在步骤S1325,采用基本图像识别技术,识别目标区域的图像中的结算金额。

第三种情况,在步骤S1334,判断出目标区域的图像在屏幕中的展示位置会随机移动。则可以通过步骤S1335和步骤S1336进行处理。

在步骤S1335,尝试确定一个与展示金额文本区域的相对位置固定,且图像内容不变的区域,并以该区域的图像作为特征图像。

在步骤S1336,确定是否能够确定一个特征图像的位置。如果无法找到一个内容不变的特征图像区域,则在步骤S1307中结束目标区域的图像的抓取过程。如果找到特征位置,可以通过相对于特征图像的位置找到目标区域的截屏位置,则可以截取目标区域的图像。

然后在步骤S1325,采用基本图像识别技术,识别目标区域的图像中的结算金额。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,获取模块210、识别模块220、收款模块230、以及优化模块的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块210、识别模块220、收款模块 230、以及优化模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块210、识别模块220、收款模块 230、以及优化模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图14示意性示出了根据本公开实施例的收款设备的计算机系统 1400结构图。图14示出的计算机系统1400仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图14所示,根据本公开实施例的计算机系统1400包括处理器 1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(RAM)1403中的程序而执行各种适当的动作和处理。处理器1401例如可以包括通用微处理器(例如 CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1401还可以包括用于缓存用途的板载存储器。处理器1401可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1403中,存储有计算机系统1400操作所需的各种程序和数据。处理器1401、ROM 1402以及RAM1403通过总线1404彼此相连。处理器1401通过执行ROM 1402和/或RAM1403中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1402和RAM 1403以外的一个或多个存储器中。处理器1401也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,计算机系统1400还可以包括输入/输出(I/O) 接口1405,输入/输出(I/O)接口1405也连接至总线1404。计算机系统1400还可以包括连接至I/O接口1405的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器 1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分 1408。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被处理器1401执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该没备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1402和/或RAM 1403和/或ROM 1402和RAM 1403以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的图像识别方法。

在该计算机程序被处理器1401执行时,执行本公开实施例的系统 /装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1409被下载和安装,和/或从可拆卸介质1411被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++, python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网 (LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 收款方法、收款装置、及收款设备
  • 收款码台、收款系统及收款码扫码计数方法
技术分类

06120112938903