CN109508571B - 一种条空定位方法、装置、电子设备及存储介质 - Google Patents
一种条空定位方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109508571B CN109508571B CN201710828277.7A CN201710828277A CN109508571B CN 109508571 B CN109508571 B CN 109508571B CN 201710828277 A CN201710828277 A CN 201710828277A CN 109508571 B CN109508571 B CN 109508571B
- Authority
- CN
- China
- Prior art keywords
- point
- extreme
- gray
- points
- pair
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 title claims abstract description 10
- 238000012937 correction Methods 0.000 claims abstract description 80
- 238000010586 diagram Methods 0.000 claims description 74
- 238000009826 distribution Methods 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 239000006002 Pepper Substances 0.000 description 1
- 235000016761 Piper aduncum Nutrition 0.000 description 1
- 235000017804 Piper guineense Nutrition 0.000 description 1
- 244000203593 Piper nigrum Species 0.000 description 1
- 235000008184 Piper nigrum Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1473—Methods for optical code recognition the method including quality enhancement steps error correction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供了一种条空定位方法、装置、电子设备及存储介质,该方法中,获取条形码图像对应的灰度波形图,针对灰度波形图,提取灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正,根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出条形码图像的条空信息。由此,通过对灰度波形图进行丢失条空点修正和/或干扰条空点修正的方式消除了图像模糊和/或图像噪声对条空定位的影响,以实现对条形码的识别。
Description
技术领域
本发明涉及条形码识别技术领域,特别是涉及一种条空定位方法、装置、电子设备及存储介质。
背景技术
随着科学技术的飞速发展,一维条形码标签在物流、仓储、工业制造等领域应用越来越广泛,这使得条形码的自动识别显得尤为重要。
一般条形码自动识别过程为:获得条形码图像,然后对获得的条形码图像进行条空定位得到条形码图像的条空信息,基于条空信息确定条空宽度,最后,基于条空信息以及条空宽度识别出该条形码。
由上可知条空定位是条形码自动识别中的重要步骤,目前现有的条空定位方式为通过寻找条形码图像对应的灰度波形图中的极小值点(对应条)和极大值点(对应空),得出条形码图像的条空信息,其中,条空信息包括条空点个数以及条空点的坐标。
但是在各种各样的条码识别应用中,会存在图像模糊例如:运动模糊或采样模糊导致的条空点丢失的情况,或者存在图像噪声例如:光斑噪声或椒盐噪声导致的出现干扰条空点的情况,以上两种情况均将直接导致无法识别出条形码,因此,目前亟需一种可消除图像模糊和/或图像噪声对条空定位影响的条空定位方法,以实现对条形码进行识别。
发明内容
本发明实施例的目的在于提供一种条空定位方法、装置、电子设备及存储介质,对条形码图像进行条空定位,以实现对条形码的识别。具体技术方案如下:
一种条空定位方法,所述方法包括:
获取条形码图像对应的灰度波形图,其中,所述条形码图像中的一行像素点对应一个灰度波形图;
针对所述灰度波形图,提取所述灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,所述极值点包括极大值点和极小值点;
根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出所述条形码图像的条空信息。
可选的,在所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正的步骤之前,还包括:
判断所提取的最后一个极值点是否为极大值点;
如果是,将与所述最后一个极值点紧邻的下一个像素点确定为极小值点,并提取所确定的极小值点。
可选的,所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正的步骤,包括:
遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,如果存在,记录所存在相邻像素点的坐标;
从记录的相邻像素点中提取一对像素点作为新增的目标极值点对;
基于新增的目标极值点对的坐标,将新增的目标极值点对添加至所述灰度波形图,得到修正后的灰度波形图。
可选的,所述判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点的步骤,包括:
判断该极值点对中的两个极值点之间的所有像素点中,是否存在灰度值的差值小于预设灰度值阈值的相邻像素点。
可选的,所述从记录的相邻像素点中提取一对像素点作为新增的目标极值点对的步骤,包括:
从记录的相邻像素点中,提取第一个像素点和最后一个像素点;
将所述第一个像素点和所述最后一个像素点确定为新增的目标极值点对。
可选的,所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行干扰条空点修正的步骤,包括:
遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点;
在所述灰度波形图中,获得横坐标大于所述第一目标极值点的横坐标,且,与所述第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于所述第二目标极值点的横坐标,且与所述第二目标极值点邻近的第二预设数量个第二极值点;
提取该极值点对、所述第一极值点和所述第二极值点中的灰度最大值和灰度最小值,并计算该极值点对的平均灰度值;
基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对,如果是,从该灰度波形图中去除所述干扰极值点对,得到修正后的灰度波形图。
可选的,所述基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对的步骤,包括:
计算所述灰度最大值与所述平均灰度值的第一差值的绝对值,计算所述灰度最小值与所述平均灰度值的第二差值的绝对值;
比较所述第一差值的绝对值与所述第二差值的绝对值的大小,将大的绝对值确定为最大差值,另一个确定为最小差值;
判断所述最大差值是否大于所述最小差值的预设倍数;
如果是,确定该极值点对是干扰极值点对。
一种条空定位装置,所述装置包括:
获取模块,用于获取条形码图像对应的灰度波形图,其中,所述条形码图像中的一行像素点对应一个灰度波形图;
修正模块,用于针对所述灰度波形图,提取所述灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,所述极值点包括极大值点和极小值点;
输出模块,用于根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出所述条形码图像的条空信息。
可选的,所述装置还包括:
判断模块,用于在所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正之前,判断所提取的最后一个极值点是否为极大值点,如果是,触发提取模块;
所述提取模块,用于将与所述最后一个极值点紧邻的下一个像素点确定为极小值点,并提取所确定的极小值点。
可选的,所述修正模块,包括:
第一遍历单元,用于遍历所提取的各个极值点,确定极值点对,其中,一对极值点对包括相邻的一个极大值点和一个极小值点;
记录单元,用于针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,如果存在,记录所存在相邻像素点的坐标;
目标极值点对确定单元,用于从记录的相邻像素点中提取一对像素点作为新增的目标极值点对;
添加单元,用于基于新增的目标极值点对的坐标,将新增的目标极值点对添加至该灰度波形图,得到修正后的灰度波形图。
可选的,所述记录单元,具体用于:
判断该极值点对中的两个极值点之间的所有像素点中,是否存在灰度值的差值小于预设灰度值阈值的相邻像素点。
可选的,所述目标极值点对确定单元,包括:
提取子单元,用于从记录的相邻像素点中,提取第一个像素点和最后一个像素点;
确定子单元,用于将所述第一个像素点和所述最后一个像素点确定为新增的目标极值点对。
可选的,所述修正模块,包括:
第二遍历单元,用于遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
确定单元,用于针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点;
获得单元,用于在所述灰度波形图中,获得横坐标大于所述第一目标极值点的横坐标,且,与所述第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于所述第二目标极值点的横坐标,且与所述第二目标极值点邻近的第二预设数量个第二极值点;
计算单元,用于提取该极值点对、所述第一极值点和所述第二极值点中的灰度最大值和灰度最小值,并计算所述该极值点对的平均灰度值;
去除单元,用于基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对,如果是,从该灰度波形图中去除所述干扰极值点对,得到修正后的灰度波形图。
可选的,所述去除单元,包括:
绝对值计算子单元,用于计算所述灰度最大值与所述平均灰度值的第一差值的绝对值,计算所述灰度最小值与所述平均灰度值的第二差值的绝对值;
比较子单元,用于比较所述第一差值的绝对值与所述第二差值的绝对值的大小,将大的绝对值确定为最大差值,另一个确定为最小差值;
判断子单元,用于判断所述最大差值是否大于所述最小差值的预设倍数,如果是,触发干扰极值点对确定子单元;
所述干扰极值点对确定子单元,用于确定该极值点对是干扰极值点对。
一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的方法步骤。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
本发明实施例中,获取条形码图像对应的灰度波形图,针对灰度波形图,提取灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正,根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出条形码图像的条空信息。由此,通过对灰度波形图进行丢失条空点修正和/或干扰条空点修正的方式消除了图像模糊和/或图像噪声对条空定位的影响,以实现对条形码的识别。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施提供的条空定位方法的流程示意图;
图2为本发明实施提供的条形码图像;
图3为本发明实施提供的灰度波形图的第一种示意图;
图4为本发明实施提供的提取灰度波形图中的极值点的示意图;
图5为本发明实施提供的丢失条空点修正的流程示意图;
图6为本发明实施提供的存在丢失条空点的灰度波形图;
图7为图6中矩形框出的区域的示意图;
图8为本发明实施提供的干扰条空点修正的流程示意图;
图9为本发明实施提供的存在干扰条空点的灰度波形图;
图10为本发明实施提供的灰度波形图的第二种示意图;
图11为本发明实施提供的干扰对极值点确定示意图;
图12为本发明实施提供的目标对极值点在干扰条空点修正时被保留的示意图;
图13为本发明实施提供的条空定位装置的结构示意图
图14为本发明实施提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种条空定位方法、装置、电子设备及存储介质。
下面首先对本发明实施例所提供的一种条空定位方法进行介绍。
如图1所示,本发明实施例提供的一种条空定位方法,可以包括:
S101:获取条形码图像对应的灰度波形图,其中,条形码图像中的一行像素点对应一个灰度波形图。
一维条形码是将宽度不等的多个黑条和白条,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的一维条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。
由于一维条形码可以标出物品的生产国、生产日期等信息,因此,一维条形码应用越来越广泛。
为了对条形码进行识别,需要通过条形码识别设备获得条形码图像,然后获得条形码图像对应的灰度波形图,其中,条形码图像中的一行像素点对应一个灰度波形图,也就是说,一个条形码图像有多少行像素点,就对应多少个灰度波形图,灰度波形图中的横坐标为像素点的坐标值,纵坐标为像素点的灰度值。
例如:获得如图2所示的条形码图像,针对图2中白色线所在行,获得对应的灰度波形图如图3所示,图3中的横坐标为图2中白色线所在行的像素点的坐标值,纵坐标为图2中白色线所在行的像素点的灰度值。
S102:针对灰度波形图,提取灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,极值点包括极大值点和极小值点。
由于在获取条形码图像的过程中,通常会出现两种情况导致采集到的条形码图像存在缺陷:
一种为由于各种外在原因造成的图像模糊,例如:图像采集人员通过图像采集设备获取条形码图像,由于人为采集会发生晃动,导致采集到的条形码图形模糊,即运动模糊,此时,将会产生采集到的条形码图像中丢失一部分条点和空点,即条空点丢失。
另一种为因为光亮的原因造成的图像噪声,例如:在采集条形码图像过程中,有较亮的光束照射到条形码上,导致采集到的条形码图像中的某一部分图像相比于其他部分图像过亮,即光斑噪声,此时,将会产生采集到的条形码图像中出现本不存在的条点和空点,即干扰条空点。
在获取的条形码图像中有可能存在上述一种或两种情况,由于上述两种情况均可以导致采集到的条形码图像对应的灰度波形图存在缺陷,使得基于该存在缺陷的灰度波形图无法识别出条形码,因此,为了识别出条形码需要对存在缺陷的灰度波形图进行丢失条空点修正即添加丢失条空点和/或干扰条空点修正即去除干扰条空点。
由于灰度波形图中的极小值点对应条点,极大值点对应空点,因此,为了添加丢失条空点和/或去除干扰条空点,在获取条形码图像对应的灰度波形图后,针对灰度波形图,提取灰度波形图中的极值点,参见图4,图4为提取灰度波形图中的极值点的示意图,其中,四角星所在处即为所提取到的极值点。
在提取极值点后,基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,极值点包括极大值点和极小值点。
由于通常条形码是由条开始并由条结束的,因此,在提取灰度波形图中的极值点时,可以通过极小值点极大值点交替查找的方式进行查找极值点,并提取所查找到的极值点。
由于有时由于各种外在原因使得条形码不是由条结束,此时,为了方便对灰度波形图进行处理,在基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正之前,还可以包括:
判断所提取的最后一个极值点是否为极大值点;
如果是,将与最后一个极值点紧邻的下一个像素点确定为极小值点,并提取所确定的极小值点。
为了保证条形码是由条结束,判断所提取的最后一个极值点是否为极大值点,并在所提取的最后一个极值点是极大值点的情况下,将与最后一个极值点紧邻的下一个像素点确定为极小值点,即条形码由条结束,然后提取所确定的极小值点。
另外,由于条形码图像的左边和右边一般存在空白区域,即静区,由于灰度波形图在静区内不存在极值点,为了计算方便,可以在所提取的第一个极值点的左侧添加一对极值点,在所提取的最后一个极值点的右侧添加一对极值点,其中,上述所确定的极小值点即为所提取的最后一个极值点。
上述基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正,可以为基于各个极值点的灰度值的大小分布,确定丢失的条空点,并将丢失的条空点添加至灰度波形图中。参见图5,S102可以包括:
S1021:针对灰度波形图,提取该灰度波形图中的极值点,遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点。
条形码具有多种码制,码制是指条形码符号的类型,各种条形码符号都是由符合特定编码规则的条和空组合而成,具有固定的编码容量和条码字符集。常用的码制有code39、code128以及EAN码等。
一般的,条形码中可以存在两种宽度单元(例如39码),宽度单元可以分别用宽或窄标识,标准化后的宽和窄之间的宽度之比可以为2:1,此时条形码中可以存在宽条、窄条、宽空和窄空。条形码中还可以存在四种宽度单元(例如:128码),上述宽度单元可以分别用第一宽、第二宽、第三宽或第四宽标识,标准化后的第一宽、第二宽、第三宽和第四宽之间的宽度之比可以为4:3:2:1,此时,上述条形码中可以存在第一宽条、第二宽条、第三宽条、第四宽条、第一宽空、第二宽空、第三宽空和第四宽空。
条空点的丢失一般是由图像模糊造成的,条形码所包括的宽度单元的宽度越窄,越易与相邻的宽度单元产生模糊,例如:当条形码中存在两种宽度单元(例如39码),窄条易与相邻的宽空/窄空产生模糊,窄空易与相邻的宽条/窄条产生模糊,当条形码中存在四种宽度单元(例如:128码),则第四宽条易与相邻的第四宽空/第三宽空/第二宽空/第一宽空产生模糊,第四宽空易与相邻的第四宽条/第三宽条/第二宽条/第一宽条产生模糊。
在图像模糊时,产生模糊的两个宽度单元相互融合,导致模糊处对应的灰度波形图中无缝谷区分,即灰度值呈现相等或较为相近,如图6所示,图6中的矩形框出的区域中灰度值较为相近。
因此,针对灰度波形图,需要找到图像模糊区域对应的像素点,并从所找到的像素点中确定丢失的条空点。
为了找到图像模糊区域对应的像素点,针对灰度波形图,提取该灰度波形图中的极值点,遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点。
S1022:针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,如果存在,执行步骤S1023,如果否,不做任何处理。
为了找到图像模糊区域对应的像素点,在确定极值点对后,针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,并根据判断结果执行后续步骤。
上述判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,可以包括:
判断该极值点对中的两个极值点之间的所有像素点中,是否存在灰度值的差值小于预设灰度值阈值的相邻像素点。
由于图像模糊一般为两个宽度单元相互融合,因此,在灰度波形图中,丢失的条空点可能在一个极大值点和一个极小值点之间。又由于条形码图像模糊处对应的灰度波形图灰度值呈现相等或较为相近,因此,可以通过判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值差值较小的相邻像素点的方式,来找到图像模糊区域对应的像素点。
S1023:记录所存在相邻像素点的坐标。
如果两个相邻像素点之间的灰度值的差值小于预设灰度值阈值,说明该两个相邻像素点之间灰度值呈现相等或较为相近,即该两个相邻像素点可能为条形码图像中图像模糊区域对应的像素点,记录该两个相邻像素点的坐标。
S1024:从记录的相邻像素点中提取一对像素点作为新增的目标极值点对。
在记录了可能为条形码图像中图像模糊区域对应的像素点的坐标后,需要从所记录的相邻像素点中确定丢失的条空点,由于条形码所包括的宽度单元的宽度越窄,越易产生模糊,因此,该处的像素点个数较少,一般只存在一对丢失的条空点,因此,从记录的相邻像素点中提取一对像素点作为新增的目标极值点对。
上述从记录的相邻像素点中提取一对像素点作为新增的目标极值点对,可以包括:
从记录的相邻像素点中,提取第一个像素点和最后一个像素点;
将第一个像素点和最后一个像素点确定为新增的目标极值点对。
由于图像模糊时,产生模糊的两个宽度单元相互融合,因此,丢失的条空点一般邻近极值点,又由于所记录的相邻像素点是在一对极值点之间,因此,从记录的相邻像素点中,提取第一个像素点和最后一个像素点,其中,第一个像素点邻近一对极值点中的一个极值点,最后一个像素点邻近一对极值点中的另一个极值点。
在提取第一个像素点和最后一个像素点后,将第一个像素点和最后一个像素点确定为新增的目标极值点对。
例如:参见图7,图7为图6中矩形框出的区域,假设记录所存在相邻像素点为(Y,M)、(O,N)和(P,Z);
则从记录的相邻像素点中,提取第一个像素点Y和最后一个像素点Z,将(Y,Z)确定为新增的目标极值点对。
S1025:基于新增的目标极值点对的坐标,将新增的目标极值点对添加至灰度波形图,得到修正后的灰度波形图。
在确定了丢失的条空点即新增的目标极值点对后,即可将该丢失的条空点添加至灰度波形图,即基于新增的目标极值点对的坐标,将新增的目标极值点对添加至灰度波形图,得到修正后的灰度波形图。
由此,完成丢失条空点的添加。
上述基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行干扰条空点修正,可以为基于各个极值点的灰度值的大小分布,确定多余的干扰条空点,并从灰度波形图中去除干扰条空点。参见图8,S102可以包括:
S1026:针对灰度波形图,提取灰度波形图中的极值点,遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点。
由于干扰条空点一般是由图像噪声造成的,即图像上的噪声波动点,并不是真正的条空点,条形码所包括的宽度单元的宽度越宽,噪声波动点容易出现,例如:当条形码中存在两种宽度单元(例如39码),宽条比窄条易出现噪声波动点,宽空比窄空易出现噪声波动点,当条形码中存在四种宽度单元(例如:128码),则第一宽条比第二宽条/第三宽条/第四宽条易出现噪声波动点,第一宽空比第二宽空/第三宽空/第四宽空易出现噪声波动点。
噪声波动点也为极值点,体现在灰度波形图中即噪声波动点总是出现在较为靠近波峰和波谷的区域,如图9所示,图9中的矩形框出的区域中存在多个极值点。
因此,针对灰度波形图,需要找到噪声波动点,即干扰条空点。
为了找到噪声波动点,针对灰度波形图,提取该灰度波形图中的极值点,遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点。
S1027:针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点。
为了找到噪声波动点,在确定极值点对后,针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点。
例如:参见图10,假设一对极值点对(H,I)中的H的横坐标为6,I的横坐标为9,则将横坐标为9的I确定为第一目标极值点,将横坐标为6的H确定为第二目标极值点。
S1028:在灰度波形图中,获得横坐标大于第一目标极值点的横坐标,且,与第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于第二目标极值点的横坐标,且与第二目标极值点邻近的第二预设数量个第二极值点。
在确定第一目标极值点和第二目标极值点后,在灰度波形图中,获得横坐标大于第一目标极值点的横坐标,且,与第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于第二目标极值点的横坐标,且与第二目标极值点邻近的第二预设数量个第二极值点。
其中,第一预设数量可以与第二预设数量相同,也可以不同。
例如:承接步骤S1027的例子,继续参见图10,假设存在8个极值点,分别为E-L,假设第一预设数量为3个,第二预设数量为2个;
则获得横坐标大于第一目标极值点I的横坐标,且,与第一目标极值点I邻近的3个第一极值点:J、K和L;
获得横坐标小于第二目标极值点H的横坐标,且与第二目标极值点H邻近的2个第二极值点:F和G。
S1029:提取该极值点对、第一极值点和第二极值点中的灰度最大值和灰度最小值,并计算该极值点对的平均灰度值。
在获得该极值点对、第一预设数量个第一极值点以及第二预设数量个第二极值点后,提取该极值点对、第一极值点和第二极值点中的灰度最大值和灰度最小值,并计算该极值点对的平均灰度值。
S1030:基于灰度最大值、灰度最小值和平均灰度值,判断该极值点对是否为干扰极值点对,如果是,执行步骤S1031,如果否,不做任何处理。
由于一般真正的一对极值点的灰度值的平均值与其左右邻近的极值点灰度值之间的相对落差较小,而出现在较为靠近波峰和波谷的区域内的一对噪声波动点的灰度值的平均值与其左右邻近的极值点灰度值之间的相对落差较大,因此,在获得了灰度最大值、灰度最小值和平均灰度值后,可以基于灰度最大值、灰度最小值和平均灰度值,判断该极值点对是否为干扰对极值点,如果是,执行步骤S1031。
上述基于灰度最大值、灰度最小值和平均灰度值,判断该极值点对是否为干扰极值点对,可以包括:
计算灰度最大值与平均灰度值的第一差值的绝对值,计算灰度最小值与平均灰度值的第二差值的绝对值;
比较第一差值的绝对值与第二差值的绝对值的大小,将大的绝对值确定为最大差值,另一个确定为最小差值;
判断最大差值是否大于最小差值的预设倍数;
如果是,确定该极值点对是干扰极值点对。
由于一般真正的条空点对应的极值点的灰度值与其左右邻近的极值点灰度值之间的相对落差较小,因此,可以通过以下公式判断该极值点对是否为干扰极值点对:
valmax-valmean=|dismax|
valmin-valmean=|dismin|
max(|dismax|,|dismin|)>min(|dismax|,|dismin|)*a
其中,valmax为灰度最大值,valmean为平均灰度值,valmin为灰度最小值,|dismax|为第一差值的绝对值,|dismin|为第二差值的绝对值,max(|dismax|,|dismin|)为最大差值,min(|dismax|,|dismin|)为最大差值,a为比例系数。
如果最大差值比最小差值的预设倍数还大,说明该极值点对的灰度值的平均值与其左右邻近的极值点灰度值之间的相对落差较大,因此,该极值点对是干扰对极值点,如图11所示,其中,A为灰度最大值对应的极值点,C为灰度最小值对应的极值点,B为平均灰度值对应的像素点,由图11可知,|dismin|是|dismax|的很多倍,因此,B对应的一对极值点对就是干扰对极值点。
S1031:从该灰度波形图中去除干扰极值点对,得到修正后的灰度波形图。
在确定了多余的极值点,即干扰极值点对后,即可将该干扰极值点对从灰度波形图中取出,即从该灰度波形图中去除干扰极值点对,得到修正后的灰度波形图。
由此,完成干扰条空点的去除。
由于有时在获取的条形码图像中既存在图像模糊又存在图像噪声,因此,可以既进行丢失条空点修正又进行干扰条空点修正,本发明在此不限定此两种修正方式的顺序。
如果先进行丢失条空点修正再进行干扰条空点修正,在进行丢失条空点修正时,所添加的目标极值点对,并不会在进行干扰条空点修正时被删除,原因是目标极值点对是真正的一对极值点,该目标极值点对的灰度值的平均值与其左右邻近的极值点灰度值之间的相对落差较大。
如图12所示,A为灰度最大值对应的极值点,C为灰度最小值对应的极值点,B为目标对极值点的平均灰度值对应的像素点,由图12可知,|dismin|与|dismax|相差无几,因此,不会将B对应的一对目标极值点对确定为干扰对极值点。
S103:根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出条形码图像的条空信息。
在对灰度波形图进行修正后,根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出条形码图像的条空信息,其中,该条空信息包括条点和空点的个数以及每个条点和空点的坐标,以便于后续对该条形码图像进行识别。
本发明实施例中,获取条形码图像对应的灰度波形图,针对灰度波形图,提取灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正,根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出条形码图像的条空信息。由此,通过对灰度波形图进行丢失条空点修正和/或干扰条空点修正的方式消除了图像模糊和/或图像噪声对条空定位的影响,以实现对条形码的识别。
相对于上述方法实施,如图13所示,本发明实施例还提供了一种条空定位装置,所述装置可以包括:
获取模块201,用于获取条形码图像对应的灰度波形图,其中,所述条形码图像中的一行像素点对应一个灰度波形图;
修正模块202,用于针对所述灰度波形图,提取所述灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,所述极值点包括极大值点和极小值点;
输出模块203,用于根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出所述条形码图像的条空信息。
本发明实施例中,获取条形码图像对应的灰度波形图,针对灰度波形图,提取灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正,根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出条形码图像的条空信息。由此,通过对灰度波形图进行丢失条空点修正和/或干扰条空点修正的方式消除了图像模糊和/或图像噪声对条空定位的影响,以实现对条形码的识别。
在本申请的一种实现方式中,所述装置还可以包括:
判断模块,用于在所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正之前,判断所提取的最后一个极值点是否为极大值点,如果是,触发提取模块;
所述提取模块,用于将与所述最后一个极值点紧邻的下一个像素点确定为极小值点,并提取所确定的极小值点。
在本申请的一种实现方式中,所述修正模块202,可以包括:
第一遍历单元,用于遍历所提取的各个极值点,确定极值点对,其中,一对极值点对包括相邻的一个极大值点和一个极小值点;
记录单元,用于针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,如果存在,记录所存在相邻像素点的坐标;
目标极值点对确定单元,用于从记录的相邻像素点中提取一对像素点作为新增的目标极值点对;
添加单元,用于基于新增的目标极值点对的坐标,将新增的目标极值点对添加至该灰度波形图,得到修正后的灰度波形图。
在本申请的一种实现方式中,所述记录单元,可以具体用于:
判断该极值点对中的两个极值点之间的所有像素点中,是否存在灰度值的差值小于预设灰度值阈值的相邻像素点。
在本申请的一种实现方式中,所述目标极值点对确定单元,可以包括:
提取子单元,用于从记录的相邻像素点中,提取第一个像素点和最后一个像素点;
确定子单元,用于将所述第一个像素点和所述最后一个像素点确定为新增的目标极值点对。
在本申请的一种实现方式中,所述修正模块202,可以包括:
第二遍历单元,用于遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
确定单元,用于针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点;
获得单元,用于在所述灰度波形图中,获得横坐标大于所述第一目标极值点的横坐标,且,与所述第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于所述第二目标极值点的横坐标,且与所述第二目标极值点邻近的第二预设数量个第二极值点;
计算单元,用于提取该极值点对、所述第一极值点和所述第二极值点中的灰度最大值和灰度最小值,并计算所述该极值点对的平均灰度值;
去除单元,用于基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对,如果是,从该灰度波形图中去除所述干扰极值点对,得到修正后的灰度波形图。
在本申请的一种实现方式中,所述去除单元,可以包括:
绝对值计算子单元,用于计算所述灰度最大值与所述平均灰度值的第一差值的绝对值,计算所述灰度最小值与所述平均灰度值的第二差值的绝对值;
比较子单元,用于比较所述第一差值的绝对值与所述第二差值的绝对值的大小,将大的绝对值确定为最大差值,另一个确定为最小差值;
判断子单元,用于判断所述最大差值是否大于所述最小差值的预设倍数,如果是,触发干扰极值点对确定子单元;
所述干扰极值点对确定子单元,用于确定该极值点对是干扰极值点对。
本发明实施例还提供了一种电子设备,如图14所示,包括处理器1401、通信接口1402、存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信,
存储器1403,用于存放计算机程序;
处理器1401,用于执行存储器1403上所存放的程序时,实现如下步骤:
获取条形码图像对应的灰度波形图,其中,所述条形码图像中的一行像素点对应一个灰度波形图;
针对所述灰度波形图,提取所述灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,所述极值点包括极大值点和极小值点;
根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出所述条形码图像的条空信息。
在本申请的一种实现方式中,在所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正的步骤之前,还可以包括:
判断所提取的最后一个极值点是否为极大值点;
如果是,将与所述最后一个极值点紧邻的下一个像素点确定为极小值点,并提取所确定的极小值点。
在本申请的一种实现方式中,所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正的步骤,可以包括:
遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,如果存在,记录所存在相邻像素点的坐标;
从记录的相邻像素点中提取一对像素点作为新增的目标极值点对;
基于新增的目标极值点对的坐标,将新增的目标极值点对添加至所述灰度波形图,得到修正后的灰度波形图。
在本申请的一种实现方式中,所述判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点的步骤,可以包括:
判断该极值点对中的两个极值点之间的所有像素点中,是否存在灰度值的差值小于预设灰度值阈值的相邻像素点。
在本申请的一种实现方式中,所述从记录的相邻像素点中提取一对像素点作为新增的目标极值点对的步骤,可以包括:
从记录的相邻像素点中,提取第一个像素点和最后一个像素点;
将所述第一个像素点和所述最后一个像素点确定为新增的目标极值点对。
在本申请的一种实现方式中,所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行干扰条空点修正的步骤,可以包括:
遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点;
在所述灰度波形图中,获得横坐标大于所述第一目标极值点的横坐标,且,与所述第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于所述第二目标极值点的横坐标,且与所述第二目标极值点邻近的第二预设数量个第二极值点;
提取该极值点对、所述第一极值点和所述第二极值点中的灰度最大值和灰度最小值,并计算该极值点对的平均灰度值;
基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对,如果是,从该灰度波形图中去除所述干扰极值点对,得到修正后的灰度波形图。
在本申请的一种实现方式中,所述基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对的步骤,可以包括:
计算所述灰度最大值与所述平均灰度值的第一差值的绝对值,计算所述灰度最小值与所述平均灰度值的第二差值的绝对值;
比较所述第一差值的绝对值与所述第二差值的绝对值的大小,将大的绝对值确定为最大差值,另一个确定为最小差值;
判断所述最大差值是否大于所述最小差值的预设倍数;
如果是,确定该极值点对是干扰极值点对。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例中,获取条形码图像对应的灰度波形图,针对灰度波形图,提取灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正,根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出条形码图像的条空信息。由此,通过对灰度波形图进行丢失条空点修正和/或干扰条空点修正的方式消除了图像模糊和/或图像噪声对条空定位的影响,以实现对条形码的识别。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:
获取条形码图像对应的灰度波形图,其中,所述条形码图像中的一行像素点对应一个灰度波形图;
针对所述灰度波形图,提取所述灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,所述极值点包括极大值点和极小值点;
根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出所述条形码图像的条空信息。
在本申请的一种实现方式中,在所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正的步骤之前,还可以包括:
判断所提取的最后一个极值点是否为极大值点;
如果是,将与所述最后一个极值点紧邻的下一个像素点确定为极小值点,并提取所确定的极小值点。
在本申请的一种实现方式中,所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正的步骤,可以包括:
遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,如果存在,记录所存在相邻像素点的坐标;
从记录的相邻像素点中提取一对像素点作为新增的目标极值点对;
基于新增的目标极值点对的坐标,将新增的目标极值点对添加至所述灰度波形图,得到修正后的灰度波形图。
在本申请的一种实现方式中,所述判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点的步骤,可以包括:
判断该极值点对中的两个极值点之间的所有像素点中,是否存在灰度值的差值小于预设灰度值阈值的相邻像素点。
在本申请的一种实现方式中,所述从记录的相邻像素点中提取一对像素点作为新增的目标极值点对的步骤,可以包括:
从记录的相邻像素点中,提取第一个像素点和最后一个像素点;
将所述第一个像素点和所述最后一个像素点确定为新增的目标极值点对。
在本申请的一种实现方式中,所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行干扰条空点修正的步骤,可以包括:
遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点;
在所述灰度波形图中,获得横坐标大于所述第一目标极值点的横坐标,且,与所述第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于所述第二目标极值点的横坐标,且与所述第二目标极值点邻近的第二预设数量个第二极值点;
提取该极值点对、所述第一极值点和所述第二极值点中的灰度最大值和灰度最小值,并计算该极值点对的平均灰度值;
基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对,如果是,从该灰度波形图中去除所述干扰极值点对,得到修正后的灰度波形图。
在本申请的一种实现方式中,所述基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对的步骤,可以包括:
计算所述灰度最大值与所述平均灰度值的第一差值的绝对值,计算所述灰度最小值与所述平均灰度值的第二差值的绝对值;
比较所述第一差值的绝对值与所述第二差值的绝对值的大小,将大的绝对值确定为最大差值,另一个确定为最小差值;
判断所述最大差值是否大于所述最小差值的预设倍数;
如果是,确定该极值点对是干扰极值点对。
本发明实施例中,获取条形码图像对应的灰度波形图,针对灰度波形图,提取灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对灰度波形图进行丢失条空点修正和/或干扰条空点修正,根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出条形码图像的条空信息。由此,通过对灰度波形图进行丢失条空点修正和/或干扰条空点修正的方式消除了图像模糊和/或图像噪声对条空定位的影响,以实现对条形码的识别。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种条空定位方法,其特征在于,所述方法包括:
获取条形码图像对应的灰度波形图,其中,所述条形码图像中的一行像素点对应一个灰度波形图;
针对所述灰度波形图,提取所述灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,所述极值点包括极大值点和极小值点;
根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出所述条形码图像的条空信息;
其中,所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正的步骤,包括:
遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,如果存在,记录所存在相邻像素点的坐标;
从记录的相邻像素点中提取一对像素点作为新增的目标极值点对;
基于新增的目标极值点对的坐标,将新增的目标极值点对添加至所述灰度波形图,得到修正后的灰度波形图;
所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行干扰条空点修正的步骤,包括:
遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点;
在所述灰度波形图中,获得横坐标大于所述第一目标极值点的横坐标,且,与所述第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于所述第二目标极值点的横坐标,且与所述第二目标极值点邻近的第二预设数量个第二极值点;
提取该极值点对、所述第一极值点和所述第二极值点中的灰度最大值和灰度最小值,并计算该极值点对的平均灰度值;
基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对,如果是,从该灰度波形图中去除所述干扰极值点对,得到修正后的灰度波形图。
2.根据权利要求1所述的方法,其特征在于,在所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正的步骤之前,还包括:
判断所提取的最后一个极值点是否为极大值点;
如果是,将与所述最后一个极值点紧邻的下一个像素点确定为极小值点,并提取所确定的极小值点。
3.根据权利要求1所述的方法,其特征在于,所述判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点的步骤,包括:
判断该极值点对中的两个极值点之间的所有像素点中,是否存在灰度值的差值小于预设灰度值阈值的相邻像素点。
4.根据权利要求1或3所述的方法,其特征在于,所述从记录的相邻像素点中提取一对像素点作为新增的目标极值点对的步骤,包括:
从记录的相邻像素点中,提取第一个像素点和最后一个像素点;
将所述第一个像素点和所述最后一个像素点确定为新增的目标极值点对。
5.根据权利要求1所述的方法,其特征在于,所述基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对的步骤,包括:
计算所述灰度最大值与所述平均灰度值的第一差值的绝对值,计算所述灰度最小值与所述平均灰度值的第二差值的绝对值;
比较所述第一差值的绝对值与所述第二差值的绝对值的大小,将大的绝对值确定为最大差值,另一个确定为最小差值;
判断所述最大差值是否大于所述最小差值的预设倍数;
如果是,确定该极值点对是干扰极值点对。
6.一种条空定位装置,其特征在于,所述装置包括:
获取模块,用于获取条形码图像对应的灰度波形图,其中,所述条形码图像中的一行像素点对应一个灰度波形图;
修正模块,用于针对所述灰度波形图,提取所述灰度波形图中的极值点,基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正,其中,所述极值点包括极大值点和极小值点;
输出模块,用于根据修正后的灰度波形图中的极值点的位置,确定修正后的灰度波形图中的极值点的坐标,根据所确定的坐标,输出所述条形码图像的条空信息;
其中,所述修正模块,包括:
第一遍历单元,用于遍历所提取的各个极值点,确定极值点对,其中,一对极值点对包括相邻的一个极大值点和一个极小值点;
记录单元,用于针对每对极值点对,判断该极值点对中的两个极值点之间的所有像素点中是否存在灰度值满足预设条件的相邻像素点,如果存在,记录所存在相邻像素点的坐标;
目标极值点对确定单元,用于从记录的相邻像素点中提取一对像素点作为新增的目标极值点对;
添加单元,用于基于新增的目标极值点对的坐标,将新增的目标极值点对添加至该灰度波形图,得到修正后的灰度波形图;
所述修正模块,包括:
第二遍历单元,用于遍历所提取的各个极值点,确定极值点对,其中,一极值点对包括相邻的一个极大值点和一个极小值点;
确定单元,用于针对每对极值点对,确定该对极值点对中的横坐标最大的第一目标极值点和横坐标最小的第二目标极值点;
获得单元,用于在所述灰度波形图中,获得横坐标大于所述第一目标极值点的横坐标,且,与所述第一目标极值点邻近的第一预设数量个第一极值点,以及获得横坐标小于所述第二目标极值点的横坐标,且与所述第二目标极值点邻近的第二预设数量个第二极值点;
计算单元,用于提取该极值点对、所述第一极值点和所述第二极值点中的灰度最大值和灰度最小值,并计算所述该极值点对的平均灰度值;
去除单元,用于基于所述灰度最大值、所述灰度最小值和所述平均灰度值,判断该极值点对是否为干扰极值点对,如果是,从该灰度波形图中去除所述干扰极值点对,得到修正后的灰度波形图。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
判断模块,用于在所述基于所提取的各个极值点的灰度值的大小分布对所述灰度波形图进行丢失条空点修正和/或干扰条空点修正之前,判断所提取的最后一个极值点是否为极大值点,如果是,触发提取模块;
所述提取模块,用于将与所述最后一个极值点紧邻的下一个像素点确定为极小值点,并提取所确定的极小值点。
8.根据权利要求7所述的装置,其特征在于,所述记录单元,具体用于:
判断该极值点对中的两个极值点之间的所有像素点中,是否存在灰度值的差值小于预设灰度值阈值的相邻像素点。
9.根据权利要求7或8所述的装置,其特征在于,所述目标极值点对确定单元,包括:
提取子单元,用于从记录的相邻像素点中,提取第一个像素点和最后一个像素点;
确定子单元,用于将所述第一个像素点和所述最后一个像素点确定为新增的目标极值点对。
10.根据权利要求9所述的装置,其特征在于,所述去除单元,包括:
绝对值计算子单元,用于计算所述灰度最大值与所述平均灰度值的第一差值的绝对值,计算所述灰度最小值与所述平均灰度值的第二差值的绝对值;
比较子单元,用于比较所述第一差值的绝对值与所述第二差值的绝对值的大小,将大的绝对值确定为最大差值,另一个确定为最小差值;
判断子单元,用于判断所述最大差值是否大于所述最小差值的预设倍数,如果是,触发干扰极值点对确定子单元;
所述干扰极值点对确定子单元,用于确定该极值点对是干扰极值点对。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710828277.7A CN109508571B (zh) | 2017-09-14 | 2017-09-14 | 一种条空定位方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710828277.7A CN109508571B (zh) | 2017-09-14 | 2017-09-14 | 一种条空定位方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109508571A CN109508571A (zh) | 2019-03-22 |
CN109508571B true CN109508571B (zh) | 2021-08-27 |
Family
ID=65744662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710828277.7A Active CN109508571B (zh) | 2017-09-14 | 2017-09-14 | 一种条空定位方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109508571B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112116035B (zh) * | 2019-06-21 | 2022-06-03 | 杭州海康威视数字技术股份有限公司 | 一种物流信息采集方法、装置、电子设备及存储介质 |
CN111797646B (zh) * | 2020-07-08 | 2021-06-29 | 北京京东振世信息技术有限公司 | 条形码识别方法及终端 |
CN114330395B (zh) * | 2021-12-31 | 2024-04-16 | 迅镭(广州)智能科技股份有限公司 | 应用于扫描枪技术的云计算数据交互系统及方法 |
CN115600619B (zh) * | 2022-12-13 | 2023-04-07 | 深圳思谋信息科技有限公司 | 点阵二维码识别方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332064A (zh) * | 2011-10-07 | 2012-01-25 | 吉林大学 | 基于基因条形码的生物物种识别方法 |
CN102479383A (zh) * | 2010-11-30 | 2012-05-30 | 上海银晨智能识别科技有限公司 | 椒盐噪声去除方法及装置 |
CN103336938A (zh) * | 2013-06-05 | 2013-10-02 | 华南理工大学 | 一种基于一维条形码图像的识别方法 |
CN104469345A (zh) * | 2014-12-10 | 2015-03-25 | 北京理工大学 | 一种基于图像处理的视频故障诊断方法 |
CN104573674A (zh) * | 2015-01-29 | 2015-04-29 | 杨克己 | 面向实时嵌入式系统的一维条码识别方法 |
CN106203266A (zh) * | 2016-06-28 | 2016-12-07 | 比亚迪股份有限公司 | 图像极值点的提取方法和装置 |
CN106504229A (zh) * | 2016-09-30 | 2017-03-15 | 上海联影医疗科技有限公司 | 图像中特征点的检测方法 |
CN106910169A (zh) * | 2017-01-26 | 2017-06-30 | 苏州大学 | 一种防止边缘模糊的图像椒盐噪声去除方法 |
CN107025639A (zh) * | 2017-04-05 | 2017-08-08 | 中科微至智能制造科技江苏有限公司 | 一种复杂环境下的条码定位方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7568628B2 (en) * | 2005-03-11 | 2009-08-04 | Hand Held Products, Inc. | Bar code reading device with global electronic shutter control |
-
2017
- 2017-09-14 CN CN201710828277.7A patent/CN109508571B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479383A (zh) * | 2010-11-30 | 2012-05-30 | 上海银晨智能识别科技有限公司 | 椒盐噪声去除方法及装置 |
CN102332064A (zh) * | 2011-10-07 | 2012-01-25 | 吉林大学 | 基于基因条形码的生物物种识别方法 |
CN103336938A (zh) * | 2013-06-05 | 2013-10-02 | 华南理工大学 | 一种基于一维条形码图像的识别方法 |
CN104469345A (zh) * | 2014-12-10 | 2015-03-25 | 北京理工大学 | 一种基于图像处理的视频故障诊断方法 |
CN104573674A (zh) * | 2015-01-29 | 2015-04-29 | 杨克己 | 面向实时嵌入式系统的一维条码识别方法 |
CN106203266A (zh) * | 2016-06-28 | 2016-12-07 | 比亚迪股份有限公司 | 图像极值点的提取方法和装置 |
CN106504229A (zh) * | 2016-09-30 | 2017-03-15 | 上海联影医疗科技有限公司 | 图像中特征点的检测方法 |
CN106910169A (zh) * | 2017-01-26 | 2017-06-30 | 苏州大学 | 一种防止边缘模糊的图像椒盐噪声去除方法 |
CN107025639A (zh) * | 2017-04-05 | 2017-08-08 | 中科微至智能制造科技江苏有限公司 | 一种复杂环境下的条码定位方法 |
Non-Patent Citations (1)
Title |
---|
Implementation of algorithm to decode two-dimensional barcode PDF-417;Hee Il Hahn 等;《 6th International Conference on Signal Processing》;20020830;1791-1794 * |
Also Published As
Publication number | Publication date |
---|---|
CN109508571A (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110210409B (zh) | 表格单据中表格框线检测方法及系统 | |
CN110309687B (zh) | 一种二维码图像的校正方法及校正装置 | |
CN110414507B (zh) | 车牌识别方法、装置、计算机设备和存储介质 | |
CN109753838B (zh) | 二维码识别方法、装置、计算机设备及存储介质 | |
CN109508571B (zh) | 一种条空定位方法、装置、电子设备及存储介质 | |
JP7026165B2 (ja) | テキスト認識方法及びテキスト認識装置、電子設備、記憶媒体 | |
CN109214229B (zh) | 一种条码扫描方法、装置及电子设备 | |
CN102243704A (zh) | 用于二维码的定位系统、二维码的识别方法及设备 | |
CN113012157B (zh) | 一种设备缺陷视觉检测方法及系统 | |
CN109948393A (zh) | 一种一维条码的定位方法及装置 | |
CN111814780B (zh) | 一种票据图像处理方法、装置、设备及存储介质 | |
CN113505781A (zh) | 目标检测方法、装置、电子设备及可读存储介质 | |
CA3045391C (en) | Method for detection and recognition of long-range high-density visual markers | |
CN110909743A (zh) | 图书盘点方法及图书盘点系统 | |
CN112434700A (zh) | 车牌识别方法、装置、设备及存储介质 | |
CN113643274B (zh) | 一种二维码候选区筛选的方法及装置 | |
CN107833232B (zh) | 图像细节的提取方法和装置、电子设备、计算机存储介质 | |
CN112199972A (zh) | 一种识别定位点的方法 | |
WO2024250574A1 (zh) | 一种用于一维分布的多条码的解码方法 | |
CN107016317B (zh) | 一种条码解码方法及装置 | |
CN116258155A (zh) | Dm码检测识别方法、装置、计算机设备、存储介质 | |
CN113822092B (zh) | 用于定位位置探测图形的方法及装置、电子设备、介质 | |
CN112541435B (zh) | 一种图像处理的方法、装置和存储介质 | |
CN110895849A (zh) | 冠字号切割定位方法、装置、计算机设备及存储介质 | |
CN114998283A (zh) | 一种镜头遮挡物检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |