首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

判别验证码

2012-06-27 
识别验证码用imagemagick和tesseract-ocr破解简单验证码??Tesseract是Ray Smith于1985到1995年间在惠普布

识别验证码

用imagemagick和tesseract-ocr破解简单验证码

?

?

Tesseract是Ray Smith于1985到1995年间在惠普布里斯托实验室开发的一个OCR引擎,曾经在1995 UNLV精确度测试中名列前茅。但1996年后基本停止了开发。2006年,Google邀请Smith加盟,重启该项目。目前项目的许可证是Apache 2.0。

  该项目目前支持Windows、Linux和Mac OS等主流平台。但作为一个引擎,它只提供核心功能,没有界面。

?

  有兴趣参加该项目的同学,可以加入:http://groups.google.com/group/tesseract-dev/,或者与Smith联系。


下载工具:imagemagick + tesseract-ocr

?

Tesseract-ocr据说辨识程度是世界排名第三,可谓神器啊。

准备工作:

1.安装tesseract-ocr


先试一个简单的:

有黑色边框,有背景色,文字稍微扭曲。

1img = MiniMagick::Image.new("tmp/4399.jpg")2img.crop("#{img[:width] - 2}x#{img[:height] - 2}+1+1") #去掉边框(上下左右各1像素)3img.colorspace("GRAY") #灰度化4img.monochrome #二值化5image = RTesseract.new(img.path) #ocr识别6image.to_s.sub(/\s+$/, "") #=> "5692"

像上面这样简单的识别率几乎能达到80%以上,扭曲太严重的识别率就很低了。有轻微噪点的就得自己写去噪算法了。。

?

?

破解图片验证码限制的一般思路:

http://www.williamlong.info/archives/347.html

?

热点排行