条形码图像识别技术
2009-10-29 15:23
351 查看
论文:
《一维条形码识别系统的设计与实现》钟书成 成都信息工程学院软件工程系
1 中值滤波去噪
中值滤波是一种非线形信号处理方法,在这里由于条码图片是列的形式,所以采用改进的5个点采样窗口,取一列上的5个点。扫描整幅图片,对窗口内的像素点按像素值大小排序,最后取中间值代替窗口内所有像素点的原始像素值。
2 二值化处理
这其中有三个步骤,首先,对图片的灰度值进行统计,其次再求阈值,最后根据求得的阈值,将图片转换为像素值只有0,1的黑白图片,以方便进一步分析。
阈值的选取,采用的是大律法。其原理为,取某个灰度值,以它为分界将图像分为灰度值大小两类,分别计算这两类中的像素点数及灰度平均值。然后计算它们的类间方差,取方差最大值对应的灰度为阈值。
3 边缘检测
这里的边缘检测,不是检测图片的边缘,而是查找一块比较适合条码识别的区域,并将这块区域的上下边界回传给它的主调函数。
l 采用的方法是依次扫描图片的每一行,求取每一行中的黑点个数
l 统计有黑点的行的数量
l 求出图片中所有的黑点数
l 求出平均每行的黑点数(总黑点数除以有黑点的行数)
l 判断一个行是否适合于识别,判定的规范是:如果一行和它的下一行比较相差的黑点个数在5个以内,而且这一行的黑点个数比每行的平均数的75%多,则认为这一行可以用于识别。
l 找到条形码用于识别的上下边缘,通过以上方法,扫描图片,得到每行是否适合用于识别(用0和1标记)。寻找最佳的识别范围则是通过扫描图片的每一行,查找一定范围内的可以用于识别的行数大于某个值时,这个范围即可以作为最佳的识别区域。如果没有找到,则认为图片严重受损,不能用于识别。
4 条形码识别
条形码识别过程包括:垂直投影、计算宽度、码字识别等。
l 垂直投影:同水平投影一样,先求每一列的黑点个数(在已经找到的上下边界范围内),总黑点数,统计共有多少有黑点的列,求出每列平均有多少个黑点。判定是否为条的规范是:如果这一列的黑点数大于平均数的75%,则认为这列像素是属于条的范围,同时将这列置1,否则置为0。
l 求各个条空的宽度:在垂直投影的基础上根据条空的边沿的变化来求。
l 识别码字,根据编码原理的逆过程。
缺点:
在图像处理中大量使用到复杂的循环处理,影响了程序的执行效率。
其次在图像特别模糊或背景色干扰太多的时候,识别效果不好。
未实现倾斜校正,所以系统的通用性不好,当图片的倾斜角度太大的时候,系统无法识别。
《一维条形码识别系统的设计与实现》钟书成 成都信息工程学院软件工程系
1 中值滤波去噪
中值滤波是一种非线形信号处理方法,在这里由于条码图片是列的形式,所以采用改进的5个点采样窗口,取一列上的5个点。扫描整幅图片,对窗口内的像素点按像素值大小排序,最后取中间值代替窗口内所有像素点的原始像素值。
2 二值化处理
这其中有三个步骤,首先,对图片的灰度值进行统计,其次再求阈值,最后根据求得的阈值,将图片转换为像素值只有0,1的黑白图片,以方便进一步分析。
阈值的选取,采用的是大律法。其原理为,取某个灰度值,以它为分界将图像分为灰度值大小两类,分别计算这两类中的像素点数及灰度平均值。然后计算它们的类间方差,取方差最大值对应的灰度为阈值。
3 边缘检测
这里的边缘检测,不是检测图片的边缘,而是查找一块比较适合条码识别的区域,并将这块区域的上下边界回传给它的主调函数。
l 采用的方法是依次扫描图片的每一行,求取每一行中的黑点个数
l 统计有黑点的行的数量
l 求出图片中所有的黑点数
l 求出平均每行的黑点数(总黑点数除以有黑点的行数)
l 判断一个行是否适合于识别,判定的规范是:如果一行和它的下一行比较相差的黑点个数在5个以内,而且这一行的黑点个数比每行的平均数的75%多,则认为这一行可以用于识别。
l 找到条形码用于识别的上下边缘,通过以上方法,扫描图片,得到每行是否适合用于识别(用0和1标记)。寻找最佳的识别范围则是通过扫描图片的每一行,查找一定范围内的可以用于识别的行数大于某个值时,这个范围即可以作为最佳的识别区域。如果没有找到,则认为图片严重受损,不能用于识别。
4 条形码识别
条形码识别过程包括:垂直投影、计算宽度、码字识别等。
l 垂直投影:同水平投影一样,先求每一列的黑点个数(在已经找到的上下边界范围内),总黑点数,统计共有多少有黑点的列,求出每列平均有多少个黑点。判定是否为条的规范是:如果这一列的黑点数大于平均数的75%,则认为这列像素是属于条的范围,同时将这列置1,否则置为0。
l 求各个条空的宽度:在垂直投影的基础上根据条空的边沿的变化来求。
l 识别码字,根据编码原理的逆过程。
缺点:
在图像处理中大量使用到复杂的循环处理,影响了程序的执行效率。
其次在图像特别模糊或背景色干扰太多的时候,识别效果不好。
未实现倾斜校正,所以系统的通用性不好,当图片的倾斜角度太大的时候,系统无法识别。
相关文章推荐
- 语音识别系统中增加图像识别技术的设计
- 图像识别技术突破成功,发文庆贺!
- 阿里云机器学习技术分享1——图像识别之TensorFlow实现方法【视频+PPT】
- 图像识别AGV小车的技术原理、特点
- Java OCR tesseract 图像智能字符识别技术 Java代码实现
- Java OCR 图像智能字符识别技术,可识别中文
- 手写数字识别——数据降维(PCA)技术在图像识别中的应用
- OCR图像识别技术的JAVA实现(二)之Tess4J的使用
- 谈谈计算机图像识别技术之身份证号码识别
- Java OCR tesseract 图像智能字符识别技术 Java代码实现
- Java OCR tesseract 图像智能字符识别技术
- 基于图像识别的火灾探测技术
- OCR图像识别技术
- PHP图像识别技术原理与实现
- PHP调用百度AI接口人脸识别-语音技术-文本识别-图像识别
- OCR SDK开发者平台推荐:OCR图像智能字符识别技术
- 图像识别AGV小车的技术原理、特点
- java 图像识别技术实例
- Java OCR tesseract 图像智能字符识别技术 Java代码实现
- 基于OpenCV的PHP图像人脸识别技术