转自:http://bbs.125.la/thread-13667362-1-1.html
《验证码识别零起点篇》
第1课、介绍位图支持库的使用 - 试看教程 点击下载
第2课、图片的处理 - 试看教程 点击下载
图片处理方法
二值化
去白边
去杂点
去干扰线
去背景颜色
柔化
高斯滤波
细化
......
二值化
去白边
去杂点
去干扰线
去背景颜色
柔化
高斯滤波
细化
......
第4课、简单的识别代码编写
识别代码编写:
读取图片
分割图片
用字模与分割图片进行对比
得出识别结果
读取图片
分割图片
用字模与分割图片进行对比
得出识别结果
第5课、识别代码的优化
识别代码编写:
读取图片
分割图片
预先载入字模数据
遍历字库(对比分割好的图片)
得出识别结果
识别完成
读取图片
分割图片
预先载入字模数据
遍历字库(对比分割好的图片)
得出识别结果
识别完成
第6课、字模的简单加密
字模加密:
1.需要一个可逆的加密方式(可加密可解密)
2.制作字模的时候进行加密计算,保存加密后的字模
3.预先载入字模数据的时候,先进行解密
加密的目的:
A.让用户无法一看懂我们的数据文件
B.减小字模文件的体积
C. ...
注意事项:
1.加密算法不要太复杂
节约我们的加解密时间
2.加密算法出错率要低
避免我们的字模文件在解密时出现异常错误影响识别效果
3.以减小体积为最终目的
字模个数多的时候,减少载入字模文件的时间,提高效率
1.需要一个可逆的加密方式(可加密可解密)
2.制作字模的时候进行加密计算,保存加密后的字模
3.预先载入字模数据的时候,先进行解密
加密的目的:
A.让用户无法一看懂我们的数据文件
B.减小字模文件的体积
C. ...
注意事项:
1.加密算法不要太复杂
节约我们的加解密时间
2.加密算法出错率要低
避免我们的字模文件在解密时出现异常错误影响识别效果
3.以减小体积为最终目的
字模个数多的时候,减少载入字模文件的时间,提高效率
第7课、实例讲解与总结
步骤:
1.读取图片
2.二值化
3.分割
4.做模
5.识别
总结
思路清晰
针对性处理,不要太死板
实践,看过教程之后,一定要自己写一遍代码,不要以为看起来很简单,自己用的时候遇到一大堆的问题
善于利用工具
零起点的教程到此为止;
初级篇将讲到其他分割方法,图像处理方法,和相似度识别,局部识别,特殊识别
1.读取图片
2.二值化
3.分割
4.做模
5.识别
总结
思路清晰
针对性处理,不要太死板
实践,看过教程之后,一定要自己写一遍代码,不要以为看起来很简单,自己用的时候遇到一大堆的问题
善于利用工具
零起点的教程到此为止;
初级篇将讲到其他分割方法,图像处理方法,和相似度识别,局部识别,特殊识别
《验证码识别初级篇》
第01课、高级表格的运用 - 试看教程 点击下载
学习目的:
利用高级表格反馈图片的颜色(像素)分布情况,便于我们确定后期处理方案包括图像处理与分割方案的确定
打造自己的图片处理工具
学习目标:
充分利用可利用的资源,善于运用可利用的资源,合理运用可利用资源
举一反三
不要被别人的思路给禁锢,敢于创新
高级表格主要命令:
置单元格背景颜色
取单元格背景颜色
取光标所在行
取光标所在列
利用高级表格反馈图片的颜色(像素)分布情况,便于我们确定后期处理方案包括图像处理与分割方案的确定
打造自己的图片处理工具
学习目标:
充分利用可利用的资源,善于运用可利用的资源,合理运用可利用资源
举一反三
不要被别人的思路给禁锢,敢于创新
高级表格主要命令:
置单元格背景颜色
取单元格背景颜色
取光标所在行
取光标所在列
第2课、正太分布模块的了解,脱离易语言位图支持库 - 试看教程 点击下载
学习目的:
利用可利用的资源,选择自己喜欢的方法作为自己以后的研究方向
对不同资料的使用要记住他们的区别
学习目标:
借鉴前辈们给我们留下的资料,在运用的同时,添加自己的东西,打造合适自己的,自己喜欢的工具
不要局限于使用别人给自己留下的东西,要善于发现,创新
正太分布模块的运用
掌握使用方法
了解常用命令,有条件有基础的可以自己改造,按照自己的使用习惯,可以自己根据他人的模块打造自己合适的模块
注意事项
随着使用资料的增加,每个资料他都有自己的优缺点,要记住他们的区别,有选择性的去使用.
利用可利用的资源,选择自己喜欢的方法作为自己以后的研究方向
对不同资料的使用要记住他们的区别
学习目标:
借鉴前辈们给我们留下的资料,在运用的同时,添加自己的东西,打造合适自己的,自己喜欢的工具
不要局限于使用别人给自己留下的东西,要善于发现,创新
正太分布模块的运用
掌握使用方法
了解常用命令,有条件有基础的可以自己改造,按照自己的使用习惯,可以自己根据他人的模块打造自己合适的模块
注意事项
随着使用资料的增加,每个资料他都有自己的优缺点,要记住他们的区别,有选择性的去使用.
第3课、图像去白边以及动态分割介绍
学习目的:
去除黑白图中我们不需要的部分,减少后期处理难度和时间
当静态分割无法达到分割目的的时候,采用动态分割来处理
学习目标:
培养随机应变能力,能够根据图片颜色分布的不同,选择正确,合适的图像处理方法,不局限于定死一种处理方式,提高效率
图片去白边(无效区域)与分割
本课重点为去白边(无效区域)
1.从图像中通过肉眼观察,确定图像固定的边框,予以清除,使其不影响其他图像处理
2.从图像四周往中心延伸,去除黑白图(二值化图)中四周白色区域,减少后期处理面积
1.横向扫描颜色分布,将白色区域部分,作为分割点,分割图像
2.对横向分割后的数据,进行纵向扫描颜色分布,去除白色无效部分,以到达最终分割目的.(此步骤类似于去白边)
去除黑白图中我们不需要的部分,减少后期处理难度和时间
当静态分割无法达到分割目的的时候,采用动态分割来处理
学习目标:
培养随机应变能力,能够根据图片颜色分布的不同,选择正确,合适的图像处理方法,不局限于定死一种处理方式,提高效率
图片去白边(无效区域)与分割
本课重点为去白边(无效区域)
1.从图像中通过肉眼观察,确定图像固定的边框,予以清除,使其不影响其他图像处理
2.从图像四周往中心延伸,去除黑白图(二值化图)中四周白色区域,减少后期处理面积
1.横向扫描颜色分布,将白色区域部分,作为分割点,分割图像
2.对横向分割后的数据,进行纵向扫描颜色分布,去除白色无效部分,以到达最终分割目的.(此步骤类似于去白边)
第4课、图像快速分割(动态分割)
代码编写思路:
1.横向扫描颜色分布,将白色区域部分,作为分割点,分割图像
2.对横向分割后的数据,进行纵向扫描颜色分布,去除白色无效部分,以到达最终分割目的.(此步骤类似于去白边)
3.将分割后的图片保存(显示出来),验证分割结果
1.横向扫描颜色分布,将白色区域部分,作为分割点,分割图像
2.对横向分割后的数据,进行纵向扫描颜色分布,去除白色无效部分,以到达最终分割目的.(此步骤类似于去白边)
3.将分割后的图片保存(显示出来),验证分割结果
第5课、字模的多样化制作方法
根据个人习惯与识别效率,选择字模特征提取方法
传统模式:用0和1代表黑白点(零起点介绍模式,也是最常用模式)
坐标模式:记录所有黑点(或白点)坐标
较全面的模式:提取其他点阵的同时,记录宽高度,或者黑点(白点)个数
其他模式:等待你的发现与创新
精简字模特征
简单验证码识别是基于图片处理,图像分割,字模提取,识别算法而实现,精简字模特征能节约我们的处理时间,提高工作效率
传统模式:用0和1代表黑白点(零起点介绍模式,也是最常用模式)
坐标模式:记录所有黑点(或白点)坐标
较全面的模式:提取其他点阵的同时,记录宽高度,或者黑点(白点)个数
其他模式:等待你的发现与创新
精简字模特征
简单验证码识别是基于图片处理,图像分割,字模提取,识别算法而实现,精简字模特征能节约我们的处理时间,提高工作效率
第6课、相似度识别代码的编写
流程:
预先加载字库文件,并进行解密,还原出原始点阵特征
根据分割图与字模的其他参数(宽度,高度,黑[白]点个数)过滤区别太大的字模
逐一对字模进行匹配,计算黑白点特征码的相似度
中途放弃:即发现字模与要匹配的分割图进行匹配的同时,发现很多地方匹配不上,直接放弃
预先加载字库文件,并进行解密,还原出原始点阵特征
根据分割图与字模的其他参数(宽度,高度,黑[白]点个数)过滤区别太大的字模
逐一对字模进行匹配,计算黑白点特征码的相似度
中途放弃:即发现字模与要匹配的分割图进行匹配的同时,发现很多地方匹配不上,直接放弃
第7课、简单验证码识别工具的完善与总结
总结:
眼光独到,一眼确定处理方案
奇思妙想,发挥自己的想象,找出快速,精准的方案
多实践,通过不断的猜想,用代码进行验证
善于找错,代码不能达到预期效果,要能快速找到关键代码
善于利用调试,写代码不免会出现错误,不要慌了手脚,善于利用调试,找出问题出在哪里
注意细节,关于图片相关的处理,细节的地方很多,一旦细节没注意,容易造成代码不能达到预期效果
眼光独到,一眼确定处理方案
奇思妙想,发挥自己的想象,找出快速,精准的方案
多实践,通过不断的猜想,用代码进行验证
善于找错,代码不能达到预期效果,要能快速找到关键代码
善于利用调试,写代码不免会出现错误,不要慌了手脚,善于利用调试,找出问题出在哪里
注意细节,关于图片相关的处理,细节的地方很多,一旦细节没注意,容易造成代码不能达到预期效果
加入vip培训,系统化学习所有易语言培训课程-
http://bbs.125.la/vip/index.php?show=shikan