心血来潮, 想识别一下一般论坛里登录的验证码,类似于这样的

网上有一个tesseract-ocr库,是一个OCR 引擎。

此引擎的优点重复下,字母类语言的识别率几乎可达100%,前提是图像最好黑白(二值化过地),噪点少地图,测试时发现每个字符的高度必须在10个像素以上才能识别.
      增强识别率的关键是要识别的验证码图片越干净越好,为此准备了六种图像过滤,用以滤干净图像,有:图像二值化,锐化,中值滤波,线性灰度变换,转黑白灰度图,放大(非平滑缩放).

    一般干扰不太严重的验证码,如支付宝使用图像二值化和线性灰度变换就可以做到100%识别,有噪点的才需要中值滤波.

使用这六种过滤的组合应该可以搞定大部分比较弱智的验证码。

插播一段:

OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。

 

Ruby gem  rtesseract