本文源自: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:优优云打码等 这些是付费的居多
相关推荐
Tesseract不仅仅是一个独立的OCR工具,还可以与其他软件结合使用,如图像处理工具(如ImageMagick)、编程语言(如Python、Java)等,构建更复杂的文本识别系统。例如,通过Python的pytesseract库,可以方便地将OCR...
本教程将详细讲解如何在Linux环境下安装和使用Tesseract OCR,并提供相关资源包。 首先,我们需要确保系统已经更新到最新版本,以获取最新的软件包和依赖项。打开终端并输入以下命令: ```bash sudo apt update ...
在提供的压缩包文件中,我们有两个版本的Tesseract OCR安装程序:tesseract-ocr-setup-3.05.02.exe 和 tesseract-ocr-setup-3.05.01-20170602.exe。这些是用于在Windows操作系统上安装Tesseract OCR的执行文件。 **...
本文将详细介绍在SUSE系统上安装和配置Tesseract OCR的过程,以及可能遇到的问题和解决方案。 ### 1. 安装Tesseract OCR 首先,确保你的SUSE系统是最新的,通过运行以下命令来更新系统: ```bash sudo zypper ...
本文主要围绕“tesseract-3.04.00及中英文语言包”这一主题,深入探讨其在Ubuntu 14.04操作系统下的安装、配置和使用。 1. **Tesseract 3.04.00概述** Tesseract 3.04.00是Tesseract 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了,例如用`convert`命令进行图像转换: ``` convert input.jpg output.png ``` 此外,开发人员可以利用提供的API在自己的程序中调用ImageMagick的功能,实现更...
ImageMagick是一款强大的开源图像处理工具,用于在各种操作系统上创建、编辑、合成二值、灰度和彩色图像。这个软件包"ImageMagick-6.9.3-7-Q16-x86-dll"是针对x86架构的一个特定版本,其版本号为6.9.3-7,并且包含...
总之,"ImageMagick-7.1.1-21-Q16-x86-dll.exe"是一个专为32位Windows系统设计的图像处理工具,具备高色彩精度和灵活性,可用于多种图像处理任务,无论是简单的转换还是复杂的图像算法,都是开发人员和图像爱好者的...
**Tesseract OCR 3.02.02 Linux 知识点详解** Tesseract OCR(Optical Character Recognition,光学字符识别)是一款强大的开源OCR引擎,由HP开发,后来由谷歌维护。Tesseract 3.02.02 版本是该软件的一个历史版本...
ImageMagick是一款强大的开源图像处理工具,用于在各种操作系统上创建、编辑、组合和转换位图图像。这个“ImageMagick-7-Q16-x64-dll完整安装包”显然是ImageMagick的一个特定版本,适用于64位系统,并且包含动态...
ImageMagick-7.1.0-23-Q16-HDRI-x64-dll
本资源包包含了处理图片以及安装和使用Tesseract所需的相关资源,确保用户能够在Linux环境中顺利进行OCR操作。以下将详细介绍Tesseract的使用、依赖安装以及相关步骤。 1. **Tesseract介绍** Tesseract是一个高度...
ImageMagick-6.9.2-1-Q16-x64-dll.exe
ImageMagick是一款强大的开源图像处理工具,用于在各种操作系统上创建、编辑、组合和转换光栅及矢量图像。这个特定的版本,"ImageMagick-7.0.1-4-Q16-x64-dll",是为64位操作系统设计的,因此它只能在64位版本的...
ImageMagick的核心是其内部使用的多种算法,这些算法负责图像的解析、编码、解码和渲染。例如,它采用了高效的色彩管理和色彩空间转换算法,确保了图像在不同格式间转换时的质量。同时,ImageMagick也支持透明度处理...
`LICENSE`文件通常包含软件的授权信息,对于ImageMagick来说,这可能是GPL、MIT或BSD等开源许可证,允许用户免费使用、修改和分发源代码。阅读此文件是了解软件使用条款的重要步骤。 `bin`目录包含可执行文件,这些...
ImageMagick-6.9.3-7-Q16-x64-dll.exe ,又要其他版本的可以私信我,我帮你找找看
ImageMagick-6.8.9-6-Q16-x86-dll
3. **include**:这个目录包含ImageMagick的头文件,它们是C和C++编程时用来链接和使用ImageMagick库所必需的。如果你打算在C或C++程序中直接调用ImageMagick的API,就需要这些头文件。 4. **lib**:这个目录存储了...