转自:http://www.cnblogs.com/pmars/archive/2011/12/02/2271898.html
最近因为项目的缘故,用到了一些图片识别的应用,去网上找了一下关于验证码识别的源代码
发现有一个较为简单的代码:http://www.cnblogs.com/yuanbao/archive/2007/09/25/905322.html
仔细看了一下他的代码,发现这只是针对于特定的网站的,非常规则的验证码识别,
限制条件:
1)验证码必须是特定的个数
2)验证码必须非常规则
3)不可以有扰乱的线条
而我需要用到的是去搞定商城里面的价格,因为价格的话需要给消费者看,所以没有加入扰乱的线条,并且他们的数字也比较规则,这样的话,2,3条就不用考虑了,而价格的数字的个数是不定的,所以我们需要改写一下他的源代码就可以了!
这个是我改写之后的代码,说明的话都在里面做了!
View Code
基类建好之后我们只需要针对某一特定的网站去分析其图片中数字的对比字符串就可以了,利用基类里面的TestNum就可以了!
在此,为了说明这段代码的用法,我用京东商城的价格图片作为试验品(PS:工作中,我可没有做这些^v^)
首先我手动的下载了几张价格图片,这个在实际应用中可以直接用代码去下载,并且测试了其数字串,代码和结果显示在下面
View Code
这里面的01代码就是我所谓的 对比的数字串 了!
将他们提取出来,去给基类里面的numDic赋值就可以了
下面是京东商城的类的代码,其中给numDic赋值了
View Code
并且最终测试的代码和结果如下:
View Code
需要提到的是,在这里,图片的名称就是下载时候的价格,这个不是我假写的(- -)
总结:这个方法去找价格,或者说是识别简单的图片是可以的,前提是他们不要做过多的改变。。。。