Pytorch-识别法院失信、执行验证码图片

爬虫的时候遇到一些图片形式的验证码,比如数字字母组合,通过CNN我们可以训练一个模型,进行识别;下面是针对法院失信、执行的验证码,准确率达到90%+,基本够用。

先看下效果吧!

import torch
from torch.autograd import Variable
import numpy as np
from PIL import Image
from torchvision import transforms
import os

charlist = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
            'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
transforms_sequence=transforms.Compose(
    [
    transforms.ToTensor(),
    transforms.Normalize([0.5], [0.5])
    ]
)

#加载模型
model=torch.load("/root/ftrain2.pkl")
model.eval()

def predict(file):
    # 输入
    img=Image.open(file)
    # 灰度化
    img_gray=img.convert("L")
    # 转化为矩阵
    img_array=np.array(img_gray)
    # 转换为模型的输入
    test=transforms_sequence(img_array)
    test=test.unsqueeze(0)
    pred = model(Variable(test))
    # 预测结果
    c1=charlist[torch.argmax(pred[0][0:36])]
    c2=charlist[torch.argmax(pred[0][36:72])]
    c3=charlist[torch.argmax(pred[0][72:108])]
    c4=charlist[torch.argmax(pred[0][108:144])]
    result=c1+c2+c3+c4
    return result



if __name__=="__main__":
    result=predict("/root/2a3i_num19365.png")
    print(result)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值