CN102254355A - 一种立体验证码的生成方法和装置 - Google Patents
一种立体验证码的生成方法和装置 Download PDFInfo
- Publication number
- CN102254355A CN102254355A CN2011101862666A CN201110186266A CN102254355A CN 102254355 A CN102254355 A CN 102254355A CN 2011101862666 A CN2011101862666 A CN 2011101862666A CN 201110186266 A CN201110186266 A CN 201110186266A CN 102254355 A CN102254355 A CN 102254355A
- Authority
- CN
- China
- Prior art keywords
- identifying code
- content
- dimensional
- background
- scatter diagram
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种立体验证码的生成方法和装置,通过对无规律的散点图进行切割、位移,把验证码内容融入其中,得到立体验证码的左、右内容图;再通过对另一份无规律的散点图进行非线性变形得到立体验证码的左、右背景图,最终将立体验证码的左、右内容图和左、右背景图合成为立体图,本发明中左、右图都是无规律的散点,无法分辨出任何信息,但使用正确的方式观看立体图,人眼可以看到“浮出”的验证码内容;由于程序难以模仿人眼的立体感知能力,加之本发明对背景进行了非线性变形,所以程序难以识别验证码中的信息。
Description
技术领域
本发明涉及计算机和3D显示领域,尤其是涉及一种立体验证码的生成方法和装置。
背景技术
验证码主要应用于网络,不少网站为了防止用户利用机器人程序自动注册、登录、灌水,都采用了验证码技术。验证码,是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰,例如随机画数条直线,画一些点,由用户肉眼识别其中的信息,输入表单提交网站验证,验证成功后才能使用某项功能。
随着人工智能和图像理解技术的发展机器对图像中字符的识别能力越来越强。如何生成人眼便于识别、而程序难以识别的验证码,成为重要课题。
同时,3D技术日趋完善,各种媒体对3D显示的支持也越来越广泛,3D设备普及率日益升高,如同彩色显示器在主流领域取代了黑白显示器一样,3D显示设备有望在不久的将来取代传统2D显示设备。
发明内容
针对上述现有技术,本发明要解决的技术问题是提供一种只能通过立体观看方式看出内容,便于人眼识别,难以被机器人程序识别的立体验证码的生成方法和装置。
为了解决上述技术问题,本发明采用如下技术方案:一种立体验证码的生成方法,包括如下步骤:
准备两份无规律的散点图;
确定验证码的内容,该验证码的内容为二值图像;
将第一份散点图按照验证码内容的形状进行切割,首先将验证码内容与散点图重合,对于验证码内容中表示内容的像素,对散点图保留原本像素;对于验证码内容中没有表示内容的像素,对散点图删除该像素,置为“透明”;
将切割后的第一份散点图复制为两份,一份向右进行位移,作为立体验证码的左内容,另一份向左位移,作为立体验证码的右内容;
将第二份散点图复制为两份,分别作为立体验证码的左、右背景图,对左背景图向左位移,对右背景图向右位移;
将左背景图水平向左进行非线性变形得到新的左背景图;
将右背景图水平向右进行非线性变形得到新的右背景图;
将左内容覆盖在左背景图之上,得到立体验证码的左图;
将右内容覆盖在右背景图之上,得到立体验证码的右图;
将立体验证码的左图与右图合成为立体图。
上述的散点图是指在一种单一颜色的背景上,随机地分布着另一种单一颜色的多个点,各点的大小、形状因随机性而不完全相同,各点之间的距离大小,也因随机性而不完全相同。
一种上述立体验证码的生成装置,包括散点图生成模块,用于生成两份无规律的散点图;
内容切割模块,用于将第一份散点图按照验证码内容的形状进行切割;
内容位移模块,用于将立体验证码的左内容、右内容分别进行位移,使其在立体验证码中表现出“出屏”效果;
背景位移模块,用于将立体验证码的左背景、右背景图分别进行位移,使其在立体验证码中表现出“入屏”效果;
背景变形模块,用于对左、右背景图进行非线性变形,使其在立体图中表现出“凹陷”效果;
左右图生成模块,用于生成立体验证码的左、右图;
立体图生成模块,用于将立体验证码的左、右图生成最终的立体验证码。
上述最终的立体验证码,形式由存储方法和显示方法决定,将左、右图分别存储为普通图片文件,包括jpg、bmp、png、gif、tif,或存储为常用的立体图格式MPO。
与现有技术相比,本发明具有以下有益效果:使用本发明生成的验证码,其左、右图都是无规律的散点,无法分辨出任何信息,由人眼的立体感知原理可知,使用正确的方式观看立体图,人眼可以看到“浮出”的验证码内容;由于程序难以模仿人眼的立体感知能力,加之本发明对背景进行了非线性变形,所以程序难以识别验证码中的信息。本发明还可用于其它娱乐性场合,生成有趣味性的立体图片。
附图说明
图1为本发明立体验证码的生成方法的流程图;
图2为本发明立体验证码的生成装置的结构示意图;
图3为本发明实施例散点图;
图4为本发明实施例验证码内容示例图;
图5为本发明实施例散点图按照验证码内容的形状进行切割后的示例图;
图6为与本发明技术方案无关,而为了直观的表示非线性变形的非线性变形之前的示意图;
图7为对图6进行非线性变形之后的示意图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
一种立体验证码的生成方法,流程图如图1,该方法包括:
步骤101 :准备两份无规律的散点图,示例图如图3,具体地,就是在白色的背景上,随机地分布着很多黑色的点,各点的大小、形状因随机性而不完全相同,各点之间的距离较小,也因随机性而不完全相同,另外,颜色不一定必须是黑色和白色,只要是有两种有明显区别的颜色均可;
步骤102 :确定验证码的内容,必须为二值图像,也就是说,该内容的图像上的每个像素点,只能为“有色”和“无色”之一,有内容之处为“有色”,无内容之处为“无色”,示例图如图4,图4中的内容为文字“3D”,除此之外的部分皆为“无色”;
步骤103 :将第一份散点图按照验证码内容的形状进行切割,切割后的示例图见图5,具体地,将验证码内容与散点图重合,对于验证码内容的“有色”像素,对散点图保留原本像素;对于验证码内容的“无色”像素,对散点图删除该像素,置为“透明”;
步骤104 :将切割后的第一份散点图复制为两份,一份向右进行几个像素的位移,作为立体验证码的左内容,另一份向左进行几个像素的位移,作为立体验证码的右内容,以使立体验证码中的内容表现出“出屏”效果;
步骤105 :将第二份散点图复制为两份,分别作为立体验证码的左、右背景图,对左背景图向左进行几个像素的位移,对右背景图向右进行几个像素的位移,以使立体验证码中的内容表现出“入屏”效果;
步骤106 :将步骤105中所述左背景图水平向左进行非线性变形得到新的左背景图,具体地,所有像素向左平移,平移距离与该像素距图像中心的距离呈倒数相关,也就是距离越远,平移距离越小,这里举例一种典型的计算方法:设图像中心的坐标为(x0,y0),设置一个最大位移为5,那么对于任意一个坐标为(x,y)的像素,其平移距离为:
5*exp[-abs(x-x0)/100] *exp[-abs(y-y0)/100],为了更直观地表现非线性变形,参见图6,将图6向左进行非线性变形之后得到图7;
步骤107: 将步骤105中所述右背景图水平向右进行非线性变形得到新的右背景图,方法与步骤106中所述相同,这样得到的背景,在立体图中表现出“凹陷”效果;
步骤108: 将步骤104所述左内容覆盖在步骤106所述左背景图之上,得到立体验证码的左图,具体地,将左内容与左背景图重合,用左内容的像素替代左背景图的像素,对于左内容的“透明”部分,则保留左背景图的像素;
步骤109 :将步骤104所述右内容覆盖在步骤107所述右背景图之上,得到立体验证码的右图,方法与步骤108中所述相同;
步骤110 :将步骤108所述左图与步骤109所述右图合成为立体图,立体图的形式需由存储方法和显示方法决定,例如可以将左、右图并排放置,存储为一个普通图片文件,如jpg、bmp、png、gif、tif等,也可以存储为现今立体图的常用格式MPO。
一种用于上述的立体验证码的生成装置,如图2,该装置包括:
散点图生成模块,用于生成两份无规律的散点图,散点图的示例图见图3。
具体地,散点图生成模块通过图像编程,得到以白色为背景,在其上随机地分布很多黑色的点,各点的大小、形状因随机性而不完全相同,各点之间的距离较小,也因随机性而不完全相同,这样两张散点图,另外,颜色不一定必须是黑色和白色,只要是有两种有明显区别的颜色均可;散点图生成模块也可以存储一张很大的散点图,在使用时随机抽取其中一部分,将其做随机地变形即可。
内容切割模块,用于将第一份散点图按照验证码内容的形状进行切割。
具体地,验证码的内容由人工确定,必须为二值图像,也就是说,该内容的图像上的每个像素点,只能为“有色”和“无色”之一,有内容之处为“有色”,无内容之处为“无色”,示例图如图4。内容切割模块将验证码内容与散点图重合,验证码内容的“有色”像素,对散点图保留原本像素;验证码内容的“无色”像素,对散点图删除该像素,置为“透明”,切割后的示例图见图5。
内容位移模块,用于将立体验证码的左内容、右内容分别进行位移,使其在立体验证码中表现出“出屏”效果。
具体地,内容位移模块将切割后的第一份散点图复制为两份,一份向右进行几个像素的位移,作为立体验证码的左内容,另一份向左进行几个像素的位移,作为立体验证码的右内容,以使立体验证码中的内容表现出“出屏”效果。
背景位移模块,用于将立体验证码的左背景、右背景图分别进行位移,使其在立体验证码中表现出“入屏”效果。
具体地,背景位移模块将第二份散点图复制为两份,一份向左进行几个像素的位移,作为立体验证码的左背景图,另一份向右进行几个像素的位移,作为立体验证码的右背景图,以使立体验证码中的内容表现出“入屏”效果。
背景变形模块,用于对左、右背景图进行非线性变形,在立体图中表现出“凹陷”效果,同时给程序识别带来更大困难。
具体地,背景变形模块将左背景图所有像素向左平移,平移距离与该像素距图像中心的距离呈倒数相关,也就是距离越远,平移距离越小,这里举例一种典型的计算方法:设图像中心的坐标为(x0,y0),设置一个最大位移为5,那么对于任意一个坐标为(x,y)的像素,其平移距离为5*exp[-abs(x-x0)/100] *exp[-abs(y-y0)/100],因为散点图非常杂乱,肉眼观看难以分辨,为了更直观地表现非线性变形,参见图6,将图6向左进行非线性变形之后得到图7;
类似地,背景变形模块将右背景图向右进行变形;
如此,背景变形模块生成新的左、右背景图。
左右图生成模块,用于生成立体验证码的左、右图。
具体地,左右图生成模块将左内容与左背景图重合,用左内容的像素替代左背景图的像素,对于左内容的“透明”部分,则保留左背景图的像素,得到立体验证码的左图;
类似的,左右图生成模块将右内容与右背景图重合,用右内容的像素替代左背景图的像素,对于右内容的“透明”部分,则保留右背景图的像素,得到立体验证码的右图。
立体图生成模块,用于将立体验证码的左、右图生成最终的立体验证码。
具体地,立体图生成模块使用左、右图生成立体图,即为最终的立体验证码。立体图的形式需由存储方法和显示方法决定,可以将左、右图分别存储为普通图片文件,包括jpg、bmp、png、gif、tif,也可以存储为常用的立体图格式MPO。
立体图的左、右图都是没有规律的散点,无法分辨任何信息;由人眼的立体感知原理可知,使用本发明生成的验证码,配合正确的观看方式,人眼可以看到“浮出”屏幕的验证码内容,同时可以看到“下沉”在屏幕下方、并且 “向后凹陷”的背景图片;由于程序难以模仿人眼的立体感知能力,加之本发明对验证码的背景进行了非线性变形,所以程序难以识别验证码中的信息。
以上所述仅为本发明之较佳实施例而已,并非用以限定本发明的申请专利范围以及特定使用方式,其他未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在本发明的保护范围内。
Claims (4)
1.一种立体验证码的生成方法,其特征在于,包括如下步骤:
准备两份无规律的散点图;
确定验证码的内容,该验证码的内容为二值图像;
将第一份散点图按照验证码内容的形状进行切割,首先将验证码内容与散点图重合,对于验证码内容中表示内容的像素,对散点图保留原本像素;对于验证码内容中没有表示内容的像素,对散点图删除该像素,置为“透明”;
将切割后的第一份散点图复制为两份,一份向右进行位移,作为立体验证码的左内容,另一份向左位移,作为立体验证码的右内容;
将第二份散点图复制为两份,分别作为立体验证码的左、右背景图,对左背景图向左位移,对右背景图向右位移;
将左背景图水平向左进行非线性变形得到新的左背景图;
将右背景图水平向右进行非线性变形得到新的右背景图;
将左内容覆盖在左背景图之上,得到立体验证码的左图;
将右内容覆盖在右背景图之上,得到立体验证码的右图;
将立体验证码的左图与右图合成为立体图。
2.根据权利要求1所述的立体验证码的生成方法,其特征在于:所述的散点图是指在一种单一颜色的背景上,随机地分布着另一种单一颜色的多个点,各点的大小、形状因随机性而不完全相同,各点之间的距离大小,也因随机性而不完全相同。
3.一种用于权利要求1所述的立体验证码的生成装置,其特征在于:包括散点图生成模块,用于生成两份无规律的散点图;
内容切割模块,用于将第一份散点图按照验证码内容的形状进行切割;
内容位移模块,用于将立体验证码的左内容、右内容分别进行位移,使其在立体验证码中表现出“出屏”效果;
背景位移模块,用于将立体验证码的左背景、右背景图分别进行位移,使其在立体验证码中表现出“入屏”效果;
背景变形模块,用于对左、右背景图进行非线性变形,使其在立体图中表现出“凹陷”效果;
左右图生成模块,用于生成立体验证码的左、右图;
立体图生成模块,用于将立体验证码的左、右图生成最终的立体验证码。
4.根据权利要求1或2或3所述的立体验证码的生成方法和装置,其特征在于:最终的立体验证码,形式由存储方法和显示方法决定,将左、右图分别存储为普通图片文件,包括jpg、bmp、png、gif、tif,或存储为常用的立体图格式MPO。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110186266.6A CN102254355B (zh) | 2011-07-05 | 2011-07-05 | 一种立体验证码的生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110186266.6A CN102254355B (zh) | 2011-07-05 | 2011-07-05 | 一种立体验证码的生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102254355A true CN102254355A (zh) | 2011-11-23 |
CN102254355B CN102254355B (zh) | 2015-07-01 |
Family
ID=44981596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110186266.6A Expired - Fee Related CN102254355B (zh) | 2011-07-05 | 2011-07-05 | 一种立体验证码的生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102254355B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065341A (zh) * | 2012-12-19 | 2013-04-24 | 福建天晴数码有限公司 | 基于黑白双色的数字图片形成验证码图片的方法 |
CN104200150A (zh) * | 2014-09-01 | 2014-12-10 | 湖北盛天网络技术股份有限公司 | 验证码处理方法和装置 |
CN106295306A (zh) * | 2016-08-15 | 2017-01-04 | 长春工程学院 | 一种图片验证码的生成方法 |
CN107154924A (zh) * | 2016-03-04 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 基于验证码的验证处理方法及装置 |
CN110213205A (zh) * | 2018-03-27 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 验证方法、装置及设备 |
CN110210204A (zh) * | 2019-05-30 | 2019-09-06 | 网易(杭州)网络有限公司 | 验证码生成方法及装置、存储介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050152006A1 (en) * | 2004-01-08 | 2005-07-14 | Yasushi Abe | Detection of undesired document alteration and duplication, and generating verification data for such detection |
CN1655014A (zh) * | 2005-04-08 | 2005-08-17 | 崔明伦 | 三维立体视觉效果照片的制作方法 |
CN101388078A (zh) * | 2008-09-27 | 2009-03-18 | 腾讯科技(深圳)有限公司 | 基于验证的文本识别的方法及装置 |
-
2011
- 2011-07-05 CN CN201110186266.6A patent/CN102254355B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050152006A1 (en) * | 2004-01-08 | 2005-07-14 | Yasushi Abe | Detection of undesired document alteration and duplication, and generating verification data for such detection |
CN1655014A (zh) * | 2005-04-08 | 2005-08-17 | 崔明伦 | 三维立体视觉效果照片的制作方法 |
CN101388078A (zh) * | 2008-09-27 | 2009-03-18 | 腾讯科技(深圳)有限公司 | 基于验证的文本识别的方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065341A (zh) * | 2012-12-19 | 2013-04-24 | 福建天晴数码有限公司 | 基于黑白双色的数字图片形成验证码图片的方法 |
CN104200150A (zh) * | 2014-09-01 | 2014-12-10 | 湖北盛天网络技术股份有限公司 | 验证码处理方法和装置 |
CN104200150B (zh) * | 2014-09-01 | 2017-01-18 | 湖北盛天网络技术股份有限公司 | 验证码处理方法和装置 |
CN107154924A (zh) * | 2016-03-04 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 基于验证码的验证处理方法及装置 |
US11288354B2 (en) | 2016-03-04 | 2022-03-29 | Alibaba Group Holding Limited | Verification code-based verification processing |
CN106295306A (zh) * | 2016-08-15 | 2017-01-04 | 长春工程学院 | 一种图片验证码的生成方法 |
CN106295306B (zh) * | 2016-08-15 | 2019-02-01 | 长春工程学院 | 一种图片验证码的生成方法 |
CN110213205A (zh) * | 2018-03-27 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 验证方法、装置及设备 |
CN110213205B (zh) * | 2018-03-27 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 验证方法、装置及设备 |
CN110210204A (zh) * | 2019-05-30 | 2019-09-06 | 网易(杭州)网络有限公司 | 验证码生成方法及装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102254355B (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102254355A (zh) | 一种立体验证码的生成方法和装置 | |
CN106504188B (zh) | 用于立体视觉呈现的人眼观察图像的生成方法和装置 | |
CN102905145B (zh) | 立体影像系统、影像产生方法、影像调整装置及其方法 | |
CN108076208B (zh) | 一种显示处理方法及装置、终端 | |
CN104778491A (zh) | 用于信息处理的图像码及生成与解析其的装置与方法 | |
CN103873840A (zh) | 显示方法及显示设备 | |
WO2016018422A1 (en) | Virtual changes to a real object | |
CN105892643A (zh) | 基于虚拟现实的多界面统一显示系统及方法 | |
CN108881886A (zh) | 一种基于相机矩阵技术实现在显示端进行大数据无损交互应用的方法 | |
CN102713725A (zh) | 显示装置及显示方法 | |
CN102186092A (zh) | 在3d显示模式下实现2d菜单显示的方法、系统及显示器 | |
TW201734891A (zh) | 基於驗證碼的驗證處理方法及裝置 | |
CN110505465B (zh) | 数据传输方法、三维图像显示方法、装置及电子设备 | |
CN103745448A (zh) | 光栅3d显示中超高分辨率合成图像的快速生成方法 | |
KR101299191B1 (ko) | 3차원 모형에 영상을 투사하는 장치 및 방법 | |
CN104243956B (zh) | 一种立体图像视觉显著图提取方法 | |
CN106204703A (zh) | 三维场景模型渲染方法和装置 | |
CN101464953A (zh) | 轮廓提取装置和轮廓提取方法 | |
CN107505719A (zh) | 多维度画中画显示方法与系统 | |
CN104717514A (zh) | 多视点图像渲染系统及方法 | |
CN106937103A (zh) | 一种图像处理方法及装置 | |
CN109389199B (zh) | 一种多维码系统及编解码方法 | |
CN101216930A (zh) | 利用三维立体图标防伪的方法 | |
CN103871094A (zh) | 一种基于体扫描三维显示系统数据源生成方法 | |
CN102186093B (zh) | 一种生成立体图像的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150701 Termination date: 20190705 |