验证码识别--type5

每一种验证码都是由人设计出来。在设计过程中,可能由于多个方面的原因,造成了这样或那样的可以被利用的漏洞。验证码识别,首先需要解决的问题就是发现这些漏洞--然后利用漏洞解决问题。
这个图片看上去很复杂,有空心字符、有粘连、有干扰线,但是为什么人在识别的时候不会出错?是因为主要字符是不同颜色的。而且设计者为了防止如果随机的话出现相近的颜色造成不能被识别的结果,于是选用了6种相互之间区别都比较大的颜色——并且只有这6种颜色。这就是切入口。
另一个方面,关于具体颜色的处理,我还真是弱项。如果过滤出特点的区域的颜色,是个问题。
一、判断相似颜色
即使是非常相似的颜色,也会被认为是不相同的,直接用RGB相比较,是不科学的。
最好的办法是有那种可以拖动的条来做这个东西的,按时目前也是能够做出一些效果来的。
if (r<50 || g>50 ||b>50) 红 也包括,镂空问题再考虑,我先把几个颜色分离出来,最好能够做出自动化的工具
首先是3元色
    if (b<50 || g>50 ||r>50) 
  if (g<50 || b>50 ||r>50)
 
然后是混合色    if (g>50    ) 紫色
 
 
橙色
现在应该是摸索出一套方法出来,应该可以有所使用
如果采用ps的话,其效果的确是更好一点。但是问题在于这里的颜色容差如何来算
通过带着问题来阅读,我修改代码
一方面,继续原有代码。对于三原色,采用盒式模型,而对于延伸的三色,采用球模型
结果应该说是很好了。问题主要出现在空心字符哪里,还有字符粘连那里。
二方面,hsi应该 是更直观的
但是效果不好,不知道为什么。还是采用RGB模型.
 
最后,经过相关的处理,只能得到这样的结果
 
下一步如何来做,一方面,还是需要通过先验知识--字的团块主要是在一起的。来做分析,把主要团块找出来,然后把这些缝隙连接起来。
做到目前这一步,非常关键的一个问题出现了:
图像分割要做到哪一步,才是可行的?此外,识别要到什么程度,才是有价值的。这几个问题都必须通过具体的识别的例子才能够得到结果。所以目前几个type的识别必须要继续再做一步。

验证码识别--type5的更多相关文章

  1. 字符型图片验证码识别完整过程及Python实现

    字符型图片验证码识别完整过程及Python实现 1   摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...

  2. 验证码识别<1>

    1. 引子 前两天访问学校自助服务器()缴纳网费,登录时发现这系统的验证码也太过“清晰”了,突然脑袋里就蹦出一个想法:如果能够自动识别验证码,然后采用暴力破解的方式,那么密码不是可以轻易被破解吗? p ...

  3. 简单的验证码识别(opecv)

    opencv版本: 3.0.0 处理验证码: 纯数字验证码 (颜色不同,有噪音,和带有较多的划痕) 测试时间 :  一天+一晚 效果: 比较挫,可能是由于测试的图片是在太小了的缘故. 原理:  验证码 ...

  4. 利用开源程序(ImageMagick+tesseract-ocr)实现图像验证码识别

    --------------------------------------------------低调的分割线-------------------------------------------- ...

  5. 基于LeNet网络的中文验证码识别

    基于LeNet网络的中文验证码识别 由于公司需要进行了中文验证码的图片识别开发,最近一段时间刚忙完上线,好不容易闲下来就继上篇<基于Windows10 x64+visual Studio2013 ...

  6. Java验证码识别解决方案

    建库,去重,切割,识别. package edu.fzu.ir.test; import java.awt.Color; import java.awt.image.BufferedImage; im ...

  7. 简单验证码识别(matlab)

    简单验证码识别(matlab) 验证码识别, matlab 昨天晚上一个朋友给我发了一些验证码的图片,希望能有一个自动识别的程序. 1474529971027.jpg 我看了看这些样本,发现都是很规则 ...

  8. Python验证码识别处理实例(转载)

    版权声明:本文为博主林炳文Evankaka原创文章,转载请注明出处http://blog.csdn.net/evankaka 一.准备工作与代码实例 1.PIL.pytesser.tesseract ...

  9. 验证码识别--type2

    验证码识别--type2 终于来到了彩色图像,一定有一些特点 这里的干扰项是色彩不是很鲜艳的.灰色的线条,还有单独的干扰点,根据这些特性进行去除 直接ostu的话,有的效果好,有的效果不好   本来是 ...

随机推荐

  1. Orthomcl的详细使用

    参考了众多文章并结合实际操作后的感想. 参考:http://www.plob.org/2013/09/18/6174.html 参考:http://www.plob.org/2012/06/12/22 ...

  2. centos 6.4下设置输入法

    最近安装了centos,设置输入法步骤如下: 1)确定安装了Chinese support: : yum install "@Chinese Support" 2)输入法设置 在界 ...

  3. Swift实战-豆瓣电台(九)简单手势控制暂停播放(全文完)

    Swift实战-豆瓣电台(九)简单手势控制暂停播放 全屏清晰观看地址:http://www.tudou.com/programs/view/tANnovvxR8U/ 这节我们主要讲UITapGestu ...

  4. 很赞的PHP字符串加密函数

    最近, 从discuz里面发现了一个很牛的加密解密函数. 此函数的厉害之处在于可以在指定时间内加密还原字符串,超时无法还原 这样我们就可以拿此函数来做很多用途了,比如:单点登录的token加密传输啦, ...

  5. [转]MySQL数据库引擎

    经常用MySQL数据库,但是,你在用的时候注意过没有,数据库的存储引擎,可能有注意但是并不清楚什么意思,可能根本没注意过这个问题,使用了默认的数据库引擎,当然我之前属于后者,后来成了前者,然后就有了这 ...

  6. php-wamp滴定仪网站的根目录

    1.点击wamp中的Apache中的httpd.conf:如下图修改两处 2.进入wamp的安装目录下:修改这两个文件(目的:修改wamp中网站目录) 内容如下图: 关闭wamp服务:重启wamp

  7. Android Preview显示

    Android Studio的功能包含preview窗口, 可以查看布局(layout)的样式; 位置: app->src->main->res(资源)->layout(布局) ...

  8. windows下 mysql忘记密码怎么办

    第一种: 1. 关闭正在运行的MySQL服务. (先查看mysql是否重命名,net start)2. 打开DOS窗口,转到mysql\bin目录. 3. 输入mysqld --skip-grant- ...

  9. 关于 static 的用途

    1.三个作用 第一个作用是 隐藏 输出: Hello 所有未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问.此例中,a是全局变量,msg是函数,并且都没有加static前缀, ...

  10. Struts2的Action名称搜索顺序:2014.12.30

    struts.xml配置: <struts> <package name="hw" namespace="/test" extends=&qu ...