条形码图像识别技术
来源:互联网 发布:无限流量软件下载 编辑:程序博客网 时间:2024/06/11 05:06
论文:
《一维条形码识别系统的设计与实现》钟书成 成都信息工程学院软件工程系
1 中值滤波去噪
中值滤波是一种非线形信号处理方法,在这里由于条码图片是列的形式,所以采用改进的5个点采样窗口,取一列上的5个点。扫描整幅图片,对窗口内的像素点按像素值大小排序,最后取中间值代替窗口内所有像素点的原始像素值。
2 二值化处理
这其中有三个步骤,首先,对图片的灰度值进行统计,其次再求阈值,最后根据求得的阈值,将图片转换为像素值只有0,1的黑白图片,以方便进一步分析。
阈值的选取,采用的是大律法。其原理为,取某个灰度值,以它为分界将图像分为灰度值大小两类,分别计算这两类中的像素点数及灰度平均值。然后计算它们的类间方差,取方差最大值对应的灰度为阈值。
3 边缘检测
这里的边缘检测,不是检测图片的边缘,而是查找一块比较适合条码识别的区域,并将这块区域的上下边界回传给它的主调函数。
l 采用的方法是依次扫描图片的每一行,求取每一行中的黑点个数
l 统计有黑点的行的数量
l 求出图片中所有的黑点数
l 求出平均每行的黑点数(总黑点数除以有黑点的行数)
l 判断一个行是否适合于识别,判定的规范是:如果一行和它的下一行比较相差的黑点个数在5个以内,而且这一行的黑点个数比每行的平均数的75%多,则认为这一行可以用于识别。
l 找到条形码用于识别的上下边缘,通过以上方法,扫描图片,得到每行是否适合用于识别(用0和1标记)。寻找最佳的识别范围则是通过扫描图片的每一行,查找一定范围内的可以用于识别的行数大于某个值时,这个范围即可以作为最佳的识别区域。如果没有找到,则认为图片严重受损,不能用于识别。
4 条形码识别 条形码识别过程包括:垂直投影、计算宽度、码字识别等。
l 垂直投影:同水平投影一样,先求每一列的黑点个数(在已经找到的上下边界范围内),总黑点数,统计共有多少有黑点的列,求出每列平均有多少个黑点。判定是否为条的规范是:如果这一列的黑点数大于平均数的75%,则认为这列像素是属于条的范围,同时将这列置1,否则置为0。
l 求各个条空的宽度:在垂直投影的基础上根据条空的边沿的变化来求。
l 识别码字,根据编码原理的逆过程。
缺点:
在图像处理中大量使用到复杂的循环处理,影响了程序的执行效率。
其次在图像特别模糊或背景色干扰太多的时候,识别效果不好。
未实现倾斜校正,所以系统的通用性不好,当图片的倾斜角度太大的时候,系统无法识别。
- 条形码图像识别技术
- 图像识别技术
- 图像识别技术浅析
- 图像识别技术原理
- 图像识别技术
- 增值税专用发票图像识别技术
- 条形码识别
- 识别条形码
- 识别条形码
- 无线射频识别技术与条形码的比较
- java 图像识别技术实例
- java 图像识别技术实例
- IBM的图像识别技术
- 图像识别技术 验证码识别
- 条形码技术
- 支持多种条码类型的条码图像处理和图像识别条形码控件arcode Decoder DLL
- 射频识别VS条形码
- ZX条形码识别解码
- Cron 表达式
- 《Perl语言入门》第四版习题(14)
- js日期加减得到新的日期
- windows server 2008 改密码(Remote Desktop)
- C/C++软件工程师笔试题
- 条形码图像识别技术
- Sina的CMS模型
- (转)常用C++网址
- 关于C++操作符重载之"->"和"*"
- 真正UTF-8与GB2312间的转换(兼容windows和Linux)
- Mac安装软件如何区分是UI安装,还是Command安装
- sql group by 与 having的用法 (转)
- 一如既往沉沦的一辈人,未觉醒的一辈人
- 用 Chukeh 结合 Delphi 实现大文件上传的断点续传