一种图像生成方法及装置与流程

文档序号:12837522阅读:157来源:国知局
一种图像生成方法及装置与流程

本申请涉及信息处理技术领域,尤其涉及一种图像生成方法及装置。



背景技术:

在信息处理技术领域,出于防止机器自动识别的应用需求,经常需要对文本信息进行图形化处理,常见的应用场景包括利用图形验证码防止暴力尝试、利用图形化处理防止网络爬虫批量抓取网站关键信息,等等。

对文本信息进行图形化处理时,需要进一步考虑的问题是如何应对ocr(opticalcharacterrecognition,光学字符识别)技术,由于ocr的识别难点在于字符的分割,因此现有的一种通用方案是利用字符串粘连(charactercollapsing)处理,即通过让文本中的字符处于负距离,使目标文本呈现字符重叠的效果,以提高字符被分割的难度,从而降低ocr的识别率。

然而随着破解技术的发展,目前也出现了一些可以用于分割粘连字符的算法,例如滴水算法等,这使得利用字符串粘连算法生成的图像安全性大大降低。此外,字符串粘连的另一个问题在于难以被肉眼识别,因此在实际应用中经常会导致很差的用户体验。



技术实现要素:

针对上述技术问题,本申请提供一种图像生成方法及装置,技术方案如下:

根据本申请的第一方面,提供一种图像生成方法,该方法包括:

获得用于图像叠加的前景图像及背景图像,所述前景图像及背景图像中的至少一种是利用预设的分形算法生成;

利用所述前景图像对目标文本对应的形状区域进行填充;

对所述背景图像及填充结果进行叠加;

根据叠加结果得到目标文本的图形化结果。

根据本申请的第二方面,提供另一种图像生成方法,该方法包括:

获得用于图像叠加的前景图像及背景图像,其中,所述前景图像及背景图像中的至少一种是利用预设的分形算法生成;

根据所述前景图像及背景图像,得到目标文本的图形化结果。

根据本申请的第三方面,提供一种文本信息的图形化处理装置,该装置包括:

图像获得模块,用于获得用于图像叠加的前景图像及背景图像,所述前景图像及背景图像中的至少一种是利用预设的分形算法生成;

填充处理模块,用于利用所述前景图像对目标文本对应的形状区域进行填充;

叠加处理模块,用于对所述背景图像及填充结果进行叠加;

结果输出模块,用于根据叠加结果得到目标文本的图形化结果。

本申请所提供的技术方案,利用分形算法来生成目标文本信息的前景图和/或背景图,由于分形图的颜色或灰度随机且分布均匀,因此很难利用统计特征或连通域分析分割出单个字符,从而有效提高了图形化文本信息的抗机器识别性能。另外,本申请方案所生成的图形化文本,并不需要依赖字符粘连来提高抗机器识别性能,因此可以实现较好的视觉可分辨性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲, 还可以根据这些附图获得其他的附图。

图1是本申请的图像生成方法的流程示意图;

图2(a)和图2(b)分别是本申请的模糊处理前后的输出结果示意图;

图3是本申请的图像生成装置的第一种结构示意图;

图4是本申请的图像生成装置的第二种结构示意图。

具体实施方式

为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。

针对现有技术存在的问题,本申请利用分形图来实现对图形化文本信息的抗机器识别保护。分形(fractal)是一种数学概念,其一种解释是“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”。也就是说分形图具有“自相似”的性质。从视觉效果来看,分形图的颜色或灰度分布是不规则的,但是整体分布又是相对均匀的,本申请则是方案利用分形图的上述特征对文本信息进行图形化处理,以实现较好的抗识别性能。

对文本信息的图形化结果,一般是由文本图形和背景两部分叠加而成,其中文本图形部分对应的是文本的形状区域,背景部分则可以看作用于写字的纸张。对于一个给定的文本图形及一幅给定的背景图像,将其视为两个图层,通过对两个图层进行叠加处理,就可以获得一幅文本信息图像。如果文本图形及背景图像使用了不同的颜色或灰度,就可以实现该文本信息图像中文本的视觉可识别性。

本申请所提供的抗识别方案,首先利用分形算法生成前景图像及背景图像,其中分形算法属于分形几何学,是指能够生成具有“自相似”性质的分形图的 算法。然后利用前景图像对文本图形进行填充,将填充后的文本图形与背景图像叠加处理后得到最终的文本图形化结果。

图1所示为本申请提供的文本信息图形化处理方法的流程图,该方法可以包括以下步骤:

s101,获得用于图像叠加的前景图像及背景图像;

根据本申请方案,前景图像及背景图像可以均利用分形算法生成,也可以仅利用分形算法生成前景图像或背景图像中的其中一种,未使用分形算法的另一部分图像,则可以用其他图案替代,例如风景图案、复杂几何图案等等,本申请对此并不进行限定。

在前景图像及背景图像均利用分形算法生成的情况下,可以使用不同的分形算法分别生成前景图像及背景图像,也可以使用同一分形算法生成前景图像及背景图像。本申请方案并不需要对具体的分形算法进行限定,理论上任意的分形算法均可以应用于本申请方案,本领域技术人员可以根据实际需求对算法进行选取。

例如,为了令合成后的图形化文本能够被肉眼所辨识(即合成后至少能够用肉眼区分出文字的轮廓),可以要求前景图像及背景图像不完全一致,具体可用的方案举例如下:

使用不同的分形算法分别生成前景图像及背景图像;

使用相同分形算法,利用不同参数分别生成前景图像及背景图像;

选取同一张分形图中的不同区域分别作为前景图像及背景图像;

选取一张分形图中的相同区域的不同形变结果分别作为前景图像及背景图像,这里的形变可以包括翻转、放缩、或其他不规则形变等;

当然,以上可选方案仅用于示意性说明,不应理解为对本申请方案的限定。另外,“前景图像及背景图像不完全一致”也并非“令合成后的图形化文本能够被肉眼所辨识”的唯一解决方案。例如,即便选择了完全一致的前景图像及背景图像,也可以在后续叠加处理时通过简单的位移处理实现视觉上的可区分效果。

另外,在本申请的一种具体实施方案中,可以进一步考虑尽量控制前景图及背景图像在整体颜色上的相似性,从而避免前景与背景颜色区分过于明显而降低在识别阶段区分前景与背景的难度。

s102,根据所述前景图像及背景图像,得到目标文本的图形化结果。

本申请中“目标文本”是指需要进行图形化处理的文本对象,首先利用上述得到的前景图像对目标文本对应的形状区域进行填充;

假设目标文本轮廓内是完全空白的区域,在本步骤利用s101所获得的前景图像对文本轮廓内部的空白区域进行填充。可以理解的是,为避免被自动识别,这里并不需要保留轮廓线。

为了提高文本识别的难度,在本步骤中还可以结合其他手段对目标文本的形状区域做进一步处理,例如旋转、放缩、粘连、形变、加扰等等,本申请并不需要限定。

进一步地,对背景图像及填充结果进行叠加;

在本步骤中,将上面填充后得到的文本形状与s101得到的背景图像进行叠加,如果在前面的步骤中前景图像和背景图像使用的完全一致的图像,则这里可以对文本形状在背景图像上的叠加位置进行位移以实现视觉上的可区分效果。另外,在填充过程中所述的旋转、放缩、形变、加扰等处理,也可以在叠加步骤中实现;

最后根据叠加结果得到目标文本的图形化结果。

根据本申请方案,可以直接将叠加结果作为目标文本的图形化结果进行输出。为了提高识别难度,也可以对整体叠加结果再做进一步的处理。

例如,可以对叠加结果进行模糊处理(例如高斯模糊处理等),图2(a)及图2(b)分别示出了模糊处理之前和模糊处理之后的结果示意,其中前景图像和背景图像均是采用分形算法生成。可以看出,经模糊处理后,文本形状的轮廓变得更为平滑,从而可以有效避免在识别阶段通过出识别完整的文字轮廓以区分文字与背景。

另外可以看出,无论是图2(a)还是图2(b),其颜色或灰度在整体分布上是难 以发现规律的,但是又相对均匀,这里的“均匀”体现在前景/背景的配色对比,以及不同连通区域的配色对比,由于分形图的颜色或随机且分布均匀,因此很难利用统计特征或连通域分析分割出单个字符,因此有效提升了图形化文本信息的抗机器识别难度。此外,从视觉效果上看,每个字符仍然是处于分离状态,因此也更方便用户以肉眼进行识别。

当然,除了模糊处理之外,根据实际的需求,在本步骤中还可以进行其他的处理,例如裁剪、缩放、格式转换等等,本申请并不需要进行限定。

本申请方案,可以应用于各种需要对图形化文本进行抗识别保护的场景,例如生成图形验证码、对网页中的关键信息进行防抓取保护等等。实际应用时,对于多次生成的图形化文本,可以采用不同的分形算法。例如,在生成验证码的应用场景中,可以预先设置几种分形算法,对于每一个随机生成的验证码序列,可以采用轮询或随机的方式选取一种分形算法生成图形验证码。在对网页信息进行保护的应用场景中,可以针对每条信息数据使用不同的分形算法,或者在网页刷新时更换分形算法。这样,对于图形化文本生成方而言,每次生成图形化文本的计算开销基本一致,但是对于识别方而言,破解的难度将成倍增加。当然,上述“不同分形算法”还可以用“相同分形算法的不同参数”替代,也能够实现类似的效果。

相应于上述方法实施例,本申请还提供一种图像生成装置,参见图3所示,该装置可以包括:

输入模块100,用于获得用于图像叠加的前景图像及背景图像,其中,所述前景图像及背景图像中的至少一种是利用预设的分形算法生成;

处理及输出模块200,用于根据所述前景图像及背景图像,得到目标文本的图形化结果。

本申请还提供另一种图像生成装置,参见图4所示,该装置可以包括:

图像获得模块110,用于获得用于图像叠加的前景图像及背景图像,其中前景图像及背景图像中的至少一种是利用预设的分形算法生成;

填充处理模块120,用于利用前景图像对目标文本对应的形状区域进行填充;

叠加处理模块130,用于对背景图像及填充结果进行叠加;

结果输出模块140,用于根据叠加结果得到目标文本的图形化结果。

在本申请的一种具体实施方式中,图像获得模块110可以具体用于:

使用相同分形算法,利用不同参数分别生成前景图像及背景图像。

在本申请的一种具体实施方式中,图像获得模块110可以具体用于:

选取同一张分形图中的不同区域分别作为前景图像及背景图像;

选取一张分形图中的相同区域的不同形变结果分别作为前景图像及背景图像。

在本申请的一种具体实施方式中,结果输出模块140可以具体用于:

对叠加结果进行模糊处理,根据模糊处理结果得到目标文本的图形化结果。

在本申请的一种具体实施方式中,目标文本可以是随机生成的验证码序列。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本申请方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

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

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