最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
浅谈图形验证码的识别!
时间:2008-01-12 编辑:简简单单 来源:一聚教程网
本问所讲的技术只是验证码识别的初级技术,只能识别一些简单的验证码,比如符合下列部分条件的:字体工整、位置固定、颜色统一、没有干扰点、背静单纯,初步体现了OCR原理(非常弱智:)
本文讲的是通过抓特征点来达到识别目的。图片由一个一个的点(像素)组成,点的颜色变化就组成了我们看见的图片,呈现一个图象就是那几个点按照一定的顺序排列而已。
比如csdn使用的验证码(下图),去掉上下左右的白边,每个数字使用8*12=96个像素,兰色的点就是我们看到的数字了,0-9这10个数字兰色点都是固定的,比如"4"就是是(0, 6)(0, 7)(1, 5)(1, 7)(2, 4)(2, 7)(3, 3)(3, 7)(4, 2)(4, 7)(5, 1)(5, 7)(6, 0)(6, 1)(6, 2)(6, 3)(6, 4)(6, 5)(6, 6)(6, 7)(6, 8)(6, 9)(6, 10)(6, 11)(7, 7)这些点组成如何得到,继续后面。
看起来复杂,实际上是很简单的,先简单处理下,你也许看的很明白,比如csdn登陆的验证码 ,用mspaint.exe(画图)打开,放大到800%(查看--自定义--800%),
,这里显示图片是一块一块组成了,现在我们需要把验证码的每个字符独立处理,就要确定字符范围了,如何确定?还是在mspaint.exe中,使用"选定"工具,保证每次划的框刚好把数字完整“框”起来,并且没有多余的空白……稍微花点工夫,就可以确定范围:四个字符的范围范围分别是以(3,4)、(12,4)、(21,4)、(30,4)作为左上角宽度是8高度是12的矩形。这些就是我的源代码里面
Dim Rc1 As New Rectangle(3, 4, 8, 12)
Dim Rc2 As New Rectangle(12, 4, 8, 12)
Dim Rc3 As New Rectangle(21, 4, 8, 12)
Dim Rc4 As New Rectangle(30, 4, 8, 12) 所定义的4个范围的由来了。
本文讲的是通过抓特征点来达到识别目的。图片由一个一个的点(像素)组成,点的颜色变化就组成了我们看见的图片,呈现一个图象就是那几个点按照一定的顺序排列而已。
比如csdn使用的验证码(下图),去掉上下左右的白边,每个数字使用8*12=96个像素,兰色的点就是我们看到的数字了,0-9这10个数字兰色点都是固定的,比如"4"就是是(0, 6)(0, 7)(1, 5)(1, 7)(2, 4)(2, 7)(3, 3)(3, 7)(4, 2)(4, 7)(5, 1)(5, 7)(6, 0)(6, 1)(6, 2)(6, 3)(6, 4)(6, 5)(6, 6)(6, 7)(6, 8)(6, 9)(6, 10)(6, 11)(7, 7)这些点组成如何得到,继续后面。
看起来复杂,实际上是很简单的,先简单处理下,你也许看的很明白,比如csdn登陆的验证码 ,用mspaint.exe(画图)打开,放大到800%(查看--自定义--800%),
,这里显示图片是一块一块组成了,现在我们需要把验证码的每个字符独立处理,就要确定字符范围了,如何确定?还是在mspaint.exe中,使用"选定"工具,保证每次划的框刚好把数字完整“框”起来,并且没有多余的空白……稍微花点工夫,就可以确定范围:四个字符的范围范围分别是以(3,4)、(12,4)、(21,4)、(30,4)作为左上角宽度是8高度是12的矩形。这些就是我的源代码里面
Dim Rc1 As New Rectangle(3, 4, 8, 12)
Dim Rc2 As New Rectangle(12, 4, 8, 12)
Dim Rc3 As New Rectangle(21, 4, 8, 12)
Dim Rc4 As New Rectangle(30, 4, 8, 12) 所定义的4个范围的由来了。
相关文章
- 一加5首发开卖验证码疯狂错误 网友 果然有惊喜 06-22
- 猫眼电影取票码在哪 猫眼电影APP验证码查看教程 03-25
- Java实现短信验证码和国际短信群发功能的示例 03-21
- 平安好车主收不到验证码?平安好车主为什么打不开 02-28
- 交管12123收不到验证码怎么办 交管12123收不到短信解决方法 01-03
- 离线盒子总是提示验证码错误怎么办 离线盒子验证码错误解决方法 12-15