论文部分内容阅读
图像识别是一个世界性的难题,验证码识别是图像识别里的一个分支。不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。然而,由于验证码需要人工手动输入,在网络营销的领域里给厂家和企业带来了很大负担,因此合理地运用验证码识别技术,实现其自动化,具有很好的应用价值。本文将验证码图片的识别分为了三个部分来介绍:第一部分描述了验证码图像的预处理工作,包括将彩色验证码图片灰度化,用寻求最佳阈值的方法来二值化图像和通过中值滤波对图像进行平滑处理。第二部分介绍了验证码图像中字符的分割算法,首先运用边缘轮廓跟踪的算法,通过计算连通域面积的大小剔除孤立噪声区域,然后进行直方图分裂处理,最后运用改进的传统投影方法,实现字符的分割。第三部分详细介绍了一种基于“日”字投影的字符识别算法,并将该算法运用到验证码识别中来,最后通过二次再识别的算法改进实现了对本文验证码字符的识别。上述验证码图像算法都是用C++编写程序,在VC6.0中进行实验的,实验结果表明:本文的验证码识别算法可以很好地对实际网站中的验证码图片进行识别。同时随着Web Service的出现,实现了一种无缝互操作,它允许在一个平台上用一种语言编写的应用程序作为Web服务,被使用在另一个完全不同的平台上以完全不同的语言编写的应用程序中。本文最后通过对Web Service核心技术的研究,利用Web Service的特点,在.NET平台上用C#语言将验证码识别的算法编写为ASP.NET Web服务并将该服务进行发布和实现。这样当其他程序员要使用该算法时,不管他用的是什么语言编写的程序,都可以直接调用验证码识别算法服务,不用自己再去编写,实现服务资源的共享化,符合网络发展的趋势。