微博验证码识别系列五:如何在项目中使用

废话不多说,先贴代码

# -*- coding=utf-8 -*-
# software: components
# datetime:2020/1/19 12:33 下午
from keras.models import load_model
import numpy as np
from scipy import misc
from keras.applications.xception import preprocess_input
from config import IMG_SIZE, MODEL, LETTER_LIST
#IMG_SIZE = (60, 160)
#MODEL = 'weibo.h5'
#LETTER_LIST = [chr(i) for i in range(48, 58)] + [chr(i) for i in range(65, 91)]
img_size = IMG_SIZE
model = load_model(MODEL)


def get_img_data(img):
    im = misc.imread(img)
    im = im[:, :, :3]
    im = misc.imresize(im, img_size)
    x = preprocess_input(np.array([im]).astype(float))
    return x

#img:本地图片路径
def predict(img):
    x = get_img_data(img)
    z = model.predict(x)
    z = np.array([i.argmax(axis=1) for i in z]).T
    result = z.tolist()
    v = []
    for i in range(len(result)):
        for j in result[i]:
            v.append(LETTER_LIST[j])
    return ''.join(v)

使用该模型时,需要先将验证码下载到本地并保存,然后调用predict方法即可得到验证码字符
我在训练模型的时候使用了500张打标签的图片,最终最差的时候是每三张验证码成功一次,大部分时候是能识别的,有一些识别不到的验证码肉眼去识别其实也很麻烦,当然想要识别率更高的话,各位同学就多弄些微博验证码,这样训练出来的模型会更好。
好了,到这里微博验证码识别系列教程就已经全部完结,各位同学都可以去实际操作了
另外大家可以试试用这种办法去破解下其他网站的验证码(我还没试过)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辛勤的搬砖者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值