验证码识别--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. leetcode8 String to Integer (atoi)

    题目需求: 输入一个字符串,输出对应的int值 特殊处理: 输入: null  输出:0 输入: "a122"  输出:0 输入: "   1233"  输出: ...

  2. InterProScan 5.17-56.0 安装和使用

    InterProScan 5.18-57.0 安装和使用,目前最新版的interproscan 引用自 每日一生信--interproscan安装及使用(终结版)原文官网:http://code.go ...

  3. WebService的简单应用

    具体看项目源文件:包含: ip地址查询, QQ在线状态查询,和自定义的MD5 破解和加密(呵呵有形无势...) http://pan.baidu.com/s/1bn09WQj SOAP 1.1 The ...

  4. poj 题目分类(1)

    poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...

  5. Linux内核之旅 List_entry()

    #include "iostream" #define List_entry(type,member)\ (type *)(()->data)) ) using namesp ...

  6. .NET 4.0 MemoryCache with SqlChangeMonitor

    Summary There isn't a lot of documentation on the internet about how to use the SqlChangeMonitor wit ...

  7. java冒泡排序算法

    /** * 冒泡排序算法:每次 * @author shaobn * @description 每次都会确定一个最大的值 即固定了,所以会每次-i; */ public class Test1 { p ...

  8. paper 82:边缘检测的各种微分算子比较(Sobel,Robert,Prewitt,Laplacian,Canny)

    不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像.需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界 ...

  9. paper 32 :svm参数优化的进展

    从今天开始,我的微信公众号“天空之窗”就暂且停止更新内容了,专心搞研究!上午从师姐那儿淘到一份关于faruto讲解的Libsvm-FarutoUltimate3.1 based on libsvm-3 ...

  10. 04---Net基础加强

    字符串常用方法: 属性: Length获取字符串中字符的个数 IsNullOrEmpty()   静态方法,判断为null或者为“” ToCharArray() 将string转换为char[] To ...