本文源自:http://hooopo.iteye.com/blog/993538
工具:imagemagick + tesseract-ocr
Tesseract-ocr据说辨识程度是世界排名第三,可谓神器啊。
准备工作:
1.安装tesseract-ocr
- sudo apt-get install tesseract
2.安装imagemagick
- sudo apt-get install imagemagick
3.安装rmagick
- sudo apt-get remove --purge librmagick-ruby-doc librmagick-ruby1.8
- sudo apt-get install libmagick9-dev ruby1.8-dev
- sudo gem install rmagick
先试一个简单的:
- require 'rubygems'
- require 'rtesseract'
- img = RTesseract.new("tmp/test.jpg")
- img.to_s.sub(/\s+$/, "") # => "3R8Z"
很成功,但这个太简单了。一般破解复杂点的验证码处理步骤是先用imagemagick灰度化,灰度反转,提高对比度,二值化等。然后再用ocr去识别。ocr识别黑白图片效果比较好些。
这个是人民网的验证码:
- img = MiniMagick::Image.new("tmp/people.jpg")
- img.colorspace("GRAY")#灰度化
- image = RTesseract.new(img.path)
- image.to_s.sub(/\s+$/, "") # => "254369"
这个还是简单,再复杂一点的,这个是4399.com的验证码:
有黑色边框,有背景色,文字稍微扭曲。
- img = MiniMagick::Image.new("tmp/4399.jpg")
- img.crop("#{img[:width] - 2}x#{img[:height] - 2}+1+1") #去掉边框(上下左右各1像素)
- img.colorspace("GRAY") #灰度化
- img.monochrome #二值化
- image = RTesseract.new(img.path) #ocr识别
- image.to_s.sub(/\s+$/, "") #=> "5692"
像上面这样简单的识别率几乎能达到80%以上,扭曲太严重的识别率就很低了。有轻微噪点的就得自己写去噪算法了。。
还有一些验证码看起来很变态但是是纸老虎。像当当的。刷新了几次发现结果在1-20之间,选中一个数暴力破解每次也有1/20正确的概率。
还有139的:。答案就12种1-4A-Da-d。而且不区分大小写。选中一个字母每次有1/6的概率命中。
ps:研究破解验证码不是为了搞破坏。请勿跨省追捕。
当然还有人工ocr:优优云打码等 这些是付费的居多
相关推荐
apt-get install tesseract-ocr tesseract-ocr-deu tesseract-ocr-eng tesseract-ocr-fra tesseract-ocr-equ imagemagick scantailor pdftk 注意:可能需要在 wheezy 中启用 BACKPORTS 才能拥有最新的 scantailo
ImageMagick-7.1.0-23-Q16-HDRI-x64-dll
ImageMagick-6.9.2-1-Q16-x64-dll.exe
ImageMagick-6.9.3-7-Q16-x86-dll.exe php_imagick-3.4.3-5.5-ts-vc11-x86 php_imagick.dll
ImageMagick-6.9.3-7-Q16-x64-dll.exe ,又要其他版本的可以私信我,我帮你找找看
ImageMagick-6.8.8-10.tar.gz 第三方修改图片的库,非常游泳
ImageMagick-7.0.10-10.tar.gz,用于在Linux服务器上批量压缩图片,安全好用
ImageMagick-6.7.6-9-Q16-windows-dll.exe.rar ImageMagick-6.7.6-9-Q16-windows-dll.exe.rar ImageMagick-6.7.6-9-Q16-windows-dll.exe.rar ImageMagick-6.7.6-9-Q16-windows-dll.exe.rar ImageMagick-6.7.6-9-Q16-...
ImageMagick-6.7.7-6-Q16-windows-dll
ImageMagick-7.0.3-6-Q16-x64-static
ImageMagick
ImageMagick是免费软件,可以即用型二进制分发形式提供,也可以作为源代码提供,您可以在开放应用程序和专有应用程序中使用,复制,修改和分发它们。它是在派生的Apache 2.0 许可下分发的。 ImageMagick利用多个...
ImageMagick-6.9.3-7-Q16-HDRI-x64-dll.exe下载,旧版本,方便大家使用
ImageMagick-6.7.5-1-Q16-windows版本,php扩展使用,低版本。
ImageMagick-6.9.9-21-Q16-x86-dll,ImageMagick-6.9.9-21-Q16-x86-dll
ImageMagick-7.0.8-44-portable-Q16-x86.zip
ImageMagick (TM) 是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转...
ImageMagick--6.8.4-Q16-x64-dll.exe下载,旧版本,方便大家使用
ImageMagick-6.9.3-5-Q16-x64
RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.rar 包含 rmagick-2.13.2.gem ImageMagick-6.5.6-8-Q8-windows-dll.exe RMagick-2.12.0.tar.gz rmagick-2.12.0-x86-mswin32.gem