当前位置:网站首页 > 编程语言 > 正文

科技sdk验证码(qz科技验证码)



🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 毕业设计 基于深度学习的新闻文本分类算法系统(源码+论文)

🥇学长这里给一个题目综合评分(每项满分5分)

难度系数:3分
工作量:3分
创新点:4分

🧿 项目分享:见文末!

视频效果:

这里做一个简单的识别demo说明项目原理,实际项目比demo复杂一些。

在python爬虫爬取某些网站的验证码的时候可能会遇到验证码识别的问题,现在的验证码大多分为四类:

  • 1、计算验证码
  • 2、滑块验证码
  • 3、识图验证码
  • 4、语音验证码

学长这李主要写的就是识图验证码,识别的是简单的验证码,要想让识别率更高,识别的更加准确就需要花很多的精力去训练自己的字体库。

1、灰度处理

2、二值化

3、去除边框(如果有的话)

4、降噪

5、切割字符或者倾斜度矫正

这6个步骤中前三个步骤是基本的,4或者5可根据实际情况选择是否需要,并不一定切割验证码,识别率就会上升很多有时候还会下降

这篇博客不涉及训练字体库的内容,请自行搜索。同样也不讲解基础的语法。

用到的几个主要的python库: Pillow(python图像处理库)、OpenCV(高级图像处理库)、pytesseract(识别库)

灰度处理,就是把彩色的验证码图片转为灰色的图片。

二值化,是将图片处理为只有黑白两色的图片,利于后面的图像处理和识别

在OpenCV中有现成的方法可以进行灰度处理和二值化,处理后的效果:

在这里插入图片描述

 

如果验证码有边框,那我们就需要去除边框,去除边框就是遍历像素点,找到四个边框上的所有点,把他们都改为白色,我这里边框是两个像素宽

注意:在用OpenCV时,图片的矩阵点是反的,就是长和宽是颠倒的

代码:

 

效果

在这里插入图片描述

降噪是验证码处理中比较重要的一个步骤,我这里使用了点降噪和线降噪

在这里插入图片描述
线降噪的思路就是检测这个点相邻的四个点(图中标出的绿色点),判断这四个点中是白点的个数,如果有两个以上的白色像素点,那么就认为这个点是白色的,从而去除整个干扰线,但是这种方法是有限度的,如果干扰线特别粗就没有办法去除,只能去除细的干扰线

 

点降噪的思路和线降噪的差不多,只是会针对不同的位置检测的点不一样,注释写的很清楚了

 

效果:
在这里插入图片描述

其实到了这一步,这些字符就可以识别了,没必要进行字符切割了,现在这三种类型的验证码识别率已经达到50%以上了

字符切割通常用于验证码中有粘连的字符,粘连的字符不好识别,所以我们需要将粘连的字符切割为单个的字符,在进行识别

字符切割的思路就是找到一个黑色的点,然后在遍历与他相邻的黑色的点,直到遍历完所有的连接起来的黑色的点,找出这些点中的最高的点、最低的点、最右边的点、最左边的点,记录下这四个点,认为这是一个字符,然后在向后遍历点,直至找到黑色的点,继续以上的步骤。最后通过每个字符的四个点进行切割

在这里插入图片描述

图中红色的点就是代码执行完后,标识出的每个字符的四个点,然后就会根据这四个点进行切割(图中画的有些误差,懂就好)

但是也可以看到,m2是粘连的,代码认为他是一个字符,所以我们需要对每个字符的宽度进行检测,如果他的宽度过宽,我们就认为他是两个粘连在一起的字符,并将它在从中间切割

确定每个字符的四个点代码:

 

切割粘连字符代码:

 

效果:

在这里插入图片描述

识别用的是typesseract库,主要识别一行字符和单个字符时的参数设置,识别中英文的参数设置,代码很简单就一行,我这里大多是filter文件的操作

 

最后这种粘连字符的识别率是在30%左右,而且这种只是处理两个字符粘连,如果有两个以上的字符粘连还不能识别,但是根据字符宽度判别的话也不难,有兴趣的可以试一下

无需切割字符识别的效果:

在这里插入图片描述

需要切割字符的识别效果:

在这里插入图片描述

  • python库: tensorflow, opencv, pandas, gpu机器。
  • 训练集: 10w 图片, 200step左右开始收敛。
  • 策略: 切分图片,训练单字母识别。预测时也是同样切分。(ps:不切分训练及识别,跑了一夜,没有收敛)
  • 准确率: 在区分大小写的情况下,单字母识别率98%, 整体识别率75%+。

数据集

在这里插入图片描述

数据集预处理

 

训练

在这里插入图片描述

篇幅有限,更多详细设计见设计论文

项目包含内容

在这里插入图片描述

完整详细设计论文
在这里插入图片描述

🧿 项目分享:见文末!

到此这篇科技sdk验证码(qz科技验证码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

  • 上一篇: 104协议总召(101 104协议)
  • 下一篇: 没有了
  • 版权声明


    相关文章:

  • 104协议总召(101 104协议)2025-01-05 13:00:06
  • 程序卸载快捷键(程序的卸载)2025-01-05 13:00:06
  • ad9850原理图(ad9835原理图)2025-01-05 13:00:06
  • hp文件夹可以删吗(hpswsetup文件夹)2025-01-05 13:00:06
  • 密码库在线查询(密码库在哪里)2025-01-05 13:00:06
  • 拆包鼠标是什么意思(拆包鼠标是什么意思呀)2025-01-05 13:00:06
  • 绿色代码(蓝色颜色代码)2025-01-05 13:00:06
  • 华为模拟器常用命令(华为模拟器基本配置命令)2025-01-05 13:00:06
  • 重绘和回流的区别和关系(重绘和回流的区别和关系图)2025-01-05 13:00:06
  • 域名 ip解析(域名解析ip命令)2025-01-05 13:00:06
  • 全屏图片