水印的去除方法、装置和服务器
技术领域
本说明书属于互联网技术领域,尤其涉及一种水印的去除方法、装置和服务器。
背景技术
在工作、生活中,人们涉及到的许多文本文件,例如法务合同、规章制度、通知、说明书等大多都是纸质版的,通常需要先将上述纸质版的文本文件通过扫描、拍照等方式得到对应的电子档的图像数据,以方便保存、管理,以及后续相关的数据处理。
例如,某公司会将所签署的纸质版合同文本先扫描成电子档的图像数据,保存在公司的电子数据库中。进而可以通过OCR识别(即光学字符识别)对上述图片数据中所包含的合同的具体文本内容,例如,合同里的关键标题或关键条款进行识别、提取,以获取公司较为关注合同内容中的文本信息。
但是,基于安全性的考虑和版权要求,通过扫描等方式得到的包含有待处理文本的图像数据中往往还会携带有强制设置的水印信息(例如,某公司的名称或标志)。这时如果对上述图像数据直接进行OCR识别,会将水印信息所表征的字符一并识别出来,并夹杂在所识别出的合同内容的文本信息中,影响对合同内容的文本信息的整理和获取。因此,需要先将图像数据中的水印信息进行去除处理,避免水印信息的干扰,以便后续能对图像数据进行较为精确的OCR识别等数据处理。
而现有的水印的去除方法大多实施时相对较为繁琐、不够精确,因此,亟需一种能高效、精确的去除水印的方法。
发明内容
本说明书目的在于提供一种水印的去除方法、装置和服务器,以解决现有方法中存在的去除水印效率低、效果差的技术问题,达到能快速、精确地确定出图像数据中组成水印信息的水印像素点,并进行有效的水印去除。
本说明书提供的一种水印的去除方法、装置和服务器是这样实现的:
一种水印的去除方法,包括:获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息;获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值;根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点;根据所述水印像素点,去除所述图像数据中的水印信息。
一种水印的去除装置,包括:获取模块,用于获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息;第一确定模块,用于获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值;第二确定模块,用于根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点;去除模块,用于根据所述水印像素点,去除所述图像数据中的水印信息。
一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息;获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值;根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点;根据所述水印像素点,去除所述图像数据中的水印信息。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息;获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值;根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点;根据所述水印像素点,去除所述图像数据中的水印信息。
本说明书提供的一种水印的去除方法、装置和服务器,由于通过先对图像数据中的像素点的色彩数值进行聚类处理,得到多种像素点类型所分别对应的预设类簇的中心点的色彩数值;再根据预设类簇的中心点的色彩数值,从图像数据中的像素点中确定出水印像素点,并有针对性地对水印像素点进行处理,以去除水印,从而解决了现有方法中存在的去除水印效率低、效果差的技术问题,达到能快速、精确地定位出图像数据中组成水印信息的水印像素点,并针对性地进行有效的水印去除。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是在一个场景示例中,应用本说明书实施例提供的水印的去除方法的一种实施例的示意图;
图2是在一个场景示例中,应用本说明书实施例提供的水印的去除方法的一种实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的水印的去除方法的一种实施例的示意图;
图4是本说明书实施例提供的水印的去除方法的流程的一种实施例的示意图;
图5是本说明书实施例提供的服务器的结构的一种实施例的示意图;
图6是本说明书实施例提供的水印的去除装置的结构的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到现有的水印去除方法在实施时,往往无法准确地确定出能够有效表征水印像素点的色彩数值。大多需要根据以往的处理经验,设置一个近似的色彩数值作为测试值,再根据该测试值进行水印信息的去除处理;根据去除效果,再反过来对所设置的测试值进行多次的调整、测试,直到水印的去除效果达到处理要求为止。可见,现有的水印去除方法实施时只能依据以往的处理经验猜测可能表征水印像素点的色彩数值,再进行多次的调整优化。即,处理过程相对比较盲目,无法快速、精确地确定出水印像素点的色彩数值,进而不能高效地定位出水印像素点,导致实施过程相对较为繁琐,也容易出现误差,存在的去除水印效率低、效果差的问题。
针对产生上述问题的根本原因,本说明书考虑到通常包含有待处理文本的图像数据所涉及到的像素点类型(或者像素点的色彩数值的区域范围)相对较少、区别性也较明显,因此可以通过聚类的方法,自动聚类得到对应不同像素点类型的多种预设类簇的中心点的色彩数值;进而可以从多种预设类簇的中心点的色彩数值中筛选出对应水印信息的色彩数值;再根据上述对应水印信息的色彩数值快速、准确地锁定出图像数据中的水印像素点,并有针对性地对上述水印像素点进行处理,达到高效、精确地去除水印信息的效果。
本说明书实施方式提供了一种水印的去除方法,所述水印的去除方法具体可以应用于包含有服务器的系统架构中。具体实施时,可以通过向该系统中的服务输入包含有待处理文本的图像数据,由服务根据上述图像数据,获取像素点的色彩数值,并通过聚类的方法确定出对应多个不同像素点类型的多个预设类簇的中心点的色彩数值;进而可以根据预设类簇的中心点的色彩数值,从像素点中确定出水印像素点,并作针对性处理,以去除图像数据中的水印信息。
在本实施例中,所述服务器可以是一种应用于业务系统后台一侧,能够实现数据获取、数据处理等功能的后台服务器。具体的,所述服务器可以为一个具有数据运算、存储功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述服务器的数量。所述服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
在本场景示例中,A公司在与合作方签订完纸质合同后,需要先将纸质合同扫描成电子档的图像数据,便于后续的合同保存和管理等。
在扫描纸质合同的过程中,出于安全性和版权的要求,通常会强制在扫描得到的图像数据中加入A公司的水印信息。可以参阅图1所示。
上述水印信息具体可以理解为一种向被保护的数据对象嵌入的能证明版权归属或用于跟踪侵权行为的字符信息。其中,上述水印信息区别于图像数据中表征具体文本内容的文本信息,其颜色通常相对于文本信息颜色会更浅,但比图像背景的颜色会更深。具体的,上述水印信息所表征的信息内容可以是公司或产品的名称、logo或编号,也可以是一段用于证明身份的序列码,还可以是用于区分其他公司或产品的图形符号。当然,需要说明的是,上述所列举的水印信息只是为了更好地说明本说明书实施方式。具体实施时,根据具体的应用场景和需求,还可以是其他类型的包含有其他信息内容的水印信息。对于上述水印信息的具体形式和内容,本说明书不作限定。
公司A的员工扫描纸质合同后,会得到上述包含有合同文本,同时又携带有水印信息的图像数据后。进而可以先将上述图像数据输入负责水印去除的服务器。
服务器在接收到上述图像数据,具体处理时,可以先遍历图像数据中的各个像素点,得到图像数据中的各个像素点的色彩数值;再根据图像中像素点的色彩数值,通过聚类处理,确定出对应不同像素点类型的多个预设类簇的中心点的色彩数值。
其中,上述像素点具体可以理解为构成图像数据的基本单元(例如一个小方格)。具体的,每一个像素点都对应图像数据中的一个具体位置,并分配有对应的色彩数值。可以参阅图2所示,分布于不同位置的、分配有对应的色彩数值的像素点可以通过组合表征图像数据中具体的合同内容的文本信息、图像背景,以及水印信息。
上述色彩数值具体可以包括基于颜色标准确定的RGB值。其中,上述RGB值具体可以包含有分别对应于红色(即R)通道、绿色(即G)通道、蓝色(即B)通道这3个通道的分量数据。通过上述3个分量数据的叠加可以确定出像素点所对应的具体颜色。例如,RGB值(255,255,255)可以用于确定像素点所对应的颜色为白色。
上述预设类簇具体可以理解为一种色彩数值的区域范围,对应于图像数据中的一种像素点类型。对于一种预设类簇,即同一类型中的不同像素点的颜色较为接近,属于同一个色彩数值的区域范围。不同预设类簇对应不同像素点类型,属于不同的色彩数值区域范围,像素点的颜色会存在差异。具体的,可以参阅图2所示,1号像素点和2号像素点的颜色几乎相同,都属于浅灰色,这两个像素点的色彩数值位于同一个色彩数值的区域范围内,对应同一种像素点类型。而1号像素点和3号像素点的颜色明显不同,3号像素点的颜色为黑色,区别于浅灰色,即这两个像素点的色彩数值不是位于同一种色彩数值的区域范围内,因此,不是同一种像素点类型。
上述预设类簇的中心点的色彩数值具体可以理解为一种能用于有效判定像素点的色彩数值是否位于预设类簇所对应的色彩数值的区域范围内的判定数值。通常同一个预设类簇中多个像素点的颜色可以不完全相同,允许其色彩数值在较小范围内存在差异,但要求属于对应的一个范围区间。例如,色彩数值为(255,256,255)的像素点和色彩数值为(255,255,255)的像素点的色彩数值虽然不是完全相同,但差异值在允许的较小范围内,因此都属于同一个色彩数值的区域范围中,属于同一个预设类簇,同一像素点类型。具体实施时,可以将像素点的色彩数值与上述判定数值进行比较,两者的差异较小,小于预设的差异阈值,则可以判定该像素点的色彩数值属于对应的范围区间内,属于预设类簇。具体的,上述预设类簇的中心点的色彩数值可以是该预设类簇中的多个像素点的色彩数值基于数量的加权平均值。当然,需要说明的是,上述所列举的预设类簇的中心点的色彩数值只是一种示意性说明。具体实施时,根据具体情况也可以将其他类型的平均值作为预设类簇的中心点的色彩数值。对此,本说明书不作限定。
参阅图2所示可知,整体上看,图像数据中构成合同内容的文本信息的像素点的颜色大多近似黑色,构成水印信息的像素点的颜色大多近似浅灰色,构成图像背景的像素点的颜色大多近似白色。可见对于包含有合同文本的图像数据所涉及到的像素点类型(即可能对应的预设类簇的种类)相对较少,只有上述3种,即对应3种像素点类型。因此,服务器可以将预设类簇的种类数设置为3,后续再通过聚类处理,以便快速地根据图像数据中的像素点的色彩数值确定出对应各个像素点类型的,能够较为准确、有效地用于判定像素点是否位于预设类簇所对应的色彩数值的区域范围的判定数值,即预设类簇的中心点的色彩数值。
在本场景示例中,在具体确定上述图像数据中对应的3种预设类簇的中心点的色彩数值时,考虑到合同的文本内容通常较多,例如会包含几十甚至上百页的文本内容,相应的,包含有合同文本的图像数据也会包含有几十甚至上百张图像。为了提高处理效率,可以参阅图3所示,先从所述图像数据所包含的多张图像(或图片)中先选出一张携带有水印信息,同时也包含有合同的文本内容的图像作为样本图像。再从样本图像中的文本区域中提取任意一个像素点作为对应合同内容的文本信息的预设类簇(记为第一预设类簇)的初始点,并将该像素点的色彩数值作为该预设类簇的初始点的色彩数值。同理,从水印信息区域中提取任意一个像素点作为对应水印信息的预设类簇(记为第二预设类簇)的初始点,并将该像素点的色彩数值作为该预设类簇的初始点的色彩数值。从背景区域中提取任意一个像素点作为该预设类簇(记为第三预设类簇)的初始点,并将该像素点的色彩数值作为该预设类簇的初始点的色彩数值。通过上述方式提取得到的初始点的色彩数值相对更接近所要确定的预设类簇的中心点的色彩数值;利用这种初始点的色彩数值后续聚类处理时,相对能更快速、更准确地得到对应的预设类簇的中心点的色彩数值,提高处理效率。当然,如果对处理效率的要求较低,也可以不作区分,从图像数据中任取3个像素点的色彩数值作为上述3个预设类簇的初始点的色彩数值。对此,本说明书不作限定。
进一步,考虑到对于合同类较为正式的文本大多都有较为严格的格式要求,因此在包含有合同文本的图像数据中,表征合同内容的文本区域、水印信息区域和背景区域的位置会相对较为固定。
例如,参阅图1所示,水印信息区域大多会固定位于图像中的右下角位置处,而合表征同内容的文本区域大多会固定位于图像中的中间位置处,背景区域则大多固定位于图像中靠近图像边界的位置处。
因此,具体实施时,根据待处理文本的格式要求,可以只对图像数据中根据格式要求所限定的位置处进行检索,以快速地确定出相应的区域。
例如,可以快速地检索图像数据中间位置区域作为文本区域,以提取对应的第一预设类簇的初始点的色彩数值。检索图像数据中单的右下角位置区域作为水印信息区域,以提取对应的第二预设类簇的初始点的色彩数值。检索图像数据中靠近比简介的位置区域作为背景区域,以提取对应的第三预设类簇的初始点的色彩数值。
当然,需要说明的是,上述所列举的根据格式要求所限定的不同区域的对应位置只是一种示意性说明。具体实施时,由于对应不同的文本,格式要求也会存在差异,导致根据格式要求所确定的固定位置也会存在变动。因此,对于上述不同区域在图像数据中所对应的具体位置,本说明书不作限定。
在得到上述第一预设类簇的初始点的色彩数值、第二预设类簇的初始点的色彩数值和第三预设类簇的初始点的色彩数值后,进而可以根据上述多个预设类簇的初始点的色彩数值和所述图像数据所包含的各个像素点的色彩数值,通过多次迭代和聚类处理,得到多个较为稳定的色彩数值作为所述多个预设类簇的中心点的色彩数值。
具体的,服务器可以分别计算图像中的像素点除上述3个预设类簇的初始点以外的剩余像素点分别与上述3个预设类簇的初始点的色彩数值的差值,并根据差值大小,将剩余像素点分别归类到差值相对较小的预设类簇的初始点所在的类簇中。完成对所有剩余像素点的归类后,再重新分别计算上述3个预设类簇所包含的多个像素点的色彩数值的均值。通过多次的迭代和归类处理(例如迭代和归类2~3次)直至新得到的预设类簇的像素点的色彩数值的均值与上一次得到的预设类簇的像素点的色彩数值的均值相等,或差异程度小于指定的阈值程度,即数值达到稳定,则迭代结束,并将最终得到的预设类簇的像素点的色彩数值的均值作为预设类簇的中心点的色彩数值。
服务器在确定出上述3种预设类簇的中心点的色彩数值后,实际上还无法确定出上述3种预设类簇的中心点的色彩数值中的各个色彩数值分别对应实际中的哪个预设类簇或者像素点类型。即可以理解为这时服务器只是得到了3种不同的色彩数值,例如第一数值、第二数值和第三数值,但服务器无法确定出上述哪种数值为与表征合同文本内容的文本像素点所对应的预设类簇(即第一预设类簇)的中心点的色彩数值、水印像素点所对应的预设类簇(即第二预设类簇)的中心点的色彩数值、背景像素点所对应的预设类簇(即第三预设类簇)的中心点的色彩数值。
进一步,又考虑到对于包含有合同文本的图像数据,对应不同类簇的不同类型的像素点表征的信息不同,在图像数据中的分布也会存在差异。
具体的,一个图像数据中往往包含有多张不同的图像(或图片)。水印像素点区别于文本像素点和背景像素点,通常每一页(对应于每一张图像)水印信息的分布数量大多是固定的。因此,每一张图像中的水印像素点的分布个数往往是相同、固定的。而每张图像中的文本像素点和背景像素点的个数则可能会存在相对较大变化。例如,第一张图像中水印像素点的个数为200,文本像素点的个数为1270,背景像素点的个数为1530。而第二张图像中由于表征合同内容的文本信息相对较多,文本像素点的个数也相对较多,例如共计2123;相应的,由于文本信息的增多,图像中空白的背景也会相对减少,背景像素点的个数也会相对较少,例如共计675;但由于每张图像中的水印信息数量是固定的不变,都为一个,因此水印像素点的个数为202,和第一张图像相比几乎没有变化。
因此,具体实施时,可以通过先统计不同张图像中与各个色彩数值匹配(或者接近)的像素点(即属于预设类簇的中心点的像素点的色彩数值所对应的预设类簇的像素点)的每张图像中分布个数的变化情况,再将个数变化情况较小的那个色彩数值确定为与水印像素点对应的预设类簇的中心点的色彩数值。
在本场景示例中,为了能从所得到的3个色彩数值中确定出对应水印像素点的预设类簇的中心点的色彩数值,具体实施时,服务器可以先统计所述图像数据中的各张图像中的各个预设类簇的像素点的个数,即统计色彩数值与上述3个色彩数值匹配的像素点的个数,作为对应预设类簇的像素点的个数。例如,对于图像数据中的某一个像素点,分别计算该像素点的色彩数值与上述3个色彩数值之间的差值,将3个色彩数值中与该像素点之间的差值最小的色彩数值确定为匹配的色彩数值,即该像素点为与该色彩数值匹配的像素点,是属于该色彩数值所对应的预设类簇的像素点,进而可以将该预设类簇的像素点的个数进行加1操作。需要说明的是,这里的预设类簇只是一种区别其他类簇的代称,还不能确定出对应的实际的像素点类型。再根据所述图像数据中的各张图像中各个预设类簇的像素点的个数,计算各个预设类簇的像素点的个数的标准差。其中,上述预设类簇的像素点的像素点的个数标准差具体可以用于反映出不同类簇的像素点在图像数据中的不同张图像的分布点数的变化情况。通常如果一个预设类簇的像素点在不同张图像中的分布点数相同或相近,则对应的标准差较小,甚至趋近于0。相对的,如果一个预设类簇的像素点在图像数据中不同张图像中的分布点数差异较大,则对应的标准差会相对较大。考虑到水印像素点区别于文本像素点和背景像素点,在不同张图像中的分布数量较为固定,对应的标准差会比其他两种要小。因此,可以将数值最小的标准差所对应的预设类簇的像素点确定为水印像素点。
通过上述方式可以从之前确定的3个色彩数值中确定出对应于水印像素点的预设类簇的中心点的色彩数值,进而可以将于该色彩数值接近或匹配的像素点确定为水印像素点,又由于每个像素点携带有对应的位置信息,因此也就在图像数据中定位出了构成水印信息的像素点位置。
在确定出图像数据中的水印像素点后,服务器可以只针对所确定出的上述水印像素点进行处理。具体的,可以将上述水印像素点的色彩数值统一修改为预设背景的色彩数值,从而可以使得图像数据中原本表征水印信息的区域变为不含有字符图形的空白区域,去除了原来的水印信息,不再对后续文本信息的提取造成干扰。
其中,上述预设背景的色彩数值可以理解为一种与图像数据中的图像背景的颜色所对应的色彩数值相同或相近的色彩数值。
具体实施时,上述预设背景的色彩数值可以是默认的背景色彩数值。例如,通常包含有待处理文本的图像数据的图像背景的颜色大多为白色,因此可以将表征白色的色彩数值(255,255,255)作为默认的背景色数值。
在通过上述方式完成对A公司的包含有合同文本的扫描图片的图像数据的水印去除后,水印信息不会再对后续的文本信息的识别、提取造成干扰。这时可以对去除水印后的图像数据进行OCR识别,提取出图像中指定的文本信息,例如,指定的合同标题和合同条款等。进而可以将上述提取出来的合同标题和合同条款等存储并展示于A公司的法务管理平台,便于平台对该合同执行的监管和跟进,达到高效、智能化地自动管控法务合同的目的。
在另一个场景示例中,考虑到有些包含有待处理文本的图像数据的图像背景的颜色可能与默认的背景色彩数值存在较大的差异。例如,实际图像数据的图像背景的颜色为淡绿色,而默认的背景色彩数值对应的是白色。这时不能直接利用默认的背景色彩数值作为预设背景的色彩数值对水印像素点进行修改处理。可以根据图像数据的具体情况,重新确定预设背景的色彩数值。
又考虑到在确定与水印像素点对应的预设类簇的中心点的色彩数值时,还会一并确定出其他的预设类簇的中心点的色彩数值。其中,上述其他的预设类簇的中心点的色彩数值中会有一种色彩数值是与图像数据中的背景像素点对应的预设类簇的中心点的色彩数值。因此,可以从上述其他的预设类簇的中心点的色彩数值确定出与背景像素点对应的预设类簇的中心点的色彩数值作为预设背景的色彩数值。
具体的,考虑到通常背景像素点相对于文本像素点颜色会更亮、更浅,例如,图像背景的颜色大多为白色、浅白色、浅绿色等等。而文本像素点的颜色相对会更深,例如,为黑色、深灰色等等。表现在色彩数值,背景像素点的色彩数值相对于文本像素点的色彩数值会更大。因此,具体实施时,可以通过比较多个预设类簇的中心点的色彩数值的数值大小;根据比较结果,从多个预设类簇的中心点的色彩数值中筛选出数值相对最大的色彩数值作为所述预设背景的色彩数值。进而可以将水印像素点的色彩数值修改为上述预设背景的色数值,完成水印信息的去除。
由上述场景示例可见,本说明书提供的水印的去除方法,由于通过先对图像数据中的像素点的色彩数值进行聚类处理,得到多种类型的像素点所分别对应的预设类簇的中心点的色彩数值;再根据预设类簇的中心点的色彩数值,从图像数据中的像素点中确定出水印像素点,并有针对性地对水印像素点进行处理,以去除水印,从而解决了现有方法中存在的去除水印效率低、效果差的技术问题,达到能快速、精确地定位出图像数据中组成水印信息的水印像素点,并进行有效的水印去除。
参阅图4所示,本说明书实施例提供了一种水印的去除方法,其中,该方法具体应用于服务器一侧。具体实施时,该方法可以包括以下内容:
S41:获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息。
在本实施例中,上述水印信息具体可以理解为一种向被保护的数据对象嵌入的能证明版权归属或用于跟踪侵权行为的字符信息。其中,上述水印信息区别于图像数据中表征具体文本内容的文本信息,其颜色通常相对于文本信息颜色会更浅,但比图像背景的颜色会更深。具体的,上述水印信息所表征的信息内容可以是公司或产品的名称、logo或编号,也可以是一段用于证明身份的序列码,还可以是用于区分其他公司或产品的图形符号。当然,需要说明的是,上述所列举的水印信息只是为了更好地说明本说明书实施方式。具体实施时,根据具体的应用场景和需求,还可以是其他类型的包含有其他信息内容的水印信息。对于上述水印信息的具体形式和内容,本说明书不作限定。
在本实施例中,上述包含有待处理文本的图像数据具体可以包括:合同的扫描图片,和/或,合同的照片等。当然,需要说明的是,上述所列举的包含有合同文本的图像数值只是为了更好地说明本说明书实施方式。具体实施时,根据具体的应用场景和使用需求,还可以是包含有制度文本、通知文本的图像数据。对此,本说明书不作限定。
在本实施例中,出于版权和安全性考虑,或者其他类型的处理需要,上述图像数据中除了包含有待处理文本的文本内容外,还会同时携带有相应的水印信息。这类水印信息后续会对文本信息的识别、提取造成干扰,因此需要对图像数据中的水印信息进行去除处理。
S43:获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值。
在本实施例中,上述像素点具体可以理解为构成图像数据的基本单元(例如一个小方格)。具体的,每一个像素点都对应图像数据中的一个具体位置,并分配有对应的色彩数值。分布于不同位置的、分配有对应的色彩数值的像素点可以通过组合表征图像数据中具体的合同内容的文本信息、图像背景,以及水印信息。
在本实施例中,上述色彩数值具体可以包括基于颜色标准确定的RGB值。其中,上述RGB值具体可以包含有分别对应于红色(即R)通道、绿色(即G)通道、蓝色(即B)通道这3个通道的分量数据。通过上述3个分量数据的叠加可以确定出像素点所对应的具体颜色。当然,需要说明的是,上述所列举的RGB值只是一种示意性说明。具体实施时,根据具体情况,可以引入其他类型的数据值作为色彩数值。例如,还可以将像素点的灰度值作为上述色彩数值。对此,本说明书不作限定。
在本实施例中,上述预设类簇具体可以理解为一种色彩数值的区域范围,对应于图像数据中的一种像素点类型。对于一种预设类簇,即同一类型中的不同像素点的颜色较为接近,属于同一个色彩数值的区域范围。不同预设类簇对应不同像素点类型,属于不同的色彩数值区域范围,像素点的颜色会存在差异。
在本实施例中,上述预设类簇的中心点的色彩数值具体可以理解为一种能用于有效判定像素点的色彩数值是否位于预设类簇所对应的色彩数值的区域范围内的判定数值。也可以理解为是一种能够较为有效、全面地反映所对应的色彩数值的区域范围的数值特征的色彩数值。具体的,上述预设类簇的中心点的色彩数值可以是该预设类簇中多个像素点的色彩数值基于数量的加权平均值。当然,需要说明的是,上述所列举的预设类簇的中心点的色彩数值只是一种示意性说明。具体实施时,根据具体情况也可以将其他类型的平均值作为预设类簇的中心点的色彩数值。对此,本说明书不作限定。
在本实施例中,上述多个预设类簇的中心点的色彩数值具体可以是3个预设类簇的中心点的色彩数值。当然,上述所列举的3个只是一种示意性说明。具体实施时,根据图像数据所包含的颜色的整体情况,也可以是4或者5个等预设类簇的中心点的色彩数值。对此,本说明书不作限定。
在本实施例中,上述获取所述图像数据中的像素点的色彩数值,具体实施时,可以包括:遍历图像数据中的各个像素点,得到图像数据中各个像素点的色彩数值。
在本实施例中,上述根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值,具体实施时,可以包括:对所述图像数据中的像素点的色彩数值进行聚类处理,得到多个预设类簇,以及对应的多个预设类簇的中心点的色彩数值。
在本实施例中,具体实施时,服务器可以从所述图像数据中确定一张图像作为样本图像;根据所述样本图像,确定多个预设类簇的初始点的色彩数值,其中,所述多个预设类簇的初始点包括:文本区域中的像素点、水印信息区域中的像素点和背景区域中的像素点;根据所述多个预设类簇的初始点的色彩数值和所述图像数据,通过多次迭代处理,得到多个色彩数值作为所述多个预设类簇的中心点的色彩数值。
在本实施例中,上述文本区域具体可以理解为包含有用于表征待处理文本的文本内容的文本像素点的范围区域;上述水印信息区域具体可以理解为包含有用于表征水印信息的水印像素点的范围区域;上述背景区域具体可以理解为不包含文本像素点和水印像素点,只包含有表征图像背景的背景像素点的范围区域。
在本实施例中,考虑到通常对于较为正式的文本,例如,合同、通知或者规章制度等,往往具有较为严格的各式要求,以限定文本中各个区域所处的位置。因此,具体实施时,可以根据待处理文本的各式要求,确定相应位置进行检索,以快速地从上述区域中分别得到像素点作为对应的预设类簇的初始点。
在本实施例中,上述根据所述多个预设类簇的初始点的色彩数值和所述图像数据,通过多次迭代处理,得到多个色彩数值作为所述多个预设类簇的中心点的色彩数值,具体实施时,可以包括以下内容:分别计算图像数据中的像素点除上述多个预设类簇的初始点以外的剩余像素点分别与上述多个预设类簇的初始点的色彩数值的差值,并根据差值大小,将剩余像素点分别归类到差值相对较小的预设类簇的初始点所在的类簇中。完成对剩余像素点的归类后,再重新分别计算上述得到的多个预设类簇所包含的多个像素点的色彩数值的均值。通过多次的迭代和归类处理(例如迭代和归类2~3次)直至新得到的预设类簇的像素点的色彩数值的均值与上一次得到的预设类簇的像素点的色彩数值的均值相等,或差异程度小于指定的阈值程度,判断数值已经达到稳定,结束迭代,并将最终得到的预设类簇的像素点的色彩数值的均值作为预设类簇的中心点的色彩数值。
在本实施例中,上述根据所述多个预设类簇的初始点的色彩数值和所述图像数据,通过多次迭代处理,得到多个色彩数值作为所述多个预设类簇的中心点的色彩数值,具体实施时,还可以包括通过k-means算法(一种聚类算法)对上述图像数据中的像素点的色彩数值自动进行聚类,得到多个预设类簇的中心点的色彩数值。当然,需要说明的是,上述所列举的k-means算法只是为了更好地说明本说明书实施方式。具体实施时,根据具体情况和精度要求,也可以采用其他合适的聚类算法得到多个预设类簇的中心点的色彩数值。对此,本说明书不作限定。
S45:根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点。
在本实施例中,上述水印像素点具体可以理解为构成图像数据中的水印信息像素点。其中,水印像素点的色彩数值位于与水印对应的色彩数值的区域范围内。具体的,上述水印像素点为色彩数值与水印对应的预设类簇的中心点的色彩数值接近或匹配的像素点。
在本实施例中,上述根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,具体实施时,可以包括:先统计不同张图像中与各个色彩数值匹配(或者接近)的像素点(即属于预设类簇的中心点的像素点的色彩数值所对应的预设类簇的像素点)的每张图像中分布个数的变化情况;再根据个数变化情况,将个数变化情况较小的那个色彩数值确定为与水印像素点对应的预设类簇的中心点的色彩数值;并将与该预设类簇的中心点的色彩数值接近或匹配的像素点确定为水印像素点,从而定位出了图像数据中表征水印信息的像素点。
S47:根据所述水印像素点,去除所述图像数据中的水印信息。
在本实施例中,在确定出水印像素点后,可以对水印像素点的色彩数值进行针对性的处理,以去除图像数据中的水印信息。
在本实施例中,具体实施时,可以将水印像素点的色彩数值修改为预设背景的色彩数值,达到去除水印的效果。
在本实施例中,上述预设背景的色彩数值可以理解为一种与图像数据中的图像背景的颜色所对应的色彩数值相同或相近的色彩数值。
在本实施例中,上述预设背景的色彩数值具体可以是默认的背景色彩数值。例如,通常包含有待处理文本的图像数据的图像背景的颜色大多为白色,因此系统可以将表征白色的色彩数值(255,255,255)设置为默认的背景色数值。
在本实施例中,由于通过先对图像数据中的像素点的色彩数值进行聚类处理,得到多种类型的像素点所分别对应的预设类簇的中心点的色彩数值;再根据预设类簇的中心点的色彩数值,从图像数据中的像素点中确定出水印像素点,并有针对性地对水印像素点进行处理,以去除水印,从而解决了现有方法中存在的去除水印效率低、效果差的技术问题,达到能快速、精确地定位出图像数据中组成水印信息的水印像素点,并进行有效的水印去除。
在一个实施例中,在根据所述水印像素点,去除所述图像数据中的水印信息后,所述方法具体实施时,还可以包括以下内容:对去除水印后的图像数据进行OCR(光学字符识别)识别,从去除水印后的图像数据中提取得到待处理文本的文本信息,以便后续的数据处理。当然,需要说明的是,上述所列举的对去除水印后的图像数据进行OCR识别只是一种示意性说明。具体实施时,根据具体情况也可以对去除水印后的图像数据进行合适的数据处理。对此,本说明书不作限定。
在一个实施例中,上述根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值,具体实施时,可以包括以下内容:从所述图像数据中确定一张图像作为样本图像;根据所述样本图像,确定多个预设类簇的初始点的色彩数值,其中,所述多个预设类簇的初始点包括:文本区域中的像素点、水印信息区域中的像素点和背景区域中的像素点;根据所述多个预设类簇的初始点的色彩数值和所述图像数据,通过多次迭代处理,得到多个色彩数值作为所述多个预设类簇的中心点的色彩数值。
在本实施例中,考虑到通常包含有待处理文本的图像数据的数据量相对较多,例如,可能包含有上百张相应的图片。为了提高处理效率,可以从包含有多张图像的图像数据中选择一张图像作为样本图像,以获取多个预设类簇的初始点的色彩数值。其中,上述样本图像具体可以为图像数据中任意一张包含有待处理文本的文本信息,同时携带有水印信息的图像。
在一个实施例中,上述根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点,具体实施时,可以包括以下内容:根据所述多个预设类簇的中心点的色彩数值和所述图像数据中的像素点的色彩数值,确定所述图像数据中像素点所对应的预设类簇;统计所述图像数据中的各张图像中的各个预设类簇的像素点的个数;根据所述图像数据中的各张图像中各个预设类簇的像素点的个数,计算各个预设类簇的像素点的个数的标准差;将数值最小的标准差所对应的预设类簇的像素点确定为水印像素点。
在本实施例中,上述预设类簇的像素点的像素点的个数标准差具体可以用于反映出不同类簇的像素点在图像数据中的不同张图像的分布点数的变化情况。通常如果一个预设类簇的像素点在不同张图像中的分布点数相同或相近,则对应的标准差较小,甚至趋近于0。相对的,如果一个预设类簇的像素点在图像数据中不同张图像中的分布点数差异较大,则对应的标准差会相对较大。考虑到水印像素点区别于文本像素点和背景像素点,在不同张图像中的分布数量较为固定,对应的标准差会比其他两种要小。因此,可以将数值最小的标准差所对应的预设类簇的像素点确定为水印像素点。
在一个实施例中,上述根据所述多个预设类簇的中心点的色彩数值和所述图像数据中的像素点的色彩数值,确定所述图像数据中像素点所对应的预设类簇,具体实施时,可以包括以下内容:计算像素点的色彩数值分别与所述多个预设类簇的中心点的色彩数值的差值;将数值最小的差值所对应的预设类簇确定为所述像素点所对应的预设类簇。
在本实施例中,具体实施时,对于当前每一个像素点进行判断时,可以先计算当前像素点的色彩数值分别与多个预设类簇的中心点的色彩数值中的各个色彩数值的差值;将差值最小的所对应的预设类簇的中心点的色彩数值确定为与当前像素点匹配或接近的预设类簇的中心点的色彩数值,即确定当前像素点确定为属于该预设类簇。
在一个实施例中,上述根据所述水印像素点,去除所述图像数据中的水印信息,具体实施时,可以包括以下内容:确定预设背景的色彩数值;将所述图像数据中水印像素点的色彩数值修改为所述预设背景的色彩数值。
在本实施例中,上述预设背景的色彩数值可以理解为一种与图像数据中的图像背景的颜色所对应的色彩数值相同或相近的色彩数值。
在本实施例中,上述预设背景的色彩数值可以是系统根据以外处理经验生成的针对常见图像数据的图像背景颜色的默认的背景色彩数值。例如,考虑到通常包含有待处理文本的图像数据的图像背景的颜色大多为白色,可以将表征白色的色彩数值(255,255,255)作为默认的背景色数值。
在本实施例中,考虑到有些包含有待处理文本的图像数据的图像背景的颜色可能与默认的背景色彩数值存在较大的差异。例如,实际图像数据的图像背景的颜色为淡绿色,而默认的背景色彩数值对应的是白色。这时不能直接利用默认的背景色彩数值作为预设背景的色彩数值对水印像素点进行修改处理。可以根据图像数据的具体情况,确定针对当前图像数据的预设背景的色彩数值;再利用所确定的预设背景的色彩数值修改水印像素点的色彩数值。
在一个实施例中,上述确定预设背景的色彩数值,具体实施时可以包括以下内容:从所述多个预设类簇的中心点的色彩数值中筛选出数值最大的色彩数值作为所述预设背景的色彩数值。
在本实施例中,考虑到通常背景像素点相对于文本像素点颜色会更亮、更浅,例如,图像背景的颜色大多为白色、浅白色、浅绿色等等。而文本像素点的颜色相对会更深,例如,为黑色、深灰色等等。表现在色彩数值,背景像素点的色彩数值相对于文本像素点的色彩数值的数值会更大。因此,具体实施时,可以通过比较多个预设类簇的中心点的色彩数值的数值大小;根据比较结果,从多个预设类簇的中心点的色彩数值中筛选出数值相对最大的色彩数值作为所述预设背景的色彩数值。进而可以将水印像素点的色彩数值修改为上述预设背景的色数值,完成水印信息的去除。
在一个实施例中,又考虑到根据统计通常包含有待处理文本的图像数据中,表征图像背景的像素点的个数往往要多于文本像素点的个数。因此,具体实施时,也可以先统计对应预设类簇的像素点的个数,将个数最多的预设类簇确定为与图像背景对应的预设类簇,进而可以将该预设类簇的中心点的色彩数值确定为预设背景的色彩数值。
在一个实施例中,所述包含有待处理文本的图像数据具体可以包括:合同的扫描图片,和/或,合同的照片等图像数据。当然,需要说明的是,上述所列举的图像数据只是为了更好地说明本说明书实施方式。具体实施时,根据具体情况和处理需求,也可以包含有其他类型的图像数据。例如包含有通知书的影印图片等。对此,本说明书不作限定。
由上可见,本说明书实施例提供的水印的去除方法,由于通过先对图像数据中的像素点的色彩数值进行聚类处理,得到多种类型的像素点所分别对应的预设类簇的中心点的色彩数值;再根据预设类簇的中心点的色彩数值,从图像数据中的像素点中确定出水印像素点,并有针对性地对水印像素点进行处理,以去除水印,从而解决了现有方法中存在的去除水印效率低、效果差的技术问题,达到能快速、精确地定位出图像数据中组成水印信息的水印像素点,并进行有效的水印去除;还通过根据图像数据中,图像背景的颜色特点,从多个预设类簇的中心点的色彩数值中筛选出数值最大的色彩数值作为预设背景的色彩数值,来对水印像素点的色彩数值进行修改,改善了水印去除效果。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息;获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值;根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点;根据所述水印像素点,去除所述图像数据中的水印信息。
为了能够更加准确地完成上述指令,参阅图5所示,本说明书还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口501、处理器502以及存储器503,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口501,具体可以用于获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息。
所述处理器502,具体可以用于获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值;根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点;根据所述水印像素点,去除所述图像数据中的水印信息。
所述存储器503,具体可以用于存储经网络通信端口501获取的图像数据,以及存储处理器502运行时所基于的相应的指令程序。
在本实施例中,所述网络通信端口501可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器502可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器503可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述水印的去除方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息;获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值;根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点;根据所述水印像素点,去除所述图像数据中的水印信息。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图6所示,在软件层面上,本说明书实施例还提供了一种水印的去除装置,该装置具体可以包括以下的结构模块:
获取模块601,具体可以用于获取包含有待处理文本的图像数据,其中,所述图像数据中携带有水印信息;
第一确定模块602,具体可以用于获取所述图像数据中的像素点的色彩数值,并根据所述像素点的色彩数值确定出多个预设类簇的中心点的色彩数值;
第二确定模块603,具体可以用于根据所述多个预设类簇的中心点的色彩数值,从所述图像数据中的像素点中确定出水印像素点,其中,所述水印像素点为用于表征水印信息的像素点;
去除模块604,具体可以用于根据所述水印像素点,去除所述图像数据中的水印信息。
在一个实施例中,所述第一确定模块602具体可以包括以下结构单元:
筛选单元,具体可以用于从所述图像数据中确定一张图像作为样本图像;
第一确定单元,具体可以用于根据所述样本图像,确定多个预设类簇的初始点的色彩数值,其中,所述多个预设类簇的初始点包括:文本区域中的像素点、水印信息区域中的像素点和背景区域中的像素点;
迭代处理单元,具体可以用于根据所述多个预设类簇的初始点的色彩数值和所述图像数据,通过多次迭代处理,得到多个色彩数值作为所述多个预设类簇的中心点的色彩数值。
在一个实施例中,所述第二确定模块603具体可以包括以下结构单元:
第二确定单元,具体可以用于根据所述多个预设类簇的中心点的色彩数值和所述图像数据中的像素点的色彩数值,确定所述图像数据中像素点所对应的预设类簇;
统计单元,具体可以用于统计所述图像数据中的各张图像中的各个预设类簇的像素点的个数;
计算单元,具体可以用于根据所述图像数据中的各张图像中各个预设类簇的像素点的个数,计算各个预设类簇的像素点的个数的标准差;
第三确定单元,具体可以用于将数值最小的标准差所对应的预设类簇的像素点确定为水印像素点。
在一个实施例中,所述第二确定单元具体可以用于计算像素点的色彩数值分别与所述多个预设类簇的中心点的色彩数值的差值;将数值最小的差值所对应的预设类簇确定为所述像素点所对应的预设类簇。
在一个实施例中,所述去除模块604具体可以包括以下结构单元:
第四确定单元,具体可以用于确定预设背景的色彩数值;
修改单元,具体可以用于将所述图像数据中水印像素点的色彩数值修改为所述预设背景的色彩数值
在一个实施例中,所述第四确定单元具体可以用于从所述多个预设类簇的中心点的色彩数值中筛选出数值最大的色彩数值作为所述预设背景的色彩数值。
在一个实施例中,所述包含有待处理文本的图像数据具体可以包括:合同的扫描图片,和/或,合同的照片等。当然,需要说明的是,上述所列举的图像数据只是一种示意性说明。具体实施时,根据具体情况还可以包括其他类型或内容的待处理文本的图像数据。对此,本说明书不作限定。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的水印的去除装置,由于通过第一确定模块先对图像数据中的像素点的色彩数值进行聚类处理,得到多种类型的像素点所分别对应的预设类簇的中心点的色彩数值;再通过第二确定模块根据预设类簇的中心点的色彩数值,从图像数据中的像素点中确定出水印像素点,并通过去除模块有针对性地对水印像素点进行处理,以去除水印,从而解决了现有方法中存在的去除水印效率低、效果差的技术问题,达到能快速、精确地定位出图像数据中组成水印信息的水印像素点,并进行有效的水印去除。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。