CN102521559B - 一种基于亚像素边缘检测的四一七条码识别方法 - Google Patents
一种基于亚像素边缘检测的四一七条码识别方法 Download PDFInfo
- Publication number
- CN102521559B CN102521559B CN201110392408.4A CN201110392408A CN102521559B CN 102521559 B CN102521559 B CN 102521559B CN 201110392408 A CN201110392408 A CN 201110392408A CN 102521559 B CN102521559 B CN 102521559B
- Authority
- CN
- China
- Prior art keywords
- barcodes
- straight line
- barcode
- line
- prompt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000003708 edge detection Methods 0.000 title abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 13
- 230000007704 transition Effects 0.000 claims description 13
- 230000000903 blocking effect Effects 0.000 claims description 11
- 238000012937 correction Methods 0.000 claims description 10
- 238000005520 cutting process Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 5
- 230000007547 defect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013480 data collection Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
- Character Input (AREA)
Abstract
本发明公开了一种高效的基于亚像素边缘检测的四一七条码识别方法。针对传统四一条码识别方法处理速度慢、抗干扰性能差、误差大等缺点,本发明引入基于亚像素边缘检测的识别方法。本发明能够快速、准确、高效地识别四一七条码,特别是在四一七条码图像分辨率低的情况下,该方法的识别效果十分显著。当四一七条码图像模糊或打印质量差的情况下,该方法对提高四一七条码的识别率也有一定的效果。本方法也适用于截断四一七条码的情况。本发明四一七条码识别方法具有很好的实时性,抗污损能力强,识别效率高,可广泛应用于智能手机等终端嵌入式设备中。
Description
技术领域
本发明涉及一种条码自动识别方法,特别是高效的基于亚像素边缘检测的四一七条码识别方法,它能够快速、准确、高效地识别四一七条码,特别是在四一七条码图像分辨率低的情况下,该方法的识别效果十分显著。当在四一七条码图像模糊或打印质量差的情况下,该方法对提高四一七条码的识别率也有一定的效果。
背景技术
自动化数据采集技术是信息采集和处理的关键技术,条码识别技术在自动化数据采集中占有重要地位。二维条码是在传统的一维条码基础上发展起来的。传统的一维条码由于受信息容量的限制,必须依赖数据库的支持;二维条码的信息密度高,信息容量大,可以不依赖于数据库,具有可移动性等诸多优点。四一七条码是二维条码家族中的一员,被称为便携式数据文件(Portable Data File,也称“PDF417条码”),它是一种多层、可变长的二维条码,具有信息容量高、可编码范围广,保密、防伪性好,译码可靠性高,错误纠正能力强、制作成本低等特点。可以广泛地应用在国防、公共安全、交通运输、医疗保健、工业、商业、金融、海关及政府管理等领域。特别是随着手机等嵌入式智能终端设备的大量普及,四一七条码将在信息采集、金融票据、社会人员管理、现代物流和产业链管理等方面有着极大的应用前景。
通过手机或相机摄像头拍摄包含四一七条码的图像,利用数字图像处理技术进行识别,是国内外对四一七条码的主要研究方向。由于获取四一七条码图像过程中会出现条码倾斜,条码图像分辨率低,模糊、打印质量差等情况。如何对图像中的四一七条码区域进行定位,如何计算四一七条码的功能信息参数(四一七条码的行数、数据区的列数和纠错等级)及如何准确提取四一七条码的符号字符,是四一七条码图像识别中的关键步骤。其中,能否准确提取符号字符,是四一七条码正确识别的关键,要想得到准确的符号字符,必须有理想的边缘来完成对四一七条码符号字符的分割。因此如何准确提取符号字符也是一个边缘检测的问题。对于这些关键步骤,传统的处理方法是:首先,将四一七条码旋转至水平。其次,对旋转水平后的四一七条码图像进行边缘检测和利用投影算法,来计算功能信息参数。最后,对四一七条码的每一行在垂直方向投影,根据投影后的峰值之间的距离提取符号字符或者根据求取的四一七条码最小模块的宽度来提取符号字符。
传统处理方法的缺点是:1、将四一七条码旋转至水平方向。若采用基于直线拟合的方法,在有噪声干扰的情况下得到的直线不一定是四一七条码的边界则在此基础上的旋转必定会有较大误差。若采用基于Hough变换的方法,则花费时间较多;
2、利用边缘检测和投影的思想计算功能信息参数,2.1一方面边缘检测对噪声敏感,抗噪声能力差。如若采用滤波,则滤波操作优化花费一定的时间。2.2基于水平和垂直方向的投影计算比较花费时间,另一方面在得到的峰值后利用控制误差限的方法计算功能信息参数,误差大;
3、符号字符对于四一七条码能否正确识别至关重要,传统的方法是利用传统边缘检测算法进行边缘检测后在垂直方向上的投影或利用最小模块宽度提取符号字符,由于不能很好的分割四一七条码符号字符对应的模块,特别是在四一七条码图像分辨率低、存在污损,打印质量差的情况下,提取符号字符的成功率很低,造成四一七条码不能正确被识别。总之,传统的四一七条码处理方法处理速度慢、耗时、误差大、识别率低,效率也低,难以达到实时性及在各行各业的广泛应用和普及。
发明内容
本发明的目的是提供一种高效的基于亚像素边缘检测的四一七条码识别方法,以达到实时性、识别率高。特别是在四一七条码图像分辨率低的情况下,提高对四一七条码的识别率效果;在四一七条码图像模糊、打印质量差的情况下,提高对四一七条码的识别率。
本发明的目的是这样实现的:一种基于亚像素边缘检测的四一七条码识别方法,包括以下步骤:
1.1)对采集的四一七条码图像进行灰度化处理,采用折半查找的思想,分别在水平方向上从左到右和从右到左进行光栅扫描,扫描过程中,若发现相邻像素的像素值发生明显变化,则称为一次跳变;利用跳变的次数,结合起始符和终止符的纹理信息,确定最后两次符合起始符纹理信息和最后两次符合终止符纹理信息时的开始和结束共八个点A、B、C、D、E、F、G、H;
1.2)利用八个点中的从左向右扫描得到的起始符最左边的两个点A、C所确定的直线与八个点中最下方的两个点D、G所确定的直线的交点,确定四一七条码最左下角的点P;利用八个点中的从右向左扫描得到的终止符最右边两点E、G所确定的直线与八个点中最上方的两个点A、F所确定的直线的交点,确定四一七条码最右上角的点Q,自此完成四一七条码的定位;
1.3)根据八个点中的点B、D所在的直线与点A、F所在直线的交点M确定四一七条码第一行左提示符的起始点,利用点F、H所在的直线与点D、G所在的直线的交点N确定最后一行右提示符的终止点;分别由点M开始沿着点A、F所在的直线向右扫描和由点D开始沿着点D、G所在的直线向右扫描,根据左行提示符的纹理信息和跳变的次数,确定第一行和最后一行的左行提示符对应的两个符号字符,进而查找其对应的码字;分别由点F开始沿着点A、F所在的直线向左扫描和由点N开始沿着点D、G所在直线向左扫描,根据右行提示符的纹理信息和跳变的次数,确定第一行和最后一行的右行提示符对应的两个符号字符,进而查找其对应的两个码字;根据得到的第一行和最后一行的左、右行提示符所对应的四个码字,按照四一七条码的编码规则确定四一七条码的如下功能信息参数:四一七条码的行数、列数和纠错等级;
1.4)对在步骤1.1)和步骤1.3)确定的第一行左提示符开始点M和最后一行左提示符开始点D所确定的线段MD进行按四一七条码的行数等分;其中,等分点离线段MD的端点M、D的距离分别为其他各相邻等分点之间距离的二分之一;对第一行右提示符的结束点F和最后一行右提示符的结束点N确定的线段FN进行按四一七条码的行数等分,等分点离线段FN的端点F、N的距离分别为其它各相邻等分点之间距离的二分之一;然后,依次完成两线段之间所对应的等分点之间的线段按行进行光栅扫描得到其对应的像素值,自此完成了四一七条码每一行的采样;
1.5)基于亚像素边缘检测的思想,将光栅扫描所得到的每一行线段上的像素值在一维方向放大一定的倍数并用一定的插值方法完成插值处理;对插值后的像素值利用局部二值化的思想,对其完成二值化处理;从而完成四一七条码每一行上的符号字符的分割;
1.6)将分割后的四一七条码的每一行符号字符按照符号字符的特征将其对应的连续相同像素的个数规范化为标准的符号字符;上述符号字符的特征是:以条开始,以空结束,条空相间排列,共四个条和四个空;
1.7)由步骤1.6)得到的符号字符查找其对应的码字,根据纠错等级进行译码和纠错。
上述步骤1.1)中采用折半查找的思想,利用跳变的次数,结合起始符和终止符的纹理信息,确定最后两次符合起始符纹理信息和最后两次符合终止符纹理信息时的开始和结束共八个点A、B、C、D、E、F、G、H步骤如下:
a)在包含四一七条码图像的整幅图像高的二分之一处,在水平方向上按行从左到右扫描,根据像素值的跳变次数和四一七条码起始符的纹理信息,获得一段像素值;
b)若所得的像素值规范化为符号字符后符合起始符的符号字符特征,则记录该段像素值的起始点和终止点;
c)如果所得的像素值规范化为符号字符后不符合起始符的符号字符特征,则继续在包括四一七条码整幅图像的上半部分和下半部分分别重复步骤a)、b)、c),每次均在按上一步查找的图像高度范围内的二分之一处继续查找,直到找到最后两次符合四一七条码起始符纹理信息的两条线段的四个端点A、B、C、D;
d)在包含四一七条码图像的整幅图像高的二分之一处,在水平方向上按行从右到左扫描,根据像素值的跳变次数和四一七条码终止符的纹理信息,获得一段像素值;
e)若所得的像素值规范化为符号字符后符合终止符的符号字符特征,则记录该段像素值的起始点和终止点;
f)如果所得的像素值规范化为符号字符后不符合终止符的符号字符特征,则继续在包括四一七条码整幅图像的上半部分和下半部分分别重复步骤d)、e)、f),每次均在按上一步查找的图像高度范围内的二分之一处继续查找,直到找到最后两次符合四一七条码终止符纹理信息的两条线段的四个端点E、F、G、H;
如果在水平方向上,按照上述方法,进行了若干次数后没有出现一次是符合起始符纹理信息或终止符纹理信息的情况,则在垂直方向进行和在水平方向类似的查找。
上述步骤1.2)中确定四一七条码最左下角的点P和最右上角的点Q采用如下步骤:由于存在可能的误差,利用如1.2)步骤中所描述的点A、C所在的直线和点D、G所在的直线的交点,然后在该交点附近沿着直线AC和直线DG方向搜索,结合四一七条码起始符,判断一个较准确的点作为点P;利用如1.2)步骤中所描述的点E、G所在的直线和点A、F所在的直线的交点,然后在该交点附近沿着直线EG和直线AF搜索,结合四一七条码终止符,判断一个较准确的点作为点Q。
上述步骤1.3)中所述的利用第一行和最后一行的左行提示符、右行提示符信息计算四一七条码功能信息参数失效或截断四一七条码的情况下,则采用从点M沿线段MD向下,朝平行于直线AF的方向根据四一七条码的左提示符的纹理信息和跳变的次数,确定任意三个连续的左行提示符所对应的码字,或者从点D沿线段MD向上,朝平行于直线DG的方向根据四一七条码的左行提示符的纹理信息和跳变次数,确定任意三个连续的左行提示符所对应的码字;根据四一七条码的编码规则,计算出四一七条码的功能信息参数。
上述步骤1.4)中,在对线段MD和线段FN进行按四一七条码的行数等分过程中,由于考虑到求取点M、D、F、N这四个点过程中可能存在误差,则将点M和点D分别沿直线AF和直线DG向四一七条码的内部移动1或2个像素,同样将点F、N沿直线AF和直线DG向四一七条码的内部移动1或2个像素。
上述对于截断四一七条码的情况,则确定六个点A、B、C、D、F1、G1;其中点A、B、C、D四个点的确定方法与上述点A、B、C、D的确定方法相同;点F1、G1的确定方法为从上到下依次从左向右扫描,确定第一次和最后一次符合截断四一七条码结尾纹理信息和跳变次数的两个点为点F1、点G1。
上述对于截断四一七条码的情况,四一七条码最左下角点P1的确定方法同上述点P的确定方法。
上述对于截断四一七条码的情况,将线段F1G1按四一七条码的行数等分过程中,首先将点F1沿直线AF1向四一七条码内部移动若干个像素到与其相邻的四一七条码空的结束处,将点G1沿直线DG1向四一七条码内部移动若干个像素到与其相邻的四一七条码空的结束处,然后将其按四一七条码的行数等分,等分点离线段F1G1的端点F1、G1的距离分别为其他各相邻等分点之间距离的二分之一。
与传统方法的对比及总结,本发明方法主要具有以下优点:
1、能快速定位四一七条码。传统的处理方法是基于Hough变换还是采用直线拟合的方法,均存在花费时间大、抗干扰、抗污损能力弱的缺点。本发明方法,充分利用四一七条码的纹理信息采用折半查找的思想,能快速完成四一七条码的定位,而且在定位时,只利用起始符和终止符的纹理信息,而不关心四一七条码的其他区域。因此本发明方法,在四一七条码定位方面具有处理速度快,抗干扰能力强,实时性好的优点。
2、能快速、准确计算四一七条码的功能信息参数。传统的处理方法是基于边缘检测和投影算法的思想,一方面,传统的边缘检测算法对噪声敏感,存在伪边缘的情况。另一方面,利用投影算法和控制误差限的方法,来计算功能信息参数存在的误差较大。本发明方法,从分利用提示符的纹理信息,能快速计算出四一七条码的功能信息参数,同时可利用多个提示符对应的码字,完成对其验证。特别是在截断四一七条码和数据区污损严重的四一七条码的识别过程中,本发明方法有较好鲁棒性好。因此,本发明方法在求取四一七条码功能信息方面,具有速度快,鲁棒性好的优点。
3、能很好的分割四一七条码的符号字符,条码识别率高。传统的处理方法是利用传统的边缘检测算法,然后利用投影算法的思想或者利用最小模块宽度去分割符号字符对于的模块。其缺点很明显:由于条到空的变化中存在过渡,传统的边缘检测算法不能很好的分割四一七条码的符号字符,而用最小模块去分割符号字符误差大。传统的处理方法不能很好的分割四一七条码的符号字符,这是造成使用传统处理方法四一七条码识别率低的主要原因,特别是在四一七条码图片分辨率的情况下。本发明方法,采用基于亚像素边缘检测的思想对采样的一行进行处理,能很好的分割四一七条码的符号字符,特别是在四一七条码图片分辨率的情况下。因此,本发明方法,分割四一七条码符号字符的效果好,四一七条码的识别率高。
4、本发明方法不仅适用于标准四一七条码和截断四一七条码,而且对于部分污损较严重的情况下也能正确识别。
附图说明
图1、图2、图3(图3在图2基础上的采样示意)为非截断四一七条码(具备起始符、左行提示符、数据区、右行提示符、终止符)的识别示意图。
图4、图5、图6(图6在图5基础上的采样示意)为截断四一七条码的识别示意图。
具体实施方式
本基于亚像素边缘检测的四一七条码识别方法,包括以下步骤:
1.1)对采集的四一七条码图像进行灰度化处理,采用类似折半查找的思想,分别在水平方向上从左到右和从右到左进行光栅扫描,扫描过程中,若发现相邻像素的像素值发生明显变化,则称为一次跳变。利用跳变的次数,结合起始符和终止符的纹理信息,确定最后两次符合起始符纹理信息和最后两次符合终止符纹理信息时的开始和结束共八个点A、B、C、D、E、F、G、H(见示意图1);
1.2)利用八个点中的从左向右扫描得到的起始符最左边的两个点A、C所确定的直线与八个点中最下方的两个点D、G所确定的直线的交点,确定四一七条码最左下角的点P。利用八个点中的从右向左扫描得到的终止符最右边两点E、G所确定的直线与八个点中最上方的两个点A、F所确定的直线的交点,确定四一七条码最右上角的点Q,自此完成四一七条码的定位(见示意图2);
1.3)根据八个点中的点B、D所在的直线与点A、F所在直线的交点确定四一七条码第一行左提示符的起始点M,利用点F、H所在的直线与点D、G所在的直线的交点确定最后一行右提示符的终止点N(见示意图2)。分别由点M开始沿着点A、F所在的直线向右扫描和由点D开始沿着点D、G所在的直线向右扫描,根据左行提示符的纹理信息和跳变的次数,确定第一行和最后一行的左行提示符对应的两个符号字符,进而查找其对应的码字;分别由点F开始沿着点A、F所在的直线向左扫描和由点N开始沿着点D、G所在直线向左扫描,根据右行提示符的纹理信息和跳变的次数,确定第一行和最后一行的右行提示符对应的两个符号字符,进而查找其对应的两个码字。根据得到的第一行和最后一行的左行提示符、右行提示符所对应的四个码字,按照四一七条码的编码规则确定四一七条码的功能信息参数(四一七条码的行数、列数和纠错等级);
1.4)对在步骤1.1)和步骤1.3)确定的第一行左提示符开始点M和最后一行左提示符开始点D所确定的线段MD进行按四一七条码的行数等分。其中,等分点离线段MD的端点M、D的距离分别为其他各相邻等分点之间距离的二分之一。对第一行右提示符的结束点F和最后一行右提示符的结束点N确定的线段FN进行按四一七条码的行数等分,等分点离线段FN的端点F、N的距离分别为其他各相邻等分点之间距离的二分之一。然后,依次完成两线段之间所对应的等分点之间的线段按行进行光栅扫描得到其对应的像素值,自此完成了四一七条码每一行的采样(见示意图3、示意图6);
1.5)基于亚像素边缘检测的思想,将光栅扫描所得到的每一行线段上的像素值在一维方向放大一定的倍数并用一定的插值方法完成插值处理。对插值后的像素值利用局部二值化的思想,对其完成二值化处理。此完成了四一七条码每一行上的符号字符的分割。
1.6)将分割后的四一七条码的每一行符号字符按照符号字符的特征(以条开始,以空结束,条空相间排列,共四个条和四个空)将其对应的连续相同像素的个数规范化为标准的符号字符。
1.7)由步骤1.6)得到的符号字符查找其对应的码字,根据纠错等级进行译码和纠错。
步骤1.1)中采用类似折半查找的思想,利用跳变的次数,结合起始符和终止符的纹理信息,确定最后两次符合起始符纹理信息和最后两次符合终止符纹理信息时的开始和结束共八个点A、B、C、D、E、F、G、H步骤如下:
a)在包含四一七条码图像的整幅图像高的二分之一处,在水平方向上按行从左到右扫描,根据像素值的跳变次数和四一七条码起始符的纹理信息,获得一段像素值。
b)若所得的像素值规范化为符号字符后符合起始符的符号字符特征,则记录该段像素值的起始点和终止点。
c)如果所得的像素值规范化为符号字符后不符合起始符的符号字符特征,则继续在包括四一七条码整幅图像的上半部分和下半部分分别重复步骤a)、b)、c),每次均在按上一步查找的图像高度范围内的二分之一处继续查找,直到找到最后两次符合四一七条码起始符纹理信息的两条线段的四个端点A、B、C、D。
d)在包含四一七条码图像的整幅图像高的二分之一处,在水平方向上按行从右到左扫描,根据像素值的跳变次数和四一七条码终止符的纹理信息,获得一段像素值。
e)若所得的像素值规范化为符号字符后符合终止符的符号字符特征,则记录该段像素值的起始点和终止点。
f)如果所得的像素值规范化为符号字符后不符合终止符的符号字符特征,则继续在包括四一七条码整幅图像的上半部分和下半部分分别重复步骤d)、e)、f),每次均在按上一步查找的图像高度范围内的二分之一处继续查找,直到找到最后两次符合四一七条码终止符纹理信息的两条线段的四个端点E、F、G、H。
如果在水平方向上,按照上述方法,进行了若干次数后没有出现一次是符合起始符纹理信息或终止符纹理信息的情况,则在垂直方向进行和在水平方向类似的查找。对于截断四一七条码的情况,可以确定六个点A、B、C、D、F1、G1(示意图4)。其中点A、B、C、D四个点的确定步骤与示意图1中的点A、B、C、D的确定步骤相同。点F1、G1的确定方法为从上到下依次从左向右扫描,确定第一次和最后一次符合截断四一七条码结尾纹理信息和跳变次数的两个点F1、G1。
步骤1.2)中确定四一七条码最左下角的点P和最右上角的点Q采用如下步骤:由于存在可能的误差,利用如1.2)步骤中所描述的点A、C所在的直线和点D、G所在的直线的交点,然后在该交点附近沿着直线AC和直线DG搜索,结合四一七条码起始符,判断一个较准确的点作为点P。利用如1.2)步骤中所描述的点E、G所在的直线和点A、F所在的直线的交点,然后在该交点附近沿着直线EG和直线AF搜索,结合四一七条码终止符,判断一个较准确的点作为点Q。对于截断四一七条码的情况,四一七条码最左下角点P1的确定方法同上述点P的确定方法(示意图5)。
步骤1.3)中所述的利用第一行和最后一行的左、右行提示符信息计算四一七条码功能信息参数失效或截断四一七条码的情况下,可采用从点M沿线段MD向下,朝平行于直线AF的方向根据四一七条码的左提示符的纹理信息和跳变的次数,确定任意三个连续的左行提示符所对应的码字,或者从点D沿线段MD向上,朝平行于直线DG的方向根据四一七条码的左行提示符的纹理信息和跳变次数,确定任意三个连续的左行提示符所对应的码字(示意图2、示意图5)。根据四一七条码的编码规则,可计算出四一七条码的功能信息参数。
步骤1.4)中,在对线段MD和线段FN进行按四一七条码的行数等分过程中,由于考虑到求取点M、D、F、N这四个点过程中可能存在误差,则将点M和点D分别沿直线AF和直线DG向四一七条码的内部移动1或2个像素,同样将点F、N沿直线AF和直线DG向四一七条码的内部移动1或2个像素。对于截断四一七条码的情况,将线段F1G1按四一七条码的行数等分过程中,首先将点F1沿直线AF1向四一七条码内部移动若干个像素到与其相邻的四一七条码空的结束出处,将点G1沿直线DG1向四一七条码内部移动若干个像素到与其相邻的四一七条码空的结束处,然后将其按四一七条码的行数等分,等分点离线段F1G1的端点F1、G1的距离分别为其他各相邻等分点之间距离的二分之一。
Claims (7)
1.一种基于亚像素边缘检测的四一七条码识别方法,其特征是:包括以下步骤:
1.1)对采集的四一七条码图像进行灰度化处理,采用折半查找的思想,分别在水平方向上从左到右和从右到左进行光栅扫描,扫描过程中,若发现相邻像素的像素值发生明显变化,则称为一次跳变;利用跳变的次数,结合起始符和终止符的纹理信息,确定最后两次符合起始符纹理信息和最后两次符合终止符纹理信息时的开始和结束共八个点A、B、C、D、E、F、G、H;
1.2)利用八个点中的从左向右扫描得到的起始符最左边的两个点A、C所确定的直线与八个点中最下方的两个点D、G所确定的直线的交点,确定四一七条码最左下角的点P;利用八个点中的从右向左扫描得到的终止符最右边两点E、G所确定的直线与八个点中最上方的两个点A、F所确定的直线的交点,确定四一七条码最右上角的点Q,自此完成四一七条码的定位;
1.3)根据八个点中的点B、D所在的直线与点A、F所在直线的交点M确定四一七条码第一行左提示符的起始点,利用点F、H所在的直线与点D、G所在的直线的交点N确定最后一行右提示符的终止点;分别由点M开始沿着点A、F所在的直线向右扫描和由点D开始沿着点D、G所在的直线向右扫描,根据左行提示符的纹理信息和跳变的次数,确定第一行和最后一行的左行提示符对应的两个符号字符,进而查找其对应的码字;分别由点F开始沿着点A、F所在的直线向左扫描和由点N开始沿着点D、G所在直线向左扫描,根据右行提示符的纹理信息和跳变的次数,确定第一行和最后一行的右行提示符对应的两个符号字符,进而查找其对应的两个码字;根据得到的第一行和最后一行的左、右行提示符所对应的四个码字,按照四一七条码的编码规则确定四一七条码的如下功能信息参数:四一七条码的行数、列数和纠错等级;
1.4)对在步骤1.1)和步骤1.3)确定的第一行左提示符开始点M和最后一行左提示符开始点D所确定的线段MD进行按四一七条码的行数等分;其中,等分点离线段MD的端点M、D的距离分别为其他各相邻等分点之间距离的二分之一;对第一行右提示符的结束点F和最后一行右提示符的结束点N确定的线段FN进行按四一七条码的行数等分,等分点离线段FN的端点F、N的距离分别为其它各相邻等分点之间距离的二分之一;然后,依次完成两线段之间所对应的等分点之间的线段按行进行光栅扫描得到其对应的像素值,自此完成了四一七条码每一行的采样;
1.5)基于亚像素边缘检测的思想,将光栅扫描所得到的每一行线段上的像素值在一维方向放大一定的倍数并用一定的插值方法完成插值处理;对插值后的像素值利用局部二值化的思想,对其完成二值化处理;从而完成四一七条码每一行上的符号字符的分割;
1.6)将分割后的四一七条码的每一行符号字符按照符号字符的特征将其对应的连续相同像素的个数规范化为标准的符号字符;上述符号字符的特征是:以条开始,以空结束,条空相间排列,共四个条和四个空;
1.7)由步骤1.6)得到的符号字符查找其对应的码字,根据纠错等级进行译码和纠错;
所述步骤1.1)中采用折半查找的思想,利用跳变的次数,结合起始符和终止符的纹理信息,确定最后两次符合起始符纹理信息和最后两次符合终止符纹理信息时的开始和结束共八个点A、B、C、D、E、F、G、H步骤如下:
a)在包含四一七条码图像的整幅图像高的二分之一处,在水平方向上按行从左到右扫描,根据像素值的跳变次数和四一七条码起始符的纹理信息,获得一段像素值;
b)若所得的像素值规范化为符号字符后符合起始符的符号字符特征,则记录该段像素值的起始点和终止点;
c)如果所得的像素值规范化为符号字符后不符合起始符的符号字符特征,则继续在包括四一七条码整幅图像的上半部分和下半部分分别重复步骤a)、b)、c),每次均在按上一步查找的图像高度范围内的二分之一处继续查找,直到找到最后两次符合四一七条码起始符纹理信息的两条线段的四个端点A、B、C、D;
d)在包含四一七条码图像的整幅图像高的二分之一处,在水平方向上按行从右到左扫描,根据像素值的跳变次数和四一七条码终止符的纹理信息,获得一段像素值;
e)若所得的像素值规范化为符号字符后符合终止符的符号字符特征,则记录该段像素值的起始点和终止点;
f)如果所得的像素值规范化为符号字符后不符合终止符的符号字符特征,则继续在包括四一七条码整幅图像的上半部分和下半部分分别重复步骤d)、e)、f),每次均在按上一步查找的图像高度范围内的二分之一处继续查找,直到找到最后两次符合四一七条码终止符纹理信息的两条线段的四个端点E、F、G、H;
如果在水平方向上,按照上述方法,进行了若干次数后没有出现一次是符合起始符纹理信息或终止符纹理信息的情况,则在垂直方向进行和在水平方向类似的查找。
2.根据权利所要求1所述的一种基于亚像素边缘检测的四一七条码识别方法,其特征是:所述步骤1.2)中确定四一七条码最左下角的点P和最右上角的点Q采用如下步骤:由于存在误差,利用如1.2)步骤中所描述的点A、C所在的直线和点D、G所在的直线的交点,然后在该交点附近沿着直线AC和直线DG方向搜索,结合四一七条码起始符,判断一个较准确的点作为点P;利用如1.2)步骤中所描述的点E、G所在的直线和点A、F所在的直线的交点,然后在该交点附近沿着直线EG和直线AF搜索,结合四一七条码终止符,判断一个较准确的点作为点Q。
3.根据权利所要求2所述的一种基于亚像素边缘检测的四一七条码识别方法,其特征是:所述步骤1.3)中所述的利用第一行和最后一行的左行提示符、右行提示符信息计算四一七条码功能信息参数失效或截断四一七条码的情况下,则采用从点M沿线段MD向下,朝平行于直线AF的方向根据四一七条码的左提示符的纹理信息和跳变的次数,确定任意三个连续的左行提示符所对应的码字,或者从点D沿线段MD向上,朝平行于直线DG的方向根据四一七条码的左行提示符的纹理信息和跳变次数,确定任意三个连续的左行提示符所对应的码字;根据四一七条码的编码规则,计算出四一七条码的功能信息参数。
4.根据权利所要求1所述的一种基于亚像素边缘检测的四一七条码识别方法,其特征是:所述步骤1.4)中,在对线段MD和线段FN进行按四一七条码的行数等分过程中,由于考虑到求取点M、D、F、N这四个点过程中存在误差,则将点M和点D分别沿直线AF和直线DG向四一七条码的内部移动1或2个像素,同样将点F、N沿直线AF和直线DG向四一七条码的内部移动1或2个像素。
5.根据权利所要求3所述的一种基于亚像素边缘检测的四一七条码识别方法,其特征是:所述对于截断四一七条码的情况,则确定六个点A、B、C、D、F1、G1;其中点A、B、C、D四个点的确定方法与上述点A、B、C、D的确定方法相同;点F1、G1的确定方法为从上到下依次从左向右扫描,确定第一次和最后一次符合截断四一七条码结尾纹理信息和跳变次数的两个点为点F1、点G1。
6.根据权利所要求3所述的一种基于亚像素边缘检测的四一七条码识别方法,其特征是:所述对于截断四一七条码的情况,四一七条码最左下角点P1的确定方法同上述点P的确定方法。
7.根据权利所要求5所述的一种基于亚像素边缘检测的四一七条码识别方法,其特征是:所述对于截断四一七条码的情况,将线段F1G1按四一七条码的行数等分过程中,首先将点F1沿直线AF1向四一七条码内部移动若干个像素到与其相邻的四一七条码空的结束处,将点G1沿直线DG1向四一七条码内部移动若干个像素到与其相邻的四一七条码空的结束处,然后将其按四一七条码的行数等分,等分点离线段F1G1的端点F1、G1的距离分别为其他各相邻等分点之间距离的二分之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110392408.4A CN102521559B (zh) | 2011-12-01 | 2011-12-01 | 一种基于亚像素边缘检测的四一七条码识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110392408.4A CN102521559B (zh) | 2011-12-01 | 2011-12-01 | 一种基于亚像素边缘检测的四一七条码识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102521559A CN102521559A (zh) | 2012-06-27 |
CN102521559B true CN102521559B (zh) | 2014-01-01 |
Family
ID=46292470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110392408.4A Expired - Fee Related CN102521559B (zh) | 2011-12-01 | 2011-12-01 | 一种基于亚像素边缘检测的四一七条码识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521559B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103245309B (zh) * | 2013-05-21 | 2017-12-12 | 杭州鼎热科技有限公司 | 一种激光平整度测量误差补偿方法 |
CN105930840B (zh) * | 2016-04-18 | 2019-04-23 | 河海大学常州校区 | 基于统计分析的药品条码缺陷检测方法 |
CN111476054B (zh) * | 2020-05-07 | 2022-03-08 | 浙江华睿科技股份有限公司 | 解码方法及电子设备 |
CN112418877A (zh) * | 2020-10-27 | 2021-02-26 | 深圳坤弘印务有限公司 | 包装盒的防伪印刷方法、印刷装置和计算机可读存储介质 |
CN112991316B (zh) * | 2021-03-30 | 2022-07-01 | 中国空气动力研究与发展中心超高速空气动力研究所 | 一种模型边缘烧蚀量动态测量技术 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184378A (zh) * | 2011-04-27 | 2011-09-14 | 茂名职业技术学院 | 一种pdf417标准二维条码图像切割的办法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110205384A1 (en) * | 2010-02-24 | 2011-08-25 | Panavision Imaging, Llc | Variable active image area image sensor |
-
2011
- 2011-12-01 CN CN201110392408.4A patent/CN102521559B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184378A (zh) * | 2011-04-27 | 2011-09-14 | 茂名职业技术学院 | 一种pdf417标准二维条码图像切割的办法 |
Non-Patent Citations (5)
Title |
---|
FAST DIRECTIONAL IMAGE INTERPOLATION WITH DIFFERENCE PROJECTION;Zhiwei Xiong et al;《ICME 2009》;20090703;81-84 * |
PETER D.HYDE ET AL.SUBPIXEL EDGE ESTIMATION.《Pattern Recognition》.1983,第16卷(第4期),413-420. |
SUBPIXEL EDGE ESTIMATION;PETER D.HYDE ET AL;《Pattern Recognition》;19831231;第16卷(第4期);413-420 * |
Zhiwei Xiong et al.FAST DIRECTIONAL IMAGE INTERPOLATION WITH DIFFERENCE PROJECTION.《ICME 2009》.2009,81-84. |
甘岚等.基于亚像素边缘检测的二维条码识别.《计算机工程》.2003,第29卷(第22期),155-157. * |
Also Published As
Publication number | Publication date |
---|---|
CN102521559A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102136058B (zh) | 条形码图像识别方法 | |
CN105989317B (zh) | 一种二维码的识别方法及装置 | |
EP3309704B1 (en) | Two-dimensional code partitioning and decoding method and system | |
CN102880850B (zh) | 一种二维码批量扫描的方法及扫描设备 | |
EP2393035B1 (en) | QR barcode decoding chip and decoding method thereof | |
CN106485255B (zh) | 一种dm码定位及识别的方法与系统 | |
CN102521559B (zh) | 一种基于亚像素边缘检测的四一七条码识别方法 | |
CN101751568B (zh) | 证件号码定位和识别方法 | |
CN104732183A (zh) | 一种基于图像采样线灰度信息分析的一维条码识别方法 | |
EP2393038A1 (en) | Matrix-type two-dimensional barcode decoding chip and decoding method thereof | |
EP2393037A1 (en) | Data matrix decoding chip and decoding method thereof | |
CN102254144A (zh) | 一种鲁棒的图像中二维码区域提取方法 | |
CN102708552B (zh) | 一种快速二维条码图像运动去模糊方法 | |
US9177188B2 (en) | Method and system for detecting detection patterns of QR code | |
CN105654015A (zh) | 解码二维矩阵符号的方法和系统 | |
CN107066914A (zh) | 一种复杂背景下的二维条码图像定位方法及系统 | |
Gaur et al. | Recognition of 2D barcode images using edge detection and morphological operation | |
CN109101854A (zh) | 一种多条形码定位方法 | |
CN113392669B (zh) | 一种图像信息检测方法、检测装置及存储介质 | |
CN108256375B (zh) | 一种一维条形码扫描方法 | |
CN109657515B (zh) | 一种一维条形码的解码方法及设备 | |
CN103177251A (zh) | 一种qr码自动定位及定向方法 | |
CN102279922B (zh) | 应用于手持装置的条码影像辨识系统与相关方法 | |
CN104346596A (zh) | 一种qr码的识别方法及识别装置 | |
Bodnár et al. | A novel method for barcode localization in image domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140101 |
|
CF01 | Termination of patent right due to non-payment of annual fee |