1
背景
CAPTCHA的英文全称为Completely Automated Public Turing Test to Tell Computers and Humans Apart,译为“全自动区分计算机和人类的图灵测试”。测试手段多种多样,在图像领域用于测试的数字图像,从最初简单的黑白像素字符演变为包括多种颜色、噪声干扰、变形字体、旋转字体、以及实体识别、目标物标记与滑动操作等多种模式。
2
处理过程
图像处理作为预处理过程要完成区域定位、矫正分割,并依靠连通域分析、仿射变换、二值化处理、投影分析等技术实现。本文讨论的CAPTCHA测试,识别主体基本处于图像中央位置,因此省去了定位这一环节。整体处理过程大致需要以下步骤:
- 灰度与二值化,必要时配合去除噪声的操作;
- 图像分割与矫正;
- 识别字符。
刚接触图像处理的阶段,大家心里会有一个疑问:为什么总是要进行二值化处理?其实二值化是一个“化繁为简”的过程,多数情况下关注被研究物已经足够了,而其余信息是多余的。灰度将多通道信息变为单通道,再通过二值化保留关键信息用于后续的处理。
去除噪声的过程有时优先于二值化过程,有时在二值化过程之后,并且依据研究的问题不同,所使用的方法也不相同。本文使用的测试图片包含