日期:2014-05-17  浏览次数:20840 次

验证码识别--经验交流-------去除背景色---------------------
如图所示验证码,背景色是渐变的时候,大家说说有什么好办法去除背景色,交流下思路


------解决方案--------------------

------解决方案--------------------
引用:


rgb 3色取和 小于某值就是黑色  大于某值就为白色


一般网上有一个比例    rgb占的比例有点差别

不过你的不用比例也可以  直接取和吧
------解决方案--------------------
引用:
引用:引用:

rgb 3色取和 小于某值就是黑色  大于某值就为白色


一般网上有一个比例    rgb占的比例有点差别

不过你的不用比例也可以  直接取和吧

此法不行,有些码 rgb 3色取和 比背景的还小,因此也变为白色,如图所示,灰度化后码变成空心的了,和背景区分不出来……



把纯色部分弄提取出来就OK了 
自己写个纯色算法
------解决方案--------------------
到这一步就简单啦~
------解决方案--------------------
引用:
引用:
引用:引用:引用:
把纯色部分弄提取出来就OK了 
自己写个纯色算法

呵呵,英雄所见略同,今天已经可以了,来看到你的意见和我的想法一样。看来搞这个破解,还是要认真分析具体的图片规律,没有一个通吃的办法。
下面是结果实例:目前已经分立字母……

这种没变形的,到这部基本OK了
------解决方案--------------------
楼主qq多少,交流下,识别我以前有做过,想知道下楼主怎么实现背景分离的
------解决方案--------------------
引用:
呵呵,现在验证码识别好像问题不大了,可是在HttpWebRequest 获得验证码的时候卡住了,
目标网站的验证码是 js脚本(checkimg.js)生成的,HttpWebRequest 怎么能得到啊。
XML/HTML code?123<div><label for="imgcheck">验证码</label>     <span id="checkimgdiv"……

别看网页源代码,直接看发送的请求(浏览器自带的F12开发人员工具就可以),然后用webclient(也可以用webrequest)来下载就可以了。

另外,识别的话你可以把每个字母都2值化一遍,分割出来每个字母存为样本,然后比较的时候把你获得的验证码2值化,分割,和你存的样本比较颜色的重合度就可以了。
------解决方案--------------------
顶一个
------解决方案--------------------
期待撸主发挥一下开源精神
------解决方案--------------------
看看腾迅那个,字段大小和颜色激变。有何解法?