验证码识别原理浅谈--图像二值化
2009-01-15 16:37
190 查看
二值化实现方法有
1.1图像灰度化-中值滤波等,同时可以实现背景的去除
1.2图像灰度化-根据灰度值
1.3根据图像色系范围进行二值化处理
图像二值化的意思就是将图像的有效点给分离出来,然后将图片用0和1两个值进行表示,因为我们没必要知道他们的具体色值,我们的目的就是要知道他们的具体形状,他们的特征
譬如说淘宝的验证码
,和盛大的验证码
,他们的有效点无非就是U3FM和YPZ7等字符所占据的空间,我们不用管他们是黑色还是红色,我们将所有他们所占据的位置都给置为1,其他位置都给置为0
然后我将1的位置用黑色给画出来,0的位置用白色给画出来,就是
和
1.2图像灰度化-根据灰度值
这种方式主要适用于对图片进行灰度化(转黑白)处理以后,图片的有效点和背景能够通过他们的亮度很完美的给分离开的情况,譬如说17GAME的验证码
经过灰度化处理以后是
,他的有效点的亮度为0,而背景都有一定的亮度,因此我们之类就可以采取根据亮度值0-0的限度进行分离,凡是亮度为0的位置,我们都置为1,否则多置为0,这样验证码就变为了
,这样图片的二值化就处理成功了,其实17GAME的验证码我们也可以根据色值进行直接的二值化,因为他的有效点的颜色为#00000,我们直接根据这个就可以直接二值化;
1.3根据图像色系范围进行二值化处理
譬如说有些图片他是全部采用了红色系,然后中间使用了渐变,这样我们可以通过获取他们的色系范围,即R-G-B各自的取值范围,然后根据这个范围进行直接二值化,此方法跟灰度化处理大同小异
1.1图像灰度化-中值滤波等,同时可以实现背景的去除
这个步骤为走向二值化的中间步骤,譬如说遇到稍微变态的图片,譬如说新浪博客
,他含有背景的杂色,我们就需要先对其进行灰度化处理
,然后再根据中值滤波算法对其进行二值化处理,将背景和前景分离开来,得到
基本经过这几种方式,我们就成功的对图片进行了二值化处理,得到了图片的有效位置信息,接下来我们还要对其进行去噪,干扰线之类的
附:
1、图片灰度化算法
2、图片中值滤波算法
1.1图像灰度化-中值滤波等,同时可以实现背景的去除
1.2图像灰度化-根据灰度值
1.3根据图像色系范围进行二值化处理
图像二值化的意思就是将图像的有效点给分离出来,然后将图片用0和1两个值进行表示,因为我们没必要知道他们的具体色值,我们的目的就是要知道他们的具体形状,他们的特征
譬如说淘宝的验证码
,和盛大的验证码
,他们的有效点无非就是U3FM和YPZ7等字符所占据的空间,我们不用管他们是黑色还是红色,我们将所有他们所占据的位置都给置为1,其他位置都给置为0
然后我将1的位置用黑色给画出来,0的位置用白色给画出来,就是
和
1.2图像灰度化-根据灰度值
这种方式主要适用于对图片进行灰度化(转黑白)处理以后,图片的有效点和背景能够通过他们的亮度很完美的给分离开的情况,譬如说17GAME的验证码
经过灰度化处理以后是
,他的有效点的亮度为0,而背景都有一定的亮度,因此我们之类就可以采取根据亮度值0-0的限度进行分离,凡是亮度为0的位置,我们都置为1,否则多置为0,这样验证码就变为了
,这样图片的二值化就处理成功了,其实17GAME的验证码我们也可以根据色值进行直接的二值化,因为他的有效点的颜色为#00000,我们直接根据这个就可以直接二值化;
1.3根据图像色系范围进行二值化处理
譬如说有些图片他是全部采用了红色系,然后中间使用了渐变,这样我们可以通过获取他们的色系范围,即R-G-B各自的取值范围,然后根据这个范围进行直接二值化,此方法跟灰度化处理大同小异
1.1图像灰度化-中值滤波等,同时可以实现背景的去除
这个步骤为走向二值化的中间步骤,譬如说遇到稍微变态的图片,譬如说新浪博客
,他含有背景的杂色,我们就需要先对其进行灰度化处理
,然后再根据中值滤波算法对其进行二值化处理,将背景和前景分离开来,得到
基本经过这几种方式,我们就成功的对图片进行了二值化处理,得到了图片的有效位置信息,接下来我们还要对其进行去噪,干扰线之类的
附:
1、图片灰度化算法
2、图片中值滤波算法
相关文章推荐
- 验证码识别原理浅谈--图像二值化
- 验证码识别原理浅谈-总谈
- 浅谈Google Font API实现原理
- 浅谈HashMap的实现原理
- [转]浅谈“三层结构”原理与用意
- JAVA NIO之浅谈内存映射文件原理与DirectMemory
- MyBatis查询结果集映射到JavaBean原理浅谈
- 收集的.Net文章(二十)----浅谈"三层结构"原理与用意(3)
- 浅谈Struts2拦截器Interceptor的设计原理
- 浅谈Spring IoC容器的依赖注入原理
- 浅谈Mybatis中session的一级缓存的实现原理
- 浅谈HashMap的原理及其与HashTable、HashSet的区别
- 浅谈三层结构原理与用意
- (java 必备知识之三) 浅谈java散列原理,为什么java需要散列集合?
- 浅谈Exchange Server邮件存储系统-原理篇(转)
- 浅谈“三层结构”原理与用意(转载)
- SSO 原理浅谈
- 浅谈缓冲区溢出原理
- 浅谈Thrift内部实现原理
- 浅谈Java 虚拟机与GC原理