日期:2014-05-20  浏览次数:20758 次

如何识别图片验证码
我最近对图片验证很感兴趣, 想用Java自己写一个。 这里不需要大家给我什么现成可用的代码, 因为我想自己比较系统地研究一下这方面的知识。 谁可以推荐几本介绍这方面的书吗? 最后推荐2,3本, 由入门到高级的书。 最好是英文的书, 推荐的最好是你自己看过的, 真的曾经引导你了解这方面的知识, 写出一个像样的图片验证码识别程序。 这些书最好网上可以下载到或者可以买到。

------解决方案--------------------
图像识别可是一门科学啊。。。
------解决方案--------------------
尖端的计算机科学技术,计算机难题之一,涉及计算机图形学、模式识别、人工智能、神经网络。

至于这一领域的速成书,根本就不存在!
------解决方案--------------------
这个东西的学名叫做CAPTCHA,是“Completely Automated Public Test to tell Computers and Humans Apart”(全自动区分计算机和人类的测试)的缩写。

你可以搜索相关文档学习。

如果你想使用这个东西来保护系统的话,有现成的工具包可以使用。

如果你是想学习如何破解该系统的话,据我了解,目前还没有完善的方法。而且这也是跟该系统的用途相悖的。
------解决方案--------------------
一个帖子2个大牛,楼主面子不小啊
图形验证呢,我就不知道
但是我知道有人脸识别。。。C++程序,网上能下到源代码,我见过,看见一堆指针就实相的走开了,你要不要google看,然后参考下

如果是网站登录时的那种图片验证呢。。逆向思维倒是有,让我写识别程序我就不行了。。。
一般验证图形是这样生成的,首先随机生成4个字符,然后根据字符来生成Image对象放到页面里面去。然后用户的输入拿到以后跟之前的String对象做比较。
我的思路到这边就停止了。。。没了
------解决方案--------------------
楼主 先搞定Java对于图形的实现类吧...
图形验证码的破解与设计
http://blog.csdn.net/axman/archive/2007/03/28/1543716.aspx

------解决方案--------------------
如果你能写出识别程序,等你毕业的时候就真的牛了!
------解决方案--------------------
简单的思路,
去除边框,转换图像格式到bmp.
转换成灰度图...
过滤杂色,
切分出单字...
对每个灰度的点阵进行统计分析....
统计出最多的灰度,查找字典,找出字形
26个字母和数字是简单哦...

但是有中文就麻烦了,还要有手写识别..
如果字体比较特别的英文变形也麻烦哦...
------解决方案--------------------
貌似算法很复杂......
启发式算法可能很多,但是抗噪性不一定好。