CN109977649A - 图片验证码生成方法、装置、存储介质和计算机设备 - Google Patents

图片验证码生成方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
CN109977649A
CN109977649A CN201910113104.6A CN201910113104A CN109977649A CN 109977649 A CN109977649 A CN 109977649A CN 201910113104 A CN201910113104 A CN 201910113104A CN 109977649 A CN109977649 A CN 109977649A
Authority
CN
China
Prior art keywords
background
color
color value
picture
position coordinates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910113104.6A
Other languages
English (en)
Inventor
李敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910113104.6A priority Critical patent/CN109977649A/zh
Publication of CN109977649A publication Critical patent/CN109977649A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种图片验证码生成方法,包括:获取背景图和待嵌入所述背景图的预定字符;获取位置颜色对;其中,位置颜色对包含背景图的像素点的位置坐标和待嵌入字符的颜色值,颜色值与位置坐标的背景颜色值相似;从位置颜色对中提取位置坐标和颜色值;根据位置坐标和颜色值,在背景图的位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。该方法可快速生成图片验证码,且可使嵌入背景图中的预定字符与背景图融合一体,使得难以通过常规的二值化处理直接区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,从而降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。

Description

图片验证码生成方法、装置、存储介质和计算机设备
技术领域
本发明涉及通信应用技术领域,具体而言,本发明涉及一种图片验证码生成方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术和互联网的普及,网站和应用软件的应用与我们的工作、学习和生活息息相关,而网站与应用软件的正常工作需借助验证码进行保障。验证码是一种区分当前用户是计算机还是人的公共全自动程序,可用于防止利用计算机程序不断执行以恶意破解密码、注册、刷屏、灌水等行为。
目前,图片验证码的生成通常为直接在背景图上生成字符,或者将字符与背景图进行简单算法转换及合成操作,此类图片验证码的字符与背景图没有很好地融合一体,一般通过二值化处理便可被破解识别,验证码的破解难度及安全性低。
发明内容
为至少能解决上述的技术缺陷之一,本发明提供了以下技术方案的图片验证码生成方法及对应的装置、计算机可读存储介质和计算机设备。
本发明的实施例根据一个方面,提供了一种图片验证码生成方法,包括如下步骤:
获取背景图和待嵌入所述背景图的预定字符;
获取位置颜色对;其中,所述位置颜色对包含所述背景图的像素点的位置坐标和待嵌入字符的颜色值,所述颜色值与所述位置坐标的背景颜色值相似;
从所述位置颜色对中提取所述位置坐标和所述颜色值;
根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。
在一个实施例中,所述获取位置颜色对之前,还包括:
采集所述背景图的像素点的位置坐标的背景颜色值;
获取预先设定的颜色对比阈值;
根据所述颜色对比阈值和所述背景颜色值,确定所述位置坐标对应的待嵌入字符的颜色值。
在一个实施例中,所述颜色对比阈值为5~10。
在一个实施例中,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码之后,还包括:
将所述图片验证码输入预置的风格转换模型,得到预置风格的图片验证码。
在一个实施例中,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码之后,还包括:
对所述图片验证码进行字符模糊处理和/或识别干扰设置;
将字符模糊处理和/或识别干扰设置后的图片验证码输入预置的风格转换模型,得到预置风格的图片验证码。
在一个实施例中,所述预置的风格转换模型通过以下步骤生成:
获取具有预置纹理特征的风格图片;获取多个真实图片;
根据所述风格图片和所述多个真实图片,生成训练样本;
根据所述训练样本,由生成式对抗网络训练得所述风格转换模型。
在一个实施例中,所述风格转换模型为基于生成式对抗网络预先训练得到的CartoonGAN模型。
此外,本发明的实施例根据另一个方面,提供了一种图片验证码生成装置,包括:
验证码素材获取模块,用于获取背景图和待嵌入所述背景图的预定字符;
位置颜色对获取模块,用于获取位置颜色对;其中,所述位置颜色对包含所述背景图的像素点的位置坐标和待嵌入字符的颜色值,所述颜色值与所述位置坐标的背景颜色值相似;
位置颜色对解析模块,用于从所述位置颜色对中提取所述位置坐标和所述颜色值;
图片验证码生成模块,用于根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。
本发明的实施例根据又一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的图片验证码生成方法。
本发明的实施例根据再一个方面,提供了一种计算机设备,所述计算机包括一个或多个处理器;存储器;一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于:执行上述的图片验证码生成方法。
本发明与现有技术相比,具有以下有益效果:
本发明提供的图片验证码生成方法、装置、计算机可读存储介质和计算机设备,通过获取针对背景图预先设置的位置颜色对,并根据位置颜色对中的位置坐标和颜色值在背景图的所述位置坐标处嵌入配置成所述颜色值的预定字符,可快速生成图片验证码,且设置预定字符的颜色值与背景图位置坐标的背景颜色值相似,可使嵌入背景图中的预定字符与背景图融合一体,使得难以通过常规的二值化处理直接区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,从而降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
此外,还通过将生成的图片验证码输入至预置的风格转换模型,实现风格转换,可使图片验证码中的预定字符和背景图更好地融合一体,进一步降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的图片验证码生成方法的方法流程图;
图2为本发明实施例提供的卡通风格的图片验证码效果图;
图3为本发明实施例提供的图片验证码生成装置的结构示意图;
图4为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明实施例提供了一种图片验证码生成方法,如图1所示,该方法包括:
步骤S110:获取背景图和待嵌入所述背景图的预定字符。
对于本实施例,预先设置有背景图库,为生成一个图片验证码,可从预置的背景图库中选定或随机获取一张背景图,所述背景图用于作为图片验证码的背景图像。作为一个优选实施例,所述背景图可以是从真实世界捕捉得到的真实图片,例如,可具体为自然风光图片。
对于本实施例,还预先设置有字符库,所述预定字符可从预置的字符库中选定或随机获取,所述预定字符用于嵌入背景图以构成图片验证码。在实际应用场景中,待嵌入所述背景图中的预定字符的数量一般为3-8个。
对于本实施例,所获取的多个预定字符可以是具有一定逻辑关系的词组、字符串,例如,“打开电视”、“跳入火坑”、“世界杯冠军”等日常人们容易发现逻辑的字符串,后续将该具有逻辑关系的字符串打乱顺序嵌入至所述背景图中,并提示用户按逻辑顺序点击各个预定字符,可进一步提高机器破解识别的难度。
步骤S120:获取位置颜色对;其中,所述位置颜色对包含所述背景图的像素点的位置坐标和待嵌入字符的颜色值,所述颜色值与所述位置坐标的背景颜色值相似。
对于本实施例,针对背景图预先设置有多个位置颜色对,具体地,通过随机或按预置选点规律采集所述背景图的多个像素点的位置坐标,即像素点的x、y值,并针对所述背景图的各个像素点的位置坐标分别确定待嵌入字符的颜色值,从而生成所述背景图的多个位置颜色对。所述位置颜色对包含所述背景图的像素点的位置坐标和待嵌入字符的颜色值。
对于本实施例,所述获取位置颜色对可具体为,从针对所述背景图预先设置有的多个位置颜色对中随机选择预置数量的位置颜色对,所选择的所述预置数量的位置颜色对用于作为所述背景图的待嵌入字符的配置信息,所述配置信息包括字符嵌入所述背景图的位置坐标和待嵌入字符的颜色值。通过针对背景图预先设置位置颜色对,可在选定该背景图作为图片验证码的背景图像时,快速确定所述背景图的待嵌入字符的配置信息,从而有效提高图片验证码生成的效率。
例如,所述预置数量可以是3或者4,即从所述背景图的多个位置颜色对中选出3或者4个位置颜色对,本领域技术人员可根据实际应用需求确定所述预置数量的具体数值,所述预置数量理应与获取的预定字符的数量相同,本实施例对所述预置数量的具体数值不做限定。
对于本实施例,所述位置颜色对可通过以下表达式表示:
位置颜色对=(x,y):颜色值。
例如,所述颜色值可以具体为:’darkgreen’,’#e0c600’,‘#e5f309’;
又例如,所述位置颜色对可具体为:position_color_pair={(440,190):'darkgreen',(380,130):'darkgreen',(360,60):'#e0c600',(225,65):'#e5f309'}。
对于本实施例,所确定的待嵌入字符的颜色值与对应所述背景图的像素点的位置坐标处的背景颜色值相似,即所述颜色值与所述背景颜色值的差异小于预定的颜色对比阈值。例如,若颜色值与背景颜色值的差异小于20,即可认为所述颜色值与所述背景颜色值相似。
当在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,由于所述预定字符的颜色值与所述位置坐标的背景颜色值相似,则所述预定字符的颜色值与其四周的背景颜色值也理应相似或者比较相似,可使嵌入背景图中的预定字符与背景图融合一体,仅通过PS(Photoshop)调整阈值色阶等二值化处理难以直接区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,从而降低图片验证码被机器破解识别的概率。
步骤S130:从所述位置颜色对中提取所述位置坐标和所述颜色值。
对于本实施例,在获取预置数量的位置颜色对之后,从预置数量的位置颜色对中提取得到预置数量的所述位置坐标和对应的所述颜色值。
步骤S140:根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。
对于本实施例,根据所述位置坐标和所述颜色值,确定所获取的各个所述预定字符的配置信息,即确定各个预定字符嵌入所述背景图的位置坐标和对应的颜色值,并根据各个预定字符的配置信息,分别在所确定的所述背景图的位置坐标处嵌入配置成对应颜色值的预定字符,生成图片验证码。其中,所述预定字符的配置信息还可以包括字符字体和字符大小,可分别在所确定的所述背景图的位置坐标处嵌入配置成对应颜色值、字符字体和字符大小的预定字符,生成图片验证码。
对于本实施例,所述预定字符在所述背景图中所占的位置可能多于一个像素点,在该情况下,所述位置坐标可用于作为字符嵌入所述背景图的基准点,预定字符以所述位置坐标作为基准点向四周、左下方或右上方等任意方向展开实现嵌入所述背景图。
其中,通过配置合适的位置坐标及字符大小,可使所生成的图片验证码中的预定字符均完整嵌入至所述背景图内,避免预定字符的部分字符结构因超出背景图的边界而未完整显示,且所述图片验证码中的各个预定字符之间不存在重叠。
本发明提供的图片验证码生成方法,通过获取针对背景图预先设置的位置颜色对,并根据位置颜色对中的位置坐标和颜色值在背景图的所述位置坐标处嵌入配置成所述颜色值的预定字符,可快速生成图片验证码,且设置预定字符的颜色值与背景图位置坐标的背景颜色值相似,可使嵌入背景图中的预定字符与背景图融合一体,使得难以通过常规的二值化处理直接区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,从而降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
在一个实施例中,所述获取位置颜色对之前,还包括:
采集所述背景图的像素点的位置坐标的背景颜色值;
获取预先设定的颜色对比阈值;
根据所述颜色对比阈值和所述背景颜色值,确定所述位置坐标对应的待嵌入字符的颜色值。
对于本实施例,在从针对所述背景图预先设置有的多个位置颜色对中随机选择预置数量的位置颜色对之前,需确定预先采集的所述背景图的多个像素点的位置坐标对应的待嵌入字符的颜色值,以将所述背景图的多个像素点的位置坐标和对应的多个待嵌入字符的颜色值分别构成多个位置颜色对。
对于本实施例,所确定的待嵌入字符的颜色值与对应所述背景图的像素点的位置坐标处的背景颜色值相似,即所述颜色值与所述背景颜色值的差异小于预定的颜色对比阈值。故在确定所述位置坐标对应的待嵌入字符的颜色值时,采集所述背景图的像素点的位置坐标的背景颜色值,并获取预先设定的所述颜色对比阈值,根据所述颜色对比阈值和所述背景颜色值,确定所述位置坐标对应的待嵌入字符的颜色值,即在所述背景颜色值的基础上加上或者减去所述颜色对比阈值以得到与所述背景颜色值相似的所述待嵌入字符的颜色值。
其中,所述颜色对比阈值的取值范围可以是1~30,本领域的技术人员可根据实际应用需求确定所述颜色对比阈值的具体数值,本实施例对此不做限定。
在本实施例中,通过根据位置坐标的背景颜色值和与预先设置的颜色对比阈值确定与所述背景颜色值相似的所述待嵌入字符的颜色值,可使在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符时,由于所述预定字符的颜色值与所述位置坐标的背景颜色值相似,则所述预定字符的颜色值与其四周的背景颜色值也理应相似或者比较相似,从而使得嵌入背景图中的预定字符与背景图融合一体,仅通过二值化处理难以直接区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,降低图片验证码被机器破解识别的概率。
在一个实施例中,所述颜色对比阈值为5~10。
对于本实施例,在所述颜色对比阈值的取值范围为5~10时,机器无法识别背景颜色值和基于所述颜色对比阈值生成的待嵌入字符的颜色值,但人眼可识别,因此在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符时,基于所述颜色对比阈值生成的所述预定字符的颜色值与所述位置坐标的背景颜色值十分相似,则所述预定字符的颜色值与其四周的背景颜色值也理应十分相似,从而使得嵌入背景图中的预定字符与背景图融合一体,人眼可快速识别,但仅通过二值化处理无法区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,有效降低图片验证码被机器破解识别的概率。
在一个实施例中,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码,包括:
获取随机生成的坐标偏移值;
根据所述坐标偏移值调整所述位置坐标,得到调整后的位置坐标;
根据所述调整后的位置坐标和所述颜色值,在所述背景图的所述调整后的位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。
对于本实施例,用于作为所述背景图的待嵌入字符的配置信息中的位置坐标是一个动态值,通过在每次生成图片验证码之前获取当前随机生成的坐标偏移值,并根据所述坐标偏移值动态调整所述位置坐标,可得调整后的位置坐标,并将调整后的位置坐标用于作为所述背景图的待嵌入字符对的配置信息。
对于本实施例,所述坐标偏移值可以是位置坐标中x值和/或y值的偏移值,例如调整位置颜色对中的位置坐标横坐标向左偏移一个单位,或纵坐标向上偏移三个单位,或横坐标向右偏移两个单位且纵坐标向下偏移一个单位等。
在本实施例中,通过引入坐标偏移值,可使用于作为所述背景图的待嵌入字符的配置信息中的位置坐标变为一个动态值,从而使得每次以所述背景图作为背景图像生成图片验证码时,即使获取的是相同的位置颜色对,各个图片验证码中对应相同位置颜色对所嵌入的预定字符的位置坐标仍可基于坐标偏移值调整而各不相同,可进一步提高图片验证码的破解难度及安全性。
在一个实施例中,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码之后,还包括:
将所述图片验证码输入预置的风格转换模型,得到预置风格的图片验证码。
对于本实施例,所述预置的风格转换模型用于将输入图片转换成具有预置风格的图片。将已嵌入所述预定字符的背景图输入至所述风格转换模型,最终可生成具有预置风格的图片验证码。
在本实施例中,通过将生成的图片验证码输入至预置的风格转换模型,实现风格转换,可使图片验证码中的预定字符和背景图更好地融合一体,进一步降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
在一个实施例中,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码之后,还包括:
对所述图片验证码进行字符模糊处理和/或识别干扰设置;
将字符模糊处理和/或识别干扰设置后的图片验证码输入预置的风格转换模型,得到预置风格的图片验证码。
对于本实施例,在生成图片验证码之后,可采用高斯模糊算法对所述图片验证码中的预定字符进行字符模糊处理。其中,所述高斯模糊算法基于数据平滑技术及正态分布权重实现字符模糊处理。
对于本实施例,可对图片验证码进行单一或多样的识别干扰设置,所述识别干扰设置包括但不限于:噪音设置、字符旋转设置或干扰线设置。
其中,所述噪音设置具体为,在所述图片验证码中加入噪音作为干扰。所述图片验证码中的噪音,即图像中的杂点或者干扰成分,例如高斯噪声、瑞利噪声、指数噪声和椒盐噪声等,本发明实施例对此不做限定。
所述字符旋转设置具体为,对所述图片验证码中的字符作90°、180°或270°的旋转设置。
所述干扰线设置具体为,在所述图片验证码中添加生成干扰线。
在本实施例中,通过对生成的图片验证码进行字符模糊处理和/或识别干扰设置,可增加机器识别图片验证码的干扰因素,从而进一步降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
在一个实施例中,所述预置的风格转换模型通过以下步骤生成:
获取具有预置纹理特征的风格图片;获取多个真实图片;
根据所述风格图片和所述多个真实图片,生成训练样本;
根据所述训练样本,由生成式对抗网络训练得所述风格转换模型。
对于本实施例,所述真实图片为从真实世界捕捉得到的图片,例如,所述真实图片可以是自然风光图片。所述具有预置纹理特征的风格图片和多个真实图片组成用于训练所述风格转换模型的训练样本,所述风格转换模型采用未配对的真实图片和预置纹理特征的风格图片训练生成,学习真实世界的图片到具有预置纹理特征的风格图片的映射,一种风格图片可训练一种风格转换模型。
对于本实施例,生成式对抗网络GAN(Generative Adversarial Networks)是一种深度学***滑。此外,所述生成式对抗网络还引入一个初始化阶段来提高网络到目标流的收敛性,现有的生成网络模型当输入图片边缘颜色重时,转化后的图片边缘会模糊不清,而且内容和颜色受风格图影响很大,而本生成式对抗网络模型更多的保留了原图的内容和颜色,而且图像边缘更清楚。
在本实施例中,根据具有预置纹理特征的风格图片和多个真实图片生成模型训练样本,并由生成式对抗网络训练得所述风格转换模型,为生成预置风格的图片验证码提供有力的技术支持。
在一个实施例中,所述风格转换模型为基于生成式对抗网络预先训练得到的CartoonGAN模型。
对于本实施例,CartoonGAN模型采用未配对的真实世界的真实图片和卡通风格图片训练生成,学习真实世界的图像到卡通图像的映射,一种风格的卡通图像训练一种风格的模型。其中,预先训练的CartoonGAN模型,包括:宫崎骏卡通风格模型、细田守卡通风格模型、新海诚卡通风格模型和盗梦侦探风格模型等。
所述将所述图片验证码输入预置的风格转换模型,得到预置风格的图片验证码,具体为将所述图片验证码输入CartoonGAN模型,生成具有卡通风格的图片验证码,如图2所示,卡通风格的图片验证码可实现图片验证码中的预定字符边界模糊,可使图片验证码中的预定字符和背景图更好地融合一体,进一步降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
此外,本发明实施例提供了一种图片验证码生成装置,如图3所示,所述装置包括:验证码素材获取模块31、位置颜色对获取模块32、位置颜色对解析模块33和图片验证码生成模块34;其中,
所述验证码素材获取模块31,用于获取背景图和待嵌入所述背景图的预定字符;
所述位置颜色对获取模块32,用于获取位置颜色对;其中,所述位置颜色对包含所述背景图的像素点的位置坐标和待嵌入字符的颜色值,所述颜色值与所述位置坐标的背景颜色值相似;
所述位置颜色对解析模块33,用于从所述位置颜色对中提取所述位置坐标和所述颜色值;
所述图片验证码生成模块34,用于根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。
在一个实施例中,所述获取位置颜色对之前,还包括:
采集所述背景图的像素点的位置坐标的背景颜色值;
获取预先设定的颜色对比阈值;
根据所述颜色对比阈值和所述背景颜色值,确定所述位置坐标对应的待嵌入字符的颜色值。
在一个实施例中,所述颜色对比阈值为5~10。
在一个实施例中,所述图片验证码生成模块34,具体用于:
获取随机生成的坐标偏移值;
根据所述坐标偏移值调整所述位置坐标,得到调整后的位置坐标;
根据所述调整后的位置坐标和所述颜色值,在所述背景图的所述调整后的位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。
在一个实施例中,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码之后,还包括:
将所述图片验证码输入预置的风格转换模型,得到预置风格的图片验证码。
在一个实施例中,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码之后,还包括:
对所述图片验证码进行字符模糊处理和/或识别干扰设置;
将字符模糊处理和/或识别干扰设置后的图片验证码输入预置的风格转换模型,得到预置风格的图片验证码。
在一个实施例中,所述预置的风格转换模型通过以下步骤生成:
获取具有预置纹理特征的风格图片;获取多个真实图片;
根据所述风格图片和所述多个真实图片,生成训练样本;
根据所述训练样本,由生成式对抗网络训练得所述风格转换模型。
在一个实施例中,所述风格转换模型为基于生成式对抗网络预先训练得到的CartoonGAN模型。
本发明提供的图片验证码生成装置可实现:通过获取针对背景图预先设置的位置颜色对,并根据位置颜色对中的位置坐标和颜色值在背景图的所述位置坐标处嵌入配置成所述颜色值的预定字符,可快速生成图片验证码,且设置预定字符的颜色值与背景图位置坐标的背景颜色值相似,可使嵌入背景图中的预定字符与背景图融合一体,使得难以通过常规的二值化处理直接区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,从而降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。还可实现:通过将生成的图片验证码输入至预置的风格转换模型,实现风格转换,可使图片验证码中的预定字符和背景图更好地融合一体,进一步降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
本发明实施例提供的图片验证码生成装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以上实施例所述的图片验证码生成方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明提供的计算机可读存储介质,可实现:通过获取针对背景图预先设置的位置颜色对,并根据位置颜色对中的位置坐标和颜色值在背景图的所述位置坐标处嵌入配置成所述颜色值的预定字符,可快速生成图片验证码,且设置预定字符的颜色值与背景图位置坐标的背景颜色值相似,可使嵌入背景图中的预定字符与背景图融合一体,使得难以通过常规的二值化处理直接区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,从而降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。还可实现:通过将生成的图片验证码输入至预置的风格转换模型,实现风格转换,可使图片验证码中的预定字符和背景图更好地融合一体,进一步降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
本发明实施例提供的计算机可读存储介质可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,本发明实施例还提供了一种计算机设备,如图4所示。本实施例所述的计算机设备可以是服务器、个人计算机以及网络设备等设备。所述计算机设备包括处理器402、存储器403、输入单元404以及显示单元405等器件。本领域技术人员可以理解,图4示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器403可用于存储计算机程序401以及各功能模块,处理器402运行存储在存储器403的计算机程序401,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元404用于接收信号的输入,以及接收用户输入的关键字。输入单元404可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元405可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元405可采用液晶显示器、有机发光二极管等形式。处理器402是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
作为一个实施例,所述计算机设备包括:一个或多个处理器402,存储器403,一个或多个计算机程序401,其中所述一个或多个计算机程序401被存储在存储器403中并被配置为由所述一个或多个处理器402执行,所述一个或多个计算机程序401配置用于执行以上任一实施例所述的图片验证码生成方法。
本发明提供的计算机设备,可实现:通过获取针对背景图预先设置的位置颜色对,并根据位置颜色对中的位置坐标和颜色值在背景图的所述位置坐标处嵌入配置成所述颜色值的预定字符,可快速生成图片验证码,且设置预定字符的颜色值与背景图位置坐标的背景颜色值相似,可使嵌入背景图中的预定字符与背景图融合一体,使得难以通过常规的二值化处理直接区分图片验证码中的预定字符和背景图,显著提高机器识别字符与背景图颜色差异的难度,从而降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。还可实现:通过将生成的图片验证码输入至预置的风格转换模型,实现风格转换,可使图片验证码中的预定字符和背景图更好地融合一体,进一步降低图片验证码被机器破解识别的概率,有效提高验证码的破解难度及安全性。
本发明实施例提供的计算机设备可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种图片验证码生成方法,其特征在于,包括如下步骤:
获取背景图和待嵌入所述背景图的预定字符;
获取位置颜色对;其中,所述位置颜色对包含所述背景图的像素点的位置坐标和待嵌入字符的颜色值,所述颜色值与所述位置坐标的背景颜色值相似;
从所述位置颜色对中提取所述位置坐标和所述颜色值;
根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。
2.根据权利要求1所述的图片验证码生成方法,其特征在于,所述获取位置颜色对之前,还包括:
采集所述背景图的像素点的位置坐标的背景颜色值;
获取预先设定的颜色对比阈值;
根据所述颜色对比阈值和所述背景颜色值,确定所述位置坐标对应的待嵌入字符的颜色值。
3.根据权利要求2所述的图片验证码生成方法,其特征在于,所述颜色对比阈值为5~10。
4.根据权利要求1所述的图片验证码生成方法,其特征在于,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码之后,还包括:
将所述图片验证码输入预置的风格转换模型,得到预置风格的图片验证码。
5.根据权利要求1所述的图片验证码生成方法,其特征在于,所述根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码之后,还包括:
对所述图片验证码进行字符模糊处理和/或识别干扰设置;
将字符模糊处理和/或识别干扰设置后的图片验证码输入预置的风格转换模型,得到预置风格的图片验证码。
6.根据权利要求4或5所述的图片验证码生成方法,其特征在于,所述预置的风格转换模型通过以下步骤生成:
获取具有预置纹理特征的风格图片;获取多个真实图片;
根据所述风格图片和所述多个真实图片,生成训练样本;
根据所述训练样本,由生成式对抗网络训练得所述风格转换模型。
7.根据权利要求4或5所述的图片验证码生成方法,其特征在于,所述风格转换模型为基于生成式对抗网络预先训练得到的CartoonGAN模型。
8.一种图片验证码生成装置,其特征在于,包括:
验证码素材获取模块,用于获取背景图和待嵌入所述背景图的预定字符;
位置颜色对获取模块,用于获取位置颜色对;其中,所述位置颜色对包含所述背景图的像素点的位置坐标和待嵌入字符的颜色值,所述颜色值与所述位置坐标的背景颜色值相似;
位置颜色对解析模块,用于从所述位置颜色对中提取所述位置坐标和所述颜色值;
图片验证码生成模块,用于根据所述位置坐标和所述颜色值,在所述背景图的所述位置坐标处嵌入配置成所述颜色值的所述预定字符,生成图片验证码。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的图片验证码生成方法。
10.一种计算机设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于:执行根据权利要求1至7任一项所述的图片验证码生成方法。
CN201910113104.6A 2019-02-13 2019-02-13 图片验证码生成方法、装置、存储介质和计算机设备 Pending CN109977649A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910113104.6A CN109977649A (zh) 2019-02-13 2019-02-13 图片验证码生成方法、装置、存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910113104.6A CN109977649A (zh) 2019-02-13 2019-02-13 图片验证码生成方法、装置、存储介质和计算机设备

