| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 32344 人关注过本帖, 17 人收藏
标题:图片验证码识别教程----醉若星(原创,1~3章加源程完整版)
只看楼主 加入收藏
liuqinglq
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-2-14
收藏
得分:0 
[bo]以下是引用 [un]pacocai[/un] 在 2008-2-14 17:35 的发言:[/bo]
你说的超过图象边界?这是指数字有的时候会不完整对吗?还是指…………?
关于位置不固定:如果说是位置不固定的话我们的解决方案是先对图象进行扫描,然后记录出现不同色块(数字与背景色是不同的)然后记录这个最高点。然后一直扫描到底部,记录数字的最低点。这样就知道这个数字的高度和宽度了。再对这个数字进行截取。这样就可以完整的把数字截下来了。然后对数字进行扫描,最后再核对特征库,这样就能得到正确的数字了。


可能是我没说清楚。取图存图我会啦,我是说取得数字的有效区

一个验证码有4个数字,数字带了一点旋转和缩放

你也说了,与特征码比较要有个前提是长度相同,问题是面对这样的数字,要怎么取才能保证都一个大小呢?

取得与数字完全贴近的话,这一块可能根本不是和特征码等长;如果按特征码的块大小来取,数字在快中的位置可能不一样

是不是比较时还得进行旋转和上下左右移动来处理?
2008-02-15 14:53
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
建议贴例图上来,这样说没概念!

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-15 19:30
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
图不要只贴一张,最好是十张,二十张这样!

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-15 19:31
liuqinglq
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-2-14
收藏
得分:0 
就这个验证码...刷20次就有20张了...

" border="0" />
2008-02-18 09:09
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
你这个验证码比较麻烦,我个人认为你只能把图截出来,然后多收集验证码的牲。其它的话就是把误差值设大一些。不过识别率来说的话肯定不能让人很满意。你需要多收集这个验证码的图片,然后对一组图进行观察,然后找出共同点。你说的旋转我看了你这里的图片,基本上都有旋转。所以这个特征码还是比较好弄,至于你说的有些数字超出图片,有不完整的情况,那最简单的就是直接只判断数字的上半部份就可以了呀!干嘛我非要载取整个数字的特征码呢?[bc07]

你注意观察一下就发现,10个数字中其实上半部份都不相同,我们可以直接只取上半部份就可以了。[bc10]

剩下的就得你自己去干了……我提供我的思路。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-18 09:53
liuqinglq
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-2-14
收藏
得分:0 
谢谢pacocai的回答

还是有些不清楚,这样吧,我把问题分列出来确认一下

1.由于数字的位置和大小不固定,怎么样才能保证读取图片的特征码与库里的等长?
你没有明确回答,看意思好像是要按库里的特征码的高宽来取图?因为你说把误差值设大一些。

2.数字超出图片的情况怎么解决?
你回答是取上半部分。是这样吧?

3.数字旋转怎么解决?
也是用“误差值设大一些”这个吗?

4.其实数字还有缩放,这个同3吧。
2008-02-18 10:09
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
1.由于数字的位置和大小不固定,怎么样才能保证读取图片的特征码与库里的等长?
数字位置和大小不固定,我最前面说过,你应该对图片进行扫描,然后取出数字的最高点和最低点,这样就能保证数字肯定能载出来,并且是只取数字。至于与特征码等长的话,你可以这样来解决,因为我现在提的方案是只需要识别数字的上部份,那么你应在特征库里只有数字一半的,然后这里有一个图片不完整,那你就需要计算一个,每次数字的特征码读出来以后,取多少行的特征码做为识别。这个很重要。并且你的特征码库里你需要有数字的360度角度及数字大小的特征库。

2.数字超出图片的情况怎么解决?
你回答是取上半部分。是这样吧?
这个随便吧,你可以取图片的上半部份,又或是只取图片n行做为识别。这个就需要你先对图片进行分析,找出规律,最后得出需要多少行进行取值最优。

3.数字旋转怎么解决?
先找规律,然后增加库中相对的旋转后的数字特征。

4.其实数字还有缩放,这个同3吧。
同上

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-18 10:23
lizhenzhi
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2008-2-17
收藏
得分:0 
来看看!怎么我在的用户组好多附件下不到呀!
2008-02-18 22:00
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
不能下载???这个你得问静老大了。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-19 09:13
zfc21
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-3-30
收藏
得分:0 
很傻很天真
2008-03-03 21:33
快速回复:图片验证码识别教程----醉若星(原创,1~3章加源程完整版)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018285 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved