机器自动识别验证码的原理是怎么样的?
http://www.zhihu.com/question/22479139
----部分摘录
文字识别主要有两大步骤,第一步是特征提取,第二部是分类识别。
第一步包括:二值化,页面矫正,文字块提取,文字baseline提取,文字分割,特征提取,etc.
第二步包括:训练时的特征与字符的映射关系存储,识别时的特征识别。
第一部是通用的,第二步可以用各种机器学习的算法,包括ANN,SVM等算法,典型代表:tesseract(tesseract-ocr - An OCR Engine that was developed at HP Labs
between 1985 and 1995... and now at
Google.)。这种比较通用,用户可通过自己训练以应用于其他语言的识别。
当然也可以不用机器学习的算法,直接硬编码,指定哪些特征属于哪个字符,典型代表:GOCR
(http://jocr.sourceforge.net/index.html)。这种适用于小字符集,比如英语,或者指定某个范围的汉语字符等情况,速度较快。
我认为OCR最复杂的还是在于第一步,文字的分割提取。