关于验证码识别的两种方案

来源:互联网 发布:利用淘宝双十一赚钱 编辑:程序博客网 时间:2024/06/05 07:20
最近在做验证码识别的程序,找了不少资料,主要是两种方法。分别是(我称之为)“自建库方法”,“shape context方法”。
    这两种方法,其实是从两种方式来分析图像,前者的中心思想是切割出单个字符,将之变为一串二进制的key值,(在php中)以similar_text函数来得到相似度,这种方法,在网上有非常好的例子,
网址分别是:
http://blog.csdn.net/ugg/article/details/3953137《php实现验证码的识别(初级篇)》,
http://blog.csdn.net/ugg/article/details/3972368《php实现验证码的识别(中级篇)》
(恕我猜疑,这种方法的源头,我觉得是来自一篇外国的本科生的毕业论文,里面详细叙述了这种方法),不过,这种方法在识别复杂的验证码上是有着明显缺陷的——因为它非常依赖样本库,如果字符变化较多(缩放、旋转、变形),即使能以这种方式识别,可想见库是非常庞大的,并且没有什么普遍性(即一个库只能对应一种验证码)。
    虽然有种种“缺陷”,我还是试着去做了个程序。不言而喻,这个程序的核心部分是样本数据库,所以我采用一种“用人工识别特别码”的方法。具体方法是:如果识别错误,则将其中相似度(这里用的是php中的similar_text函数)低于阀值的字符插入待人工审查的数据库。

    另一种方法——“shape context方法”的角度完全不同,它是以形状的角度出发,偏重于数学的应用(出自balack大学的两个老师之手),但使用起来比较麻烦。在网上很少能找到相关代码,以下资料是找到的为数不多的实例:http://www.cnblogs.com/xiaotie/archive/2009/01/15/1376677.html?page=2#pagedcomment《车牌识别及验证码识别的一般思路》。这种方法可能需要借助更“强大”的语言,正在研究中ing
0 0