python 破解验证码之三:用自己训练的数据跑tesseract识别验证码,最后附上正确率

@TOC

用自己训练的数据跑tesseract识别验证码,最后附上正确率

1、使用现成的工具jTessBoxEditor,和tesseract,都是已经写好的工具,不需要再造轮子(尤其是从头学深度学习让你造一个神经网络写完就已经半年后了,还不排除从入门到放弃)首先要安装JDK,训练数据的机器依赖JAVA环境

JDK8:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jTessBoxEditor:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/

2、准备训练数据
我已经写好了代码,简单写了写,都是想着自己用的,所以看起来很小白啦

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
import random

def getRandomColor():
    # 获取一个随机颜色(r,g,b)格式的
    c1 = random.randint(0, 255)
    c2 = random.randint(0, 255)
    c3 = random.randint(0, 255)
    return (c1, c2, c3)

def getRandomStr():
    # 获取一个随机字符串 颜色随机
    # 数字
    random_num = str(random.randint(0, 9))
    # 大写
    random_low_alpha = chr(random.randint(97, 122))
    # 小写
    random_upper_alpha = chr(random.randint(65, 90))
    random_char = random.choice([random_num, random_low_alpha, random_upper_alpha])
    return random_char

def getCaptcha_1():
    for pages in range(0, 100):
        # 获取数字验证码 随机颜色
        # 获取一个Image对象,参数分别市RBG模式 宽15030 随机颜色
        captcha = Image.new('RGB', (150, 40), getRandomColor())
        draw = ImageDraw.Draw(captcha)
        # 获取一个font字体对象参数市ttf的字体文件的目录以及字体的大小
        font = ImageFont.truetype("arial.ttf", size=32)
        # 在图片上写东西,参数是:定位,字符串,颜色,字体
        for i in range(4):
            draw.text(</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值