Python机器学习方法智能识别亚马逊验证码
概述
亚马逊网站验证码全部由英文字母组成,每个字母的形式也是多样的,通过Tesseract-OCR技术识别效率还是比较低,非常不理想。这里采用向量空间技术进行训练识别,经测试,识别率可达到95%,这个识别率通过训练库的不断增加还可继续提高。下面废话不多说,直接上干货。
技术详解
亚马逊验证码如下图:
我这里收集了大量的亚马逊网站验证码,下面将随机抽一张验证码为mnyaph作详细讲解,如下图:
总体思路
1.将原图片作二值化等特殊处理转换得到低像素图片
2.分割出每个字母的图片,并加入到训练库中
3.每个字母图片在训练库中训练
4.将每个字母图片训练后的结果依次组合起来,就是最终验证码
使用技术库
PIL :图片处理库
scipy : 科学计算库
● 原图片处理这里将jpg格式转换为更小容量的gif格式,方便后面处理,并将原图片中的黑色像素(0)拷贝到新
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
误会你了,Python!!!
上大学时学习了C,C++,Java,后来工作中一直是Java开发,今年转行Python开发。觉得Python是门学了不后悔的语言,而且入门相对比较容易。刚转行的时候因为有其他语言的基础看了一周语法和框架就进项目了。经常有读者问我转行学什么语言好,我会毫不犹豫的推荐Python,因为他真的很强大。对于Python语言有很多小伙伴一直存在一些误解,整理了一下自己的观点还有网上的资料,供大家参考 今天不讨论xx是最好的语言,因为程序员都是非常real的。讨论这样一个话题是不会有结果的,借用微软Dmitry Kakurin的话说“这是一种信仰问题。因此,任何讲道理和争论都会无穷无尽,而且也毫无意义……”,存在即合理,孰好孰坏在不同的应用场景下还真不好说。编程语言没必要太认真,选择能解决自己问题的就好。当然作为一个程序员不可能只关注一门语言,如果不提升自己,那发展空间也就基本确定了。 近年来Python进入越来越多人的视野,论坛也时不时的会曝出Python超过xx语言。Pyton语言作为AI届的‘网红’,前段时间被要将Python加入高考的新闻刷屏,2017年2月Python也正式迁移到全球最大...
- 下一篇
深入浅出 Java 中 JVM 内存管理
Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗? 可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义 | 有哪些GC算法 以及年轻代和老年代各自特点等等。 1) JVM内存划分: ① 方法区 (线程共享) 常量 静态变量 JIT(即时编译器)编译后代码也在方法区存放 ② 堆内存(线程共享) 垃圾回收的主要场地 ③ 程序计数器 当前线程执行的字节码的位置指示器 ④ Java虚拟机栈(栈内存) :保存局部变量,基本数据类型以及堆内存中对象的引用变量 ⑤ 本地方法栈 (C栈):为JVM提供使用native方法的服务 通过这幅图了解一下 JDK 1.8同JDK 1.7 最大的区别是:元数据取代了永久代.元空间的本质和永久代类似,都是对JVM规范中的方法区的实现.其元空间和永久代之间的最大区别在于:元数据空间不在虚拟机中,而是在本地内存中 详细了解一下各个部分 01)程序计数器(PC寄存器) 程序计数器的定义:程序计数器是一块较小的内存空间,是当前线程正在执行的哪一条字节码指令的地址,若当前线程正在执行的是一个本地方法,那么此时程序计数器为Undef...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16