`

使用Tesseract 识别验证码

 
阅读更多
参考:
http://code.google.com/p/tesseract-ocr/
https://stackoverflow.com/questions/2363490/limit-characters-tesseract-is-looking-for
http://resources.infosecinstitute.com/case-study-cracking-online-banking-captcha-login-using-python/

1. 安装:
apt-get install tesseract-ocr

2. 预先处理图片,代码片段:
from PIL import Image
import os
import time

def crack(cap_name):
 
    img = Image.open(cap_name+'.JPEG')
    img = img.convert("RGB")
    pixdata = img.load()
 
    for y in xrange(img.size[1]):
        for x in xrange(img.size[0]):
            if pixdata[x, y][0] < 90:
                pixdata[x, y] = (0, 0, 0, 255)
    for y in xrange(img.size[1]):
        for x in xrange(img.size[0]):
            if pixdata[x, y][1] < 136:                 pixdata[x, y] = (0, 0, 0, 255)     for y in xrange(img.size[1]):         for x in xrange(img.size[0]):             if pixdata[x, y][2] > 0:
                pixdata[x, y] = (255, 255, 255, 255)
    ext = ".tif"
    img.save(cap_name + ext)


3. 使用tesseract命令识别图片:
tesseract imagename outbase [-l lang] [-psm N] [configfile ...]

引用
0 = Orientation and script detection (OSD) only.
1 = Automatic page segmentation with OSD.
2 = Automatic page segmentation, but no OSD, or OCR
3 = Fully automatic page segmentation, but no OSD. (Default)
4 = Assume a single column of text of variable sizes.
5 = Assume a single uniform block of vertically aligned text.
6 = Assume a single uniform block of text.
7 = Treat the image as a single text line.
8 = Treat the image as a single word.
9 = Treat the image as a single word in a circle.
10 = Treat the image as a single character.


4. 限制Tesseract搜索的字符
1)在tessdata/configs文件夹中创建一个新的配置文件
2)在配置文件中添加如下:
引用
tessedit_char_whitelist abcdefghijklmnopqrstuvwxyz 

3. 使用新建的配置文件调用tessdata命令。

5. 训练Tesseract识图能力
参考文章:
http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract2
http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3
分享到:
评论

相关推荐

    C#调用Tesseract3.0.2识别验证码所需要的组件

    以上就是C#调用Tesseract 3.0.2识别验证码所需的基本组件和操作步骤。理解并掌握这些知识点,你就能在C#环境中实现一个基本的OCR验证码识别系统。然而,实际应用中可能还需要根据验证码的特点和识别需求进行更多的...

    tesseractOCR 验证码解析

    尽管 tesseractOCR 在许多情况下表现良好,但验证码识别仍面临挑战,例如动态验证码、模糊图像、复杂的字符组合等。此外,一些验证码设计旨在对抗OCR,如添加干扰线或使用不规则字体,这些都可能降低识别准确率。在...

    通过tesseract识别登录验证码.txt

    做自动化的时候,经常需要识别验证码,此文过tesseract识别登录验证码

    Lab3 基于Python图像处理与Tesseract识别验证码.zip

    在这个实验“Lab3 基于Python图像处理与Tesseract识别验证码”中,我们将深入探讨如何使用Python语言和Tesseract OCR(光学字符识别)引擎来处理图像并识别验证码。验证码通常用于验证用户是否为真实的人,防止自动...

    JAVA智能验证码识别,可训练识别率高

    JAVA中有一些著名的OCR库,如Tesseract和JavaCV,它们可以方便地集成到JAVA项目中,进行验证码识别。 Tesseract是一个开源的OCR引擎,最初由HP开发,后来由Google维护。它可以识别多种语言,并且可以通过训练数据集...

    python利用Tesseract识别验证码的方法示例.pdf

    然而,实际应用中,尤其是识别验证码时,图像可能包含复杂的设计和噪声,导致识别率降低。为了提高识别准确性,通常需要对图像进行预处理,如灰度处理和二值化。在Python中,我们可以使用PIL(Python Imaging ...

    使用Java调用Ocr识别验证码

    总的来说,这个资源包提供了Java环境下使用Tesseract OCR识别验证码的基础,开发者可以根据提供的代码示例和使用说明进行实践,结合自己的需求进行定制和优化。理解并熟练掌握这些知识点,对于提升自动化工具的效能...

    node-tesseract:node-tesseract识别验证码

    node-tesseract demo用 node.js 调用 node-tesseract 和 graphicsmagick 包实现验证码识别安装npm install gmnpm install node-tesseract 执行执行 node index 即可看到结果。相关文章

    C#图像处理与OCR:从验证码识别到文本提取 Tesseract实现验证码识别:本地化

    C#图像处理与OCR:从验证码识别到文本提取 Tesseract实现验证码识别:本地化

    使用Tesseract-OCR在loadrunner中识别验证码

    使用Tesseract-OCR在loadrunner中识别验证码,知道还有一个Tesseract-OCR可以用来识别图片上的文字(验证码)。 有一个Tesseract-OCR可以用来识别图片上的文字(验证码)。  在code.google上下载了tesseract-ocr-setup-...

    tesseract工具,进行orc光学字符,识别文字及登陆验证码

    3. **自定义训练**:用户可以根据需要对Tesseract进行训练,使其适应特定的字体、样式或领域,例如识别验证码中的特殊字符。 4. **灵活性**:Tesseract提供了命令行接口和API,可以方便地集成到各种软件项目中,...

    TianJin.rar_Tesseract_识别_验证码识别

    本教程将详细介绍如何使用Tesseract OCR 3.01版本来识别验证码。 首先,我们需要了解Tesseract OCR的基本概念。Tesseract是一个高度可训练的OCR系统,最初由HP开发,后来由Google接手并持续更新。它的核心功能是...

    Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录

    本篇文章主要介绍了Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录,具有一定的参考价值,有兴趣的可以了解下

    tesseract-ocr和pytesseract识别验证码

    使用Tesseract和PyTesseract识别验证码的步骤通常包括以下几个部分: 1. **预处理**:验证码图像可能需要进行一些预处理操作,如灰度化、二值化、噪声去除等,以提高识别效果。这些步骤可以通过Python的OpenCV库来...

    c#源码自动识别验证码.rar

    本项目“c#源码自动识别验证码.rar”是一个基于Winform的应用程序,利用C#进行开发,旨在自动识别各种图片形式的验证码。 在验证码识别过程中,主要涉及以下几个关键技术点: 1. 图像预处理:验证码图像往往含有...

    Tesseract-OCR识别验证码

    **Tesseract OCR 识别验证码** Tesseract OCR(Optical Character Recognition)是一款强大的开源OCR引擎,由Google维护。它能够从图像中识别出文本,并转换成可编辑的格式。在处理验证码识别时,Tesseract OCR ...

    tesseract.net 4.0 配中英文识别库 验证码识别

    tesseract.net 4.0 配英文识别库 eng.traineddata osd.traineddata 实现内存图像bitmap的直接识别,无需保存成图片再识别 增加 中值法去噪点 颜色反转 去杂点 二值化 灰度处理 等简单的图像处理 对简单的验证码识别...

    jmeter-jmeter使用ocrserver工具自动识别验证码配置

    jmeter使用ocrserver工具自动识别验证码配置

    用于验证码识别的Jmeter插件

    4. 如果出现input source noset情况,原因是我的test类下的图片放在了E:\workspace\tesseract\second_test.png。自己在这个目录下建一个就这样的图片就可以了。 5. 当然拥有Jmeter就不需要经过第4步了。

    python利用Tesseract识别验证码的方法示例

    ### Python 利用 Tesseract 识别验证码的方法示例 #### 一、引言 随着互联网技术的发展,验证码...以上就是关于使用Python和Tesseract识别验证码的相关知识点和技术细节,希望能帮助大家更好地理解和掌握这一技能。

Global site tag (gtag.js) - Google Analytics