4 有用
129 下载

【毕业设计】机器学习识别图片验证码

文件列表(压缩包大小 2.86M)

免费

概述

机器学习识别图片验证码

使用方法

1.爬取验证码 2.对图像做处理并切分 3.手工标注数据 4.导入训练集 5.使用测试集

前期准备

1.Image (图像处理库)

  • jpeg
  • zlib
  • PIL

2.numpy (数学处理库)

3.ImageEnhance (图像处理库)

enhancer = ImageEnhance.Contrast(img)    # 增加对比对
img = enhancer.enhance(2)
enhancer = ImageEnhance.Sharpness(img)   # 锐化
img = enhancer.enhance(2)
enhancer = ImageEnhance.Brightness(img)  # 增加亮度
img = enhancer.enhance(2)

图像处理

静态图片

1.清除图片噪点 2.清除图片干扰线 3.切割图片 4.信息输出

动态图片

1.按帧转存 GIF 2.读取每个 GIF 的 Duration 属性 3.找到 Duration 最长的图片,后同静态图片处理

识别算法

KNN

# kNN algorithmdef classify0(inX, dataSet, labels, k):
    dataSetSize = dataSet.shape[0]
    diffMat = tile(inX, (dataSetSize, 1)) - dataSet
    sqDiffMat = diffMat ** 2
    sqDistances = sqDiffMat.sum(axis=1)
    distances = sqDistances ** 0.5
    sortedDistIndicies = distances.argsort()
    classCount = {}
    for i in range(k):
        voteIlabel = labels[sortedDistIndicies[i]]  # changed
        classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 1
    sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)
    return sortedClassCount[0][0]

SVM 根据算法的性质,可以将问题设定成一个二分类问题:识别数字1和2(当然也可以是其他的任意两个数字)。

来源https://github.com/Yaoshicn/decaptcha

理工酷提示:

如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈

评论(2)

0/250
礼貌的煎饼 • 6
下载后的评价
谢谢分享
2021-12-31 回复
痴情的豆芽 • 6
下载后的评价
请问这个是基于什么样的具体机器学习方法
2023-09-28 回复