对条形码进行二值化方法及装置制造方法

文档序号:6487537阅读:211来源:国知局
对条形码进行二值化方法及装置制造方法
【专利摘要】本发明提出一种对条形码进行二值化方法及装置,解决了条形码扫描时水平方向和垂直方向倾斜的问题,并且灵敏度高,成本低,功耗小。其中该方法包括以下步骤:扫描条形码并生成相应的数字信号,并对所述数字信号进行滤波处理;对滤波处理后的数字信号进行采样以生成多个采样点;根据所述多个采样点分别获得上升沿集合和下降沿集合,其中,所述上升沿集合包括多个上升沿,所述下降沿集合包括多个下降沿;根据相邻的上升沿和下降沿分别获得多个极大值点和多个极小值点;以及根据相邻的极大值点和极小值点动态地确定所述极大值点和极小值点之间采样点对应的阈值,并根据所述阈值对所述极大值点和极小值点之间的采样点进行赋值。
【专利说明】对条形码进行二值化方法及装置
【技术领域】
[0001]本发明涉及计算机软件【技术领域】,特别涉及一种对条形码进行二值化方法以及对条形码进行二值化的装置。
【背景技术】
[0002]目前,常用的二值化方法有固定阈值比较方法、浮动阈值法和微分二值化方法。其中,在外界光强固定的情况下,使用电压阈值比较方法可通过试验一次性设置好比较阈值,即固定阈值比较方法,具有简单方便的特点。微分二值化方法具有在一定的信号变化范围内可实现二值化测量的特点,但是在信号较小时的抗干扰能力较差。浮动阈值法是指电压比较器的输入端的阈值电平随测量系统目标景物光照的变化而高低浮动,景物光照的光强变化时会引起CXD (Charge Coupled Device,电荷耦合器件)视频信号的高低变化,将这种波动通过光电转换器转换成电信号反馈到二值化阈值端上。该方法基于峰值探测电路,通过采集目标信号的大小而实时给出比较阈值,实现了在外界光强变化的条件下二值化阈值的自动调节,保证了数据采集的准确性。
[0003]但是,以上常用的三种二值化方法都是由硬件电路实现,固定阈值比较方法在野外自然光照明条件下进行二值化测量时,由于自然光的变化,会使被测目标的照度在几十勒克斯到上千勒克斯范围内变化,通过手动调节二值化阈值的方法就显得既麻烦、又不可靠。所以此方法需要在特定环境中使用,而且误差很大。微分二值化方法在信号较小时的抗干扰能力较差。浮动阈值法是用硬件来实现二值化阈值的选择,需要繁琐的电路,而且有时还要进行现场反复多次调试,对总体成本要求高,并且功耗大、体积大。

【发明内容】

[0004]本发明的目的旨在至少解决上述技术缺陷之一。
[0005]为此,本发明的第一个目的在于提出一种对条形码进行二值化方法,解决了条形码扫描时水平方向和垂直方向倾斜的问题,并且该方法灵敏度高,成本低,功耗小。
[0006]本发明的第二个目的在于提出一种对条形码进行二值化的装置。
[0007]为达到上述目的,本发明第一方面提出了一种对条形码进行二值化方法,包括以下步骤:
[0008]扫描条形码并生成相应的数字信号,并对所述数字信号进行滤波处理;
[0009]对滤波处理后的数字信号进行采样以生成多个采样点;
[0010]根据所述多个采样点分别获得上升沿集合和下降沿集合,其中,所述上升沿集合包括多个上升沿,所述下降沿集合包括多个下降沿;
[0011]根据相邻的上升沿和下降沿分别获得多个极大值点和多个极小值点;以及
[0012]根据相邻的极大值点和极小值点动态地确定所述极大值点和极小值点之间采样点对应的阈值,并根据所述阈值对所述极大值点和极小值点之间的采样点进行赋值。
[0013]根据本发明提出的对条形码进行二值化方法,解决了条形码扫描时可以有水平方向30度以内、垂直方向10度以内的倾斜,以及扫描不同码制的条形码时产生的数字信号的阈值动态选取的问题。二值化之后的数据直接用于解码,解码的成功率直接取决于二值化,而二值化的优劣关键在于阈值的选取,本发明实施例实现了阈值的动态选取,避免了单一阈值或局部阈值造成二值化结果的不准确。此外,该方法灵敏度高,功耗小,成本低。
[0014]为达到上述目的,本发明第二方面提出了 一种对条形码进行二值化的装置,包括:扫描模块,用于扫描条形码并生成相应的数字信号;采样模块,用于对所述扫描模块生成的数字信号进行滤波处理并采样以生成多个采样点;获取模块,用于根据所述采样模块的多个采样点分别获取上升沿集合和下降沿集合,其中,所述上升沿集合包括多个上升沿,所述下降沿集合包括多个下降沿,并根据相邻的上升沿和下降沿分别获取多个极大值点和多个极小值点;判定模块,用于根据所述获取模块的相邻的极大值点和极小值点动态地确定所述极大值点和极小值点之间采样点对应的阈值;以及赋值模块,用于根据所述判定模块的阈值对所述极大值点和极小值点之间的采样点进行赋值。
[0015]根据本发明提出的对条形码进行二值化的装置,用软件代替硬件来实现动态选取阈值以实现二值化,这样在硬件上就去掉了反向放大电路以及用于进行二值化处理的电路,从而缩小芯片体积、减少功耗、降低了成本,同时还提高了产品的适应能力。具体地,一般的基于硬件的装置一旦做成产品就无法再进行改进,而本发明实施例提出的装置不但自身有学习能力,可以根据具体的情况调整曝光时间等主要参数,还可以手动修改参数以达到最好的扫描效果。
[0016]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】

【附图说明】
[0017]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0018]图1为根据本发明实施例的对条形码进行二值化方法的流程图;
[0019]图2为根据本发明一个实施例对条形码EAN13扫描生成的数字信号图:
[0020]图3为根据本发明一个实施例对图2中的数字信号进行滤波处理后的数字信号图;
[0021]图4为根据本发明一个实施例对图3的数字信号中数据点253处的数字信号放大图;
[0022]图5为根据本发明一个实施例对图3的数字信号中数据点275处的数字信号放大图;
[0023]图6为根据本发明一个实施例对图3的数字信号中数据1900-1975处的数字信号放大图;
[0024]图7为根据本发明一个实施例对图3中数字信号进行处理找到极值点的分布图;
[0025]图8为根据本发明一个实施例对图3中的数字信号进行二值化结果的示意图;以及
[0026]图9为根据本发明实施例的对条形码进行二值化的装置的结构方框图。【具体实施方式】
[0027]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0028]下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。此夕卜,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的可应用于性和/或其他材料的使用。
[0029]在本发明的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0030]参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0031]参照附图来描述根据本发明实施例提出的对条形码进行二值化方法和对条形码进行二值化的装置。
[0032]其中,用于实施上述方法的硬件环境可以为电脑IGB内存、扫描模块SE-655-E000R (9051),MCU (微处理器)为 STM32F103,运行的软件环境是 windowsXP。该示例用C语言及MATLAB 2008a程序语言实现了本发明提出的方法,并在扫描模块上进行试验。
[0033]如图1所示,本发明第一方面实施例提出的对条形码进行二值化方法包括以下步骤:
[0034]S101,扫描条形码并生成相应的数字信号,并对数字信号进行滤波处理。
[0035]也就是说,ADC (Analog-to-Digital Converter,模/数转换器)输出数字信号在进行二值化之前要对噪声进行抑制,通常采用低通滤波方法,例如选用中位值平均滤波法进行毛躁处理。中位值平均滤波法相当于“中位值滤波法”加上“算术平均滤波法”。
[0036]在本发明的一个实施例中,以条形码EAN13为例,如图2所示,经过硬件处理的原始数字信号F,大小M个数据点。其中取三个点:该数据点及其前后2个数据点,然后计算这3个数据点的算术平均值代替当前点的值,得到滤波后的数字信号F’,数据大小为11,如图3所示。
[0037]S102,对滤波处理后的数字信号进行采样以生成多个采样点。
[0038]S103,根据多个采样点分别获得上升沿集合和下降沿集合,其中,上升沿集合包括多个上升沿,下降沿集合包括多个下降沿。
[0039]在本发明的一个实施例中,所述上升沿通过当前采样点的值连续大于前一个采样点的值的数量大于N以获得,也就是说,检测当前点的值是否大于相邻的前一个点的值,如果有连续大于N个点的值大于相邻的前一个点的值,则获得一个上升沿。所述下降沿通过所述当前采样点的值连续小于所述前一个采样点的值的数量大于N以获得,也就是说,检测当前点的值是否小于相邻的前一个点的值,如果有连续大于N个点的值小于相邻的前一个点的值,则获得一个下降沿。其中,N为大于等于2小于等于10的整数,并且N是可调的,需要用户根据硬件、软件试验来确定。
[0040]S104,根据相邻的上升沿和下降沿分别获得多个极大值点和多个极小值点。
[0041]例如,本发明实施例的软硬件试验后,确定试验值N的值为5,这样确定的条形码区起始位置和结束位置最准确。
[0042]不考虑当前点的值等于前一个点的值的情况。通过判断条件:当前点的值大于前一个点的值的数量满足大于5,找到多个上升沿组成上升沿集合,并在找到上升沿后,开始记录当前值大于前一个点的当前点,用HighPos记录,HighPos的值为253时,它后面的点满足连续当前点的值小于前一个点的值的数量大于5,即连续下降的点的数量大于6,这个就是下降沿,这时HighPos记录的值253就是极大值点A,如图4所示。在找到下降沿后,开始记录当前值小于前一个点的当前点,用LowPos记录,当LowPos的值为275时,它后面的点满足连续当前点的值大于前一个点的值的数量大于5,即连续下降的点的数量大于6,这个就是上升沿,这时LowPos记录的值275就是极小值点B,如图5所示。此外,数据点1900到1975之间的数据点从直观上看出有上升下降的情况,但是不满足定义的判定条件,故不是要找的极值点,其中四个为C、D、E、G,如图6所示。以此类推,可以找出全部符合判定条件的极值点,如图7所示。
[0043]S105,根据相邻的极大值点和极小值点动态地确定极大值点和极小值点之间采样点对应的阈值,并根据阈值对极大值点和极小值点之间的采样点进行赋值。
[0044]在本发明的一个实施例中,选取相邻的极大值点和极小值点的平均值为阈值。或者是,选取相邻的极大值点和极小值点之间采样点的平均值为阈值。通过这两种方法均可获得阈值,主要取决于对精度和速度的要求,选取相邻的极大值点和极小值点之间采样点的平均值为阈值的方法精度低、速度快,而相反地,选择选取相邻的极大值点和极小值点的平均值为阈值的方法精度相对较高,但速度较慢,因此需要根据实际情况做取舍。
[0045]在本发明的一个实施例中,根据阈值进行赋值时,相邻的极大值点和极小值点之间采样点的值大于阈值赋为O和I中的一个,小于等于阈值赋为O和I中的另一个。也就是说,大于阈值的采样点的值赋为O还是I取决于前面数据处理过程中是否采用了反向放大电路。如果采用了反向放大电路,需要反向处理。在本发明的一个示例中,故对初值极小值点到最初极大值点之间的采样数据进行如下处理:大于该阈值的赋为0,小于或等于该阈值的赋为I。
[0046]此外,还需对最后一个极值点到最后一点之间的数据进行处理。
[0047]对最后的HighPos和LowPos的值进行比较,若HighPos比LowPos的值大,则从HighPos至最后一点间的数据进行二值化赋值,阈值为HighPos和最后一点的平均值;若HighPos比LowPos的值小,贝U从HighPos至最后一点间的数据赋为O。
[0048]由此,本发明实施例实现了数字信号的二值化,如图8所示。
[0049]根据本发明实施例的通过动态选取阈值对条形码进行二值化方法,利用极值点本身的性质,定义极值点应大于等于或小于等于左右各N (试验值)个数据点,然而对于大于等于或小于等于左右各M (小于N试验值)个数据点的这些数据点则认为是干扰点。基于上述思想设定判断条件找到全部符合条件的极大值和极小值点,取相邻两极值点的平均值或相邻两极值点间的数据的均值作为这一段数据点的阈值,然后进行二值化赋值。而当前对条形码进行扫描的方法,如果在扫描时出现前后或左右有一定角度倾斜时,会导致扫描结果不准确或者扫描不上的问题。本发明实施例提出的通过动态选取阈值对条形码进行二值化方法在扫描条形码时,由于二值化赋值之后的数据直接用于解码,而解码的成功率直接取决于二值化,二值化的优劣关键在于阈值的选取,因此,通过动态选取阈值,避免了单一阈值或局部阈值造成二值化结果的不准确,从而解决了扫描条码时可以有一定角度的前后左右倾斜,不同密度的条码的扫描,动态选取阈值和二值化处理问题。
[0050]此外,本方法灵敏度高,功耗小,成本低,适合低端扫描枪的使用,例如适合一些单位内部固定资产的管理或库存货物的出入库、以及超市等场所使用,而这些场所需要的码制比较普遍单一,对速度的要求也不是很高。
[0051]如图9所示,本发明第二方面实施例提出的对条形码进行二值化的装置,包括扫描模块901、采样模块902、获取模块903、判定模块904和赋值模块905。
[0052]其中,扫描模块901用于扫描条形码并生成相应的数字信号。米样模块902用于对所述扫描模块901生成的数字信号进行滤波处理并采样以生成多个采样点。
[0053]在本发明的一个实施例中,以条形码EAN13为例,如图2所示,首先,扫描模块901通过扫描条形码EAN13生成原始数字信号F,大小M个数据点。其次,采样模块902要对原始数字信号F进行噪声抑制处理,通常采用低通滤波方法,例如选用中位值平均滤波法进行毛躁处理。中位值平均滤波法相当于“中位值滤波法”加上“算术平均滤波法”。例如,采样模块902取三个点:该数据点及其前后2个数据点,然后计算这3个数据点的算术平均值代替当前点的值,得到滤波后的数字信号F’,数据大小为M,如图3所示。
[0054]获取模块903用于根据采样模块902的多个采样点分别获取上升沿集合和下降沿集合,其中,所述上升沿集合包括多个上升沿,所述下降沿集合包括多个下降沿,并根据相邻的上升沿和下降沿分别获取多个极大值点和多个极小值点。
[0055]在本发明的一个实施例中,所述上升沿是获取模块903通过当前采样点的值连续大于前一个采样点的值的数量大于N以获得,所述下降沿是获取模块903通过所述当前采样点的值连续小于所述前一个采样点的值的数量大于N以获得。其中,N为大于等于2小于等于10的整数,并且N是可调的,需要用户根据硬件、软件试验来确定。
[0056]例如,本发明实施例的软硬件试验后,确定试验值N的值为5,这样确定的条形码区起始位置和结束位置最准确。
[0057]不考虑当前点的值等于前一个点的值的情况。通过判断条件:当前点的值大于前一个点的值的数量满足大于5,获取模块903找到多个上升沿组成上升沿集合,并在找到上升沿后,开始记录当前值大于前一个点的当前点,用HighPos记录,HighPos的值为253时,它后面的点满足连续当前点的值小于前一个点的值的数量大于5,即连续下降的点的数量大于6,这个就是下降沿,这时HighPos记录的值253就是极大值点A,如图4所示。在获取模块903找到下降沿后,开始记录当前值小于前一个点的当前点,用LowPos记录,当LowPos的值为275时,它后面的点满足连续当前点的值大于前一个点的值的数量大于5,即连续下降的点的数量大于6,这个就是上升沿,这时LowPos记录的值275就是极小值点B,如图5所示。此外,数据点1900到1975之间的数据点从直观上看出有上升下降的情况,但是不满足定义的判定条件,故不是要找的极值点,其中四个为C、D、E、G,如图6所示。以此类推,获取模块903可以找出全部符合判定条件的极值点,如图7所示。
[0058]判定模块904用于根据获取模块903的相邻的极大值点和极小值点动态地确定极大值点和极小值点之间采样点对应的阈值。
[0059]在本发明的一个实施例中,判定模块904还用于选取相邻的极大值点和极小值点的平均值为阈值。或者是,判定模块904还用于选取相邻的极大值点和极小值点之间采样点的平均值为阈值。通过这两种方法判定模块904均可获得阈值,主要取决于对精度和速度的要求,判定模块904选取相邻的极大值点和极小值点之间采样点的平均值为阈值的方法精度低、速度快,而相反地,判定模块904选择选取相邻的极大值点和极小值点的平均值为阈值的方法精度相对较高,但速度较慢,因此需要根据实际情况做取舍。
[0060]赋值模块905用于根据判定模块904的阈值对极大值点和极小值点之间的采样点进行赋值。
[0061]在本发明的一个实施例中,赋值模块905根据阈值进行赋值时,相邻的极大值点和极小值点之间采样点的值大于阈值赋为O和I中的一个,小于等于阈值赋为O和I中的另一个。也就是说,赋值模块905对大于阈值的采样点的值赋为O还是I取决于前面数据处理过程中是否采用了反向放大电路。如果采用了反向放大电路,需要反向处理。在本发明的一个示例中,赋值模块905对初值极小值点到最初极大值点之间的采样点的数据进行如下处理:大于该阈值的赋为0,小于或等于该阈值的赋为I。
[0062]此外,判定模块904和赋值模块905还需对最后一个极值点到最后一点之间的数据进行处理。
[0063]判定模块904对最后的HighPos和LowPos的值进行比较,若HighPos比LowPos的值大,赋值模块905则从HighPos至最后一点间的数据进行二值化赋值,阈值为HighPos和最后一点的平均值;若HighPos比LowPos的值小,赋值模块905则从HighPos至最后一点间的数据赋为O。
[0064]由此,本发明实施例实现了数字信号的二值化,如图8所示。
[0065]根据本发明实施例的通过动态选取阈值对条形码进行二值化的装置,用软件代替硬件来实现动态选取阈值以实现二值化,这样在硬件上就去掉了反向放大电路以及用于进行二值化处理的电路,从而缩小芯片体积、减少功耗、降低了成本,同时还提高了产品的适应能力。具体地,一般的基于硬件的装置一旦做成产品就无法再进行改进,而本发明实施例提出的装置不但自身有学习能力,可以根据具体的情况调整曝光时间等主要参数,还可以手动修改参数以达到最好的扫描效果。
[0066]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0067]在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(⑶ROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0068]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0069]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0070]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0071]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0072]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0073]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
【权利要求】
1.一种对条形码进行二值化方法,其特征在于,包括以下步骤: 扫描条形码并生成相应的数字信号,并对所述数字信号进行滤波处理; 对滤波处理后的数字信号进行采样以生成多个采样点; 根据所述多个采样点分别获得上升沿集合和下降沿集合,其中,所述上升沿集合包括多个上升沿,所述下降沿集合包括多个下降沿; 根据相邻的上升沿和下降沿分别获得多个极大值点和多个极小值点;以及根据相邻的极大值点和极小值点动态地确定所述极大值点和极小值点之间采样点对应的阈值,并根据所述阈值对所述极大值点和极小值点之间的采样点进行赋值。
2. 如权利要求1所述的二值化方法,其特征在于,所述获得上升沿和下降沿具体为: 所述上升沿通过当前采样点的值连续大于前一个采样点的值的数量大于N以获得,所述下降沿通过所述当前采样点的值连续小于所述前一个采样点的值的数量大于N以获得。
3.如权利要求2所述的二值化方法,其特征在于,所述N为大于等于2小于等于10的整数。
4.如权利要求1所述的二值化方法,其特征在于,所述根据相邻的极大值点和极小值点动态地确定所述极大值点和极小值点之间采样点对应的阈值,具体为: 选取所述相邻的极大值点和极小值点的平均值为所述阈值;或者 选取所述相邻的极大值点和极小值点之间采样点的平均值为所述阈值。
5.如权利要求4所述的二值化方法,其特征在于,所述根据所述阈值对所述极大值点和极小值点之间的采样点进行赋值,具体为: 所述相邻的极大值点和极小值点之间采样点的值大于所述阈值赋为O和I中的一个,小于等于所述阈值赋为O和I中的另一个。
6.一种对条形码进行二值化的装置,其特征在于,包括: 扫描模块,用于扫描条形码并生成相应的数字信号; 采样模块,用于对所述扫描模块生成的数字信号进行滤波处理并采样以生成多个采样占.获取模块,用于根据所述采样模块的多个采样点分别获取上升沿集合和下降沿集合,其中,所述上升沿集合包括多个上升沿,所述下降沿集合包括多个下降沿,并根据相邻的上升沿和下降沿分别获取多个极大值点和多个极小值点; 判定模块,用于根据所述获取模块的相邻的极大值点和极小值点动态地确定所述极大值点和极小值点之间采样点对应的阈值;以及 赋值模块,用于根据所述判定模块的阈值对所述极大值点和极小值点之间的采样点进行赋值。
7.如权利要求6所述的装置,其特征在于,所述获取模块还用于通过当前采样点的值连续大于前一个采样点的值的数量大于N以获得所述上升沿,并通过所述当前采样点的值连续小于所述前一个采样点的值的数量大于N以获得所述下降沿。
8.如权利要求7所述的装置,其特征在于,所述N为大于等于2小于等于10的整数。
9.如权利要求6所述的装置,其特征在于,所述判定模块还用于选取所述相邻的极大值点和极小值点的平均值为所述阈值。
10.如权利要求6所述的装置,其特征在于,所述判定模块还用于选取所述相邻的极大值点和极小值点之间采样点的平均值为所述阈值。
11.如权利要求9或10所述的装置,其特征在于,所述赋值模块还用于根据所述相邻的极大值点和极小值点之间采 样点的值大于所述阈值赋为O和I中的一个,小于等于所述阈值赋为O和I中的另一个。
【文档编号】G06K9/38GK103577823SQ201210273198
【公开日】2014年2月12日 申请日期:2012年8月2日 优先权日:2012年8月2日
【发明者】郭平日, 郑利, 刘辉, 杨云 申请人:比亚迪股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1