Publications (1)

Publication Number Publication Date
CN109977649A true CN109977649A (zh) 2019-07-05

Family

ID=67076888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910113104.6A Pending CN109977649A (zh) 2019-02-13 2019-02-13 图片验证码生成方法、装置、存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN109977649A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918893A (zh) * 2019-02-13 2019-06-21 平安科技(深圳)有限公司 图片验证码生成方法、装置、存储介质和计算机设备
CN111242114A (zh) * 2020-01-08 2020-06-05 腾讯科技(深圳)有限公司 文字识别方法及装置
CN112311806A (zh) * 2020-11-08 2021-02-02 杭州有数金融信息服务有限公司 一种地理信息认证验证码的生成方法
CN112836185A (zh) * 2019-11-22 2021-05-25 上海哔哩哔哩科技有限公司 用户验证方法及***
CN112836692A (zh) * 2020-11-27 2021-05-25 北京百度网讯科技有限公司 用于处理图像的方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923702A (zh) * 2010-08-25 2010-12-22 郝红卫 一种图片验证码的生成方法
CN104852889A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 图片验证码生成方法和***、验证方法和客户端及服务器
CN106127836A (zh) * 2016-06-30 2016-11-16 北京奇艺世纪科技有限公司 验证码图片生成方法及装置
CN107103225A (zh) * 2017-03-28 2017-08-29 成都优易数据有限公司 一种生成图形验证码的方法
CN109257168A (zh) * 2018-09-21 2019-01-22 深圳市元征科技股份有限公司 一种图片验证码的生成方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923702A (zh) * 2010-08-25 2010-12-22 郝红卫 一种图片验证码的生成方法
CN104852889A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 图片验证码生成方法和***、验证方法和客户端及服务器
CN106127836A (zh) * 2016-06-30 2016-11-16 北京奇艺世纪科技有限公司 验证码图片生成方法及装置
CN107103225A (zh) * 2017-03-28 2017-08-29 成都优易数据有限公司 一种生成图形验证码的方法
CN109257168A (zh) * 2018-09-21 2019-01-22 深圳市元征科技股份有限公司 一种图片验证码的生成方法、装置、设备及介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918893A (zh) * 2019-02-13 2019-06-21 平安科技(深圳)有限公司 图片验证码生成方法、装置、存储介质和计算机设备
CN112836185A (zh) * 2019-11-22 2021-05-25 上海哔哩哔哩科技有限公司 用户验证方法及***
CN112836185B (zh) * 2019-11-22 2022-12-30 上海哔哩哔哩科技有限公司 用户验证方法及***
CN111242114A (zh) * 2020-01-08 2020-06-05 腾讯科技(深圳)有限公司 文字识别方法及装置
CN111242114B (zh) * 2020-01-08 2023-04-07 腾讯科技(深圳)有限公司 文字识别方法及装置
CN112311806A (zh) * 2020-11-08 2021-02-02 杭州有数金融信息服务有限公司 一种地理信息认证验证码的生成方法
CN112311806B (zh) * 2020-11-08 2022-09-20 浙江有数数智科技有限公司 一种地理信息认证验证码的生成方法
CN112836692A (zh) * 2020-11-27 2021-05-25 北京百度网讯科技有限公司 用于处理图像的方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN109977649A (zh) 图片验证码生成方法、装置、存储介质和计算机设备
CN107862315B (zh) 字幕提取方法、视频搜索方法、字幕分享方法及装置
CN103270537B (zh) 图像处理设备、图像处理方法和程序
CN109641153A (zh) 视频流中的对象建模和替换
US8489883B2 (en) Virtual world embedded security watermarking
WO2015126329A1 (en) Verification methods and verification devices
CN110032907A (zh) 一种二维码识别方法、***及电子设备和存储介质
CN107066955B (zh) 一种从局部人脸区域还原整张人脸的方法
CN105024967B (zh) 一种利用验证图片识别游戏外挂的***及方法
CN106203286A (zh) 一种增强现实的内容获取方法、装置及移动终端
CN110812845A (zh) 外挂检测方法、外挂识别模型的训练方法和相关装置
US11837007B2 (en) Pedestrian re-identification method based on virtual samples
CN109800559B (zh) 滑块验证码的生成方法、装置、计算机设备及存储介质
CN109918893A (zh) 图片验证码生成方法、装置、存储介质和计算机设备
CN111601179A (zh) 基于视频内容的网络广告推广方法
CN107509080B (zh) 一种编码图像显示方法、装置和电子设备
CN109271228A (zh) 应用的界面功能识别方法、装置及电子设备
Wen et al. A hybrid model for natural face de-identiation with adjustable privacy
CN109858402B (zh) 一种图像检测方法、装置、终端以及存储介质
US20230388109A1 (en) Generating a secure random number by determining a change in parameters of digital content in subsequent frames via graphics processing circuitry
Powell et al. A multibiometrics-based CAPTCHA for improved online security
US20230328101A1 (en) Systems and methods of detecting anomalous websites
CN107544660B (zh) 一种信息处理方法及电子设备
CN106909547B (zh) 基于浏览器的图片加载方法及装置
CN111860482A (zh) 动态图形码验证方法及装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination