CN115759148A - 图像处理方法、装置、计算机设备及计算机可读存储介质 - Google Patents
图像处理方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115759148A CN115759148A CN202310030357.3A CN202310030357A CN115759148A CN 115759148 A CN115759148 A CN 115759148A CN 202310030357 A CN202310030357 A CN 202310030357A CN 115759148 A CN115759148 A CN 115759148A
- Authority
- CN
- China
- Prior art keywords
- gray
- value
- difference
- point
- valley
- 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.)
- Granted
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申请涉及一种图像处理方法、装置、计算机设备及计算机可读存储介质。方法包括:确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;灰度值曲线,为条形码的像素点的灰度值形成的曲线;确定相邻的第一峰点和第一谷点之间的灰度差值,得到灰度差值集合;基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值;从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点;基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。采用本方法能够提高条形码识别的准确度。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种图像处理方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着图像处理技术的发展,条形码广泛应用于商业、图书管理、仓储或物流等领域,通过利用扫码设备对物品上的条形码进行采集,然后基于采集的条形码图像进行条形码识别,得到条形码对应的条形码信息。在条形码识别之前,需要先对采集的条形码图像进行处理。
传统技术中,通常对采集的条形码图像进行二值化处理得到二值化图像,基于二值化图像进行条形码识别,从而得到条形码信息。
然而,由于光照、阴影的环境因素的影响,采集的条形码图像存在图像质量较差的问题,导致基于采集的条形码图像的灰度值得到的二值化图像存在错误,从而基于二值化图像进行条形码识别得到的条形码信息不准确,导致条形码识别的准确度较低。
发明内容
本申请提供一种图像处理方法、装置、计算机设备及计算机可读存储介质,能够提高条形码识别的准确度。
第一方面,本申请提供了一种图像处理方法,包括:
确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;灰度值曲线,为条形码的像素点的灰度值形成的曲线;
确定相邻的第一峰点和第一谷点之间的灰度差值,得到灰度差值集合;
基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值;
从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点;
基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
第二方面,本申请还提供了一种图像处理装置,包括:
第一确定模块,用于确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;灰度值曲线,为条形码的像素点的灰度值形成的曲线;
第二确定模块,用于确定相邻的第一峰点和第一谷点之间的灰度差值,得到灰度差值集合;
统计模块,用于基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值;
过滤模块,用于从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点;
处理模块,用于基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
第三方面,本申请还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述图像处理方法中的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述图像处理方法中的步骤。
第五方面,本申请还提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述图像处理方法中的步骤。
上述图像处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,基于灰度差值集合中的灰度差值进行统计分析得到灰度差阈值,然后从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点,使得过滤得到的第二峰点和第二谷点更准确,从而基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理更加准确,从而准确的得到条形码对应的条形码信息,提高了条形码识别的准确度。
附图说明
图1为本申请实施例提供的一种图像处理方法的应用环境图;
图2为本申请实施例提供的一种图像处理方法的流程示意图;
图3A为本申请实施例提供的一种灰度值曲线示意图;
图3B为本申请实施例提供的一种峰谷点示意图;
图3C为本申请实施例提供的一种过滤后的峰谷点示意图;
图3D为本申请实施例提供的一种二值化处理结果的示意图;
图4为本申请实施例提供的一种灰度差直方图的示意图;
图5为本申请实施例提供的一种条形码识别的流程示意图;
图6为本申请实施例提供的另一种图像处理方法的流程示意图;
图7为本申请实施例提供的一种图像处理装置的结构框图;
图8为本申请实施例提供的一种计算机设备的内部结构图;
图9为本申请实施例提供的另一种计算机设备的内部结构图;
图10为本申请实施例提供的一种计算机可读存储介质的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的图像处理方法,可以应用于如图1所示的应用环境中。其中,计算机设备102通过通信网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
具体地,计算机设备102可以存储条形码图像也可以从服务器104或其他设备获取条形码图像。计算机设备102确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;灰度值曲线,为条形码的像素点的灰度值形成的曲线;确定相邻的第一峰点和第一谷点之间的灰度差值,得到灰度差值集合;基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值;从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点;基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
其中,计算机设备102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一些实施例中,如图2所示,提供了一种图像处理方法,以该方法应用于图1中的计算机设备102为例进行说明,包括以下步骤:
步骤202,确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;灰度值曲线,为条形码的像素点的灰度值形成的曲线。
其中,条形码是将宽度不等的多个黑条和空白,按照一定的编码规则排列得到的用于表达信息的图形标识符,一个条形码表达唯一的条形码信息,条形码信息可以是数字、字母和符号中的至少一种组成的编码。常用的条形码是由反射率相差较大的黑条和空白排列得到的平行图案。条形码也称为一维码,黑条也称为条,空白称为空。条形码图像是对条形码进行图像采集得到的,例如,可以是摄像头进行拍摄采集得到的。
灰度值曲线为条形码图像中的条形码的一行像素点的灰度值形成的曲线,例如,如图3A所示,为条形码图像中的条形码对应的灰度值曲线示意图,横坐标为像素坐标,纵坐标为像素灰度值。峰点是灰度值曲线中的局部极大值点,峰点两侧的像素点的灰度值均小于峰点对应的灰度值,谷点是灰度值曲线中的局部极小值点,谷点两侧的像素点的灰度值均大于谷点对应的灰度值。第一峰点是从条形码图像中的条形码对应的灰度值曲线中确定的峰点,第一谷点是从条形码图像中的条形码对应的灰度值曲线中确定的谷点,例如,如图3B所示,为灰度值曲线中的各第一峰点和各第一谷点的峰谷点示意图。
具体地,计算机设备获取条形码图像,从条形码图像中的条形码选取一行像素点,可以是随机选取的,也可以是根据预设行序号选取的,然后根据该行像素点中各像素点的灰度值,得到条形码对应的灰度值曲线,并确定灰度值曲线中的各第一峰点和各第一谷点。其中,行序号用于表征条形码图像中的条形码的像素点的行位置,预设行序号可以是预先设置的行序号,例如,预设行序号为20,则从条形码图像中的条形码选取行序号为20的一行像素点。
步骤204,确定相邻的第一峰点和第一谷点之间的灰度差值,得到灰度差值集合。
其中,灰度差值是指相邻的第一峰点和第一谷点的灰度值之差的绝对值,可以是第一峰点与相邻的后向第一谷点之间的灰度值之差的绝对值,也可以是第一谷点与相邻的后向第一峰点之间的灰度值之差的绝对值。灰度差值的范围为[0,255]。灰度差值集合包括灰度值曲线中所有相邻的第一峰点和第一谷点之间的灰度差值。
具体地,计算机设备针对灰度值曲线中的各第一峰点,确定第一峰点与相邻的后向第一谷点之间的灰度差值;针对灰度值曲线中的各第一谷点,确定第一谷点与相邻的后向第一峰点之间的灰度差值;经过上述的两个步骤得到灰度差值集合。
在一些实施例中,在灰度值曲线中存在连续峰点的情况下,计算机设备可以剔除连续峰点中灰度值较低的第一峰点,保留灰度值最高的第一峰点;同样的,在灰度值曲线中存在连续谷点的情况下,可以剔除连续谷点中灰度值较高的第一谷点,保留灰度值最低的第一谷点;经过上述的两个步骤使灰度值曲线中的第一峰点和第一谷点交替出现,即使得与第一峰点相邻的均为第一谷点,与第一谷点相邻的均为第一峰点。其中,连续峰点是指灰度值曲线中存在相邻的多个第一峰点,连续谷点是指灰度值曲线中存在相邻的多个第一谷点。
步骤206,基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值。
其中,灰度差阈值用于对各第一峰点和各第一谷点进行过滤。
具体地,计算机设备对灰度差值集合中的灰度差值进行统计分析,得到统计结果,基于统计结果得到灰度差阈值。例如,统计结果可以是灰度差值直方图,如图4所示,横坐标为灰度差值,纵坐标为各灰度差值对应的统计次数。
在一些实施例中,计算机设备可以基于灰度差值集合确定至少一个第一灰度差值范围,从至少一个第一灰度差值范围中确定范围最大的第一灰度差值范围,并基于该范围最大的第一灰度差值范围计算得到灰度差阈值。例如,可以将该范围最大的第一灰度差值范围的中间值作为灰度差阈值。其中,第一灰度差值范围是以灰度差值集合中的相邻灰度差值为边界值的范围,相邻灰度差值是从灰度差值集合中确定的,一个第一灰度差值范围对应一组相邻灰度差值,一组相邻灰度差值之间不存在灰度差值集合中的灰度差值,即以相邻灰度差值为边界值的第一灰度差值范围内的灰度差值的统计次数都为0,例如,如图4所示,以灰度差值A和灰度差值B为边界值的第一灰度差值范围内的灰度差值对应的统计次数均为0,则灰度差值A和灰度差值B为一组相邻灰度差值。
步骤208,从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点。
具体地,针对各第一峰点,计算机设备将第一峰点与相邻的后向第一谷点之间的灰度差值与灰度差阈值进行比较,在灰度差值大于或等于灰度差阈值的情况下,将第一峰点确定为第二峰点;在灰度差值小于灰度差阈值的情况下,将该第一峰点剔除;针对各第一谷点,计算机设备将第一谷点与相邻的后向第一峰点之间的灰度差值与灰度差阈值进行比较,在灰度差值大于或等于灰度差阈值的情况下,将第一谷点确定为第二谷点;在灰度差值小于灰度差阈值的情况下,将该第一谷点剔除;直到遍历各第一峰点与各第一谷点,得到多个第二峰点和多个第二谷点。例如,如图3C所示,为过滤后得到的第二峰点和第二谷点的峰谷点示意图。
举例说明,图3B为各第一峰点和各第一谷点的峰谷点示意图,假设灰度差阈值为100,第一谷点1与相邻的后向第一峰点2之间的灰度差值为42,灰度差值42小于灰度差阈值100,则将第一谷点1剔除掉;第一峰点2与相邻的后向第一谷点3之间的灰度差值为40,灰度差值40小于灰度差阈值100,则将第一峰点2剔除掉;第一谷点3与相邻的后向第一峰点4之间的灰度差值为248,灰度差值248大于灰度差阈值100,则将第一谷点3确定为第二谷点。
步骤210,基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
其中,条形码信息是条形码表达的信息,一个条形码表达唯一的条形码信息,条形码信息可以是数字、字母和符号中的至少一种组成的编号,条形码信息可以表示物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而条形码在商品流通、图书管理、邮政管理、银行系统等许多领域都得到了广泛的应用。
具体地,计算机设备基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码图像对应的二值化图像,然后计算机设备基于二值化图像进行条形码识别,例如,可以将二值化图像输入已训练的条形码识别模型进行条形码识别,得到条形码对应的条形码信息。例如,如图3D所示,示意图中上部为条形码图像,图中下部为条形码图像对应的二值化图像。
在一些实施例中,针对相邻的第二峰点和第二谷点分别对应的灰度值,计算机设备可以确定灰度值曲线中对应的曲线段的局部灰度阈值,利用曲线段的局部灰度阈值,对曲线段中的像素点的灰度值进行二值化处理,得到二值化图像。其中,曲线段是相邻的第二峰点和第二谷点之间的像素点的灰度值组成的,也称为峰谷段;局部灰度阈值是灰度值曲线中曲线段对应的阈值,是基于曲线段对应的第二峰点和第二谷点对应的灰度值确定的。
在一些实施例中,计算机设备基于二值化图像进行条形码识别,在得到条形码对应的条形码信息的情况下,则条形码识别成功;在未得到条形码对应的条形码信息的情况下,则条形码识别失败,计算机设备可以从条形码图像中的条形码重新选取一行像素点,返回确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点的步骤,直到条形码识别成功。
上述图像处理方法中,基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值,然后从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点,使得过滤得到的第二峰点和第二谷点更准确,从而基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理更加准确,从而准确的得到条形码对应的条形码信息,提高了条形码识别的准确度。
在一些实施例中,基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值,包括:
基于灰度差值集合,确定至少一个第一灰度差值范围;第一灰度差值范围以灰度差值集合中的相邻灰度差值为边界值、且相邻灰度差值之间不存在灰度差值集合中的灰度差值;
在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值存在两级分化的情况下,基于至少一个第一灰度差值范围,确定灰度差阈值。
两级分化是指灰度差值集合中的灰度差值集中分布在相距较远的两个区间内,例如,如图4所示,灰度差值集合中的灰度差值集中分布在[0,50]和[200,255]两个区间内,即灰度差值集合中的灰度差值存在两极分化的情况。
具体地,按照灰度差值从小到大的顺序,计算机设备从灰度差值集合中找到至少一组相邻灰度差值,针对各组相邻灰度差值,将一组相邻灰度差值中较小的灰度差值作为左边界值、较大的灰度差值作为右边界值,得到至少一个第一灰度差值范围,然后计算机设备在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值存在两级分化的情况下,基于至少一个第一灰度差值范围,确定灰度差阈值。
在一些实施例中,计算机设备可以从至少一个第一灰度差值范围中,选取范围最大的一个第一灰度差值范围,基于该范围最大的第一灰度差值范围,判断灰度差值集合中的灰度差值是否存在两极分化的情况,若是,则基于该范围最大的第一灰度差值范围的左边界值和右边界值分别对应的灰度差值,计算得到灰度差阈值。
本实施例中,基于灰度差值集合,确定至少一个第一灰度差值范围,并在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值存在两级分化的情况下,基于至少一个第一灰度差值范围确定灰度差阈值,从而能够利用灰度差阈值对各第一峰点和各第一谷点进行过滤,使得到的第二峰点和第二谷点更准确,从而提高了条形码识别的准确度。
在一些实施例中,图像处理方法还包括:
在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值不存在两级分化的情况下,基于各第一峰点和各第一谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
具体地,若灰度差值集合中的灰度差值不存在两极分化的情况,则灰度差值集合中的灰度差值分布较为均匀,计算机设备不需要对各第一峰点和各第一谷点进行过滤。在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值不存在两级分化的情况下,计算机设备可以基于各第一峰点和各第一谷点进行二值化处理,得到二值化图像,然后基于二值化图像进行条形码识别,得到条形码对应的条形码信息。
在一些实施例中,计算机设备可以针对相邻的第一峰点和第一谷点分别对应的灰度值,确定灰度值曲线中对应的曲线段的局部灰度阈值,然后利用曲线段的局部灰度阈值,对曲线段中的像素点的灰度值进行二值化处理,得到条形码图像对应的二值化图像。
本实施例中,在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值不存在两级分化的情况下,基于各第一峰点和各第一谷点进行二值化处理,从而提高了条形码识别的效率。
在一些实施例中,基于灰度差值集合,确定至少一个第一灰度差值范围,包括:
按照从小到大的顺序,从灰度差值集合中确定第一候选差值,在灰度差值集合中小于或等于第一候选差值的灰度差值的数量达到第一数量的情况下,将第一候选差值确定为第一灰度差值;
按照从大到小的顺序,从灰度差值集合中确定第二候选差值,在灰度差值集合中大于或等于第二候选差值的灰度差值的数量达到第二数量的情况下,将第二候选差值确定为第二灰度差值;
从以第一灰度差值以及第二灰度差值为边界值的第二灰度差值范围中,确定至少一个第一灰度差值范围。
其中,第一灰度差值范围内的灰度差值的统计次数都为0,也可以称为无效灰度差值范围。第一数量是预先设置的数量,例如,第一数量可以设置为2。第二数量是预先设置的数量,例如,第二数量可以设置为2。
具体地,计算机设备在从灰度差值集合中确定第一灰度差值和第二灰度差值后,以第一灰度差值为左边界值、第二灰度差值为右边界值,得到第二灰度差值范围,然后从第二灰度差值范围中的灰度差值中,确定至少一组相邻灰度差值,针对各组相邻灰度差值,将一组相邻灰度差值中较小的灰度差值作为左边界值、较大的灰度差值作为右边界值,得到至少一个第一灰度差值范围。
本实施例中,通过从灰度差值集合中确定第一灰度差值和第二灰度差值,然后从以第一灰度差值以及第二灰度差值为边界值的第二灰度差值范围中,确定至少一个第一灰度差值范围,从而能够基于第一灰度差值范围判断灰度差值集合中的灰度差值是否存在两极分化,提高了条形码识别的准确度。
在一些实施例中,在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值存在两级分化的情况下,基于至少一个第一灰度差值范围,确定灰度差阈值,包括:
从各第一灰度差值范围中,确定范围最大的第一灰度差值范围为灰度差值范围;
在目标灰度差值范围与第二灰度差值范围之间的范围占比大于占比阈值的情况下,确定灰度差值集合中的灰度差值存在两级分化;
基于目标灰度差值范围进行插值处理,得到灰度差阈值。
其中,目标灰度差值范围是第一灰度差值范围中范围最大的第一灰度差值范围,范围占比是两个灰度差值范围对应的长度之间的比值,例如,两个灰度差值范围分别为[28,34]、[10,254],则范围[28,34]的长度为34-28=6,则范围[10,254]的长度为254-10=244,则范围占比为6/244=2.5%。占比阈值是预先设置的,例如,可以将占比阈值设置为25%。
具体地,计算机设备可以根据各第一灰度差值范围对应的长度,从各第一灰度差值范围中确定范围最大的第一灰度差值范围为目标灰度差值范围,然后计算目标灰度差值范围与第二灰度差值范围之间的范围占比,在该范围占比大于占比阈值的情况下,确定灰度差值集合中的灰度差值存在两级分化,基于目标灰度差值范围进行插值处理,例如,可以将插值的位置设置为目标灰度差值范围中的二分之一处,得到灰度差阈值;在该范围占比小于占比阈值的情况下,确定灰度差值集合中的灰度差值不存在两级分化,则基于各第一峰点和各第一谷点进行二值化处理,得到条形码对应的条形码信息。
举例说明,假设第二灰度差值范围为[10,254],第二灰度差值范围中存在3个第一灰度差值范围,分别为[28,34]、[36,41]以及[48,220],[48,220]为范围最大的第一灰度差值范围,即目标灰度差值范围为[48,220],在占比阈值为25%的情况下,目标灰度差值范围与第二灰度差值范围之间的范围占比为(220-48)/(254-10)=70%,由于70%>25%,即灰度差值集合中的灰度差值存在两级分化,目标灰度差值范围中的二分之一处即(220-48)/2=86,作为灰度差阈值。
本实施例中,在目标灰度差值范围与第二灰度差值范围之间的范围占比大于占比阈值的情况下,确定灰度差值集合中的灰度差值存在两级分化,基于目标灰度差值范围进行插值处理,得到灰度差阈值,从而能够基于灰度差阈值对各第一峰点和各第一谷点进行过滤,能够提高条形码识别的准确度。
在一些实施例中,基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息,包括:
针对相邻的第二峰点和第二谷点分别对应的灰度值,确定灰度值曲线中对应的曲线段的局部灰度阈值;
利用曲线段的局部灰度阈值,对形成曲线段的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
其中,曲线段是由相邻的第二峰点和第二谷点之间的像素点的灰度值形成的,也称为峰谷段;局部灰度阈值是灰度值曲线中曲线段对应的阈值,是基于曲线段对应的第二峰点和第二谷点的灰度值确定的,例如,可以是对曲线段对应的第二峰点和第二谷点的灰度值进行均值计算,将均值作为该曲线段的局部灰度阈值。
具体地,针对各第二峰点和各第二谷点,计算机设备可以对相邻的第二峰点和第二谷点分别对应的灰度值.进行均值计算,得到该相邻的第二峰点与第二谷点在灰度值曲线中对应的曲线段的局部灰度阈值,例如,假设第二峰点1的灰度值为251,相邻的第二谷点1的灰度值为9,进行均值计算:(251+9)/2=130,则第二峰点1和第二谷点1在灰度值曲线中对应的曲线段的局部灰度阈值为130。然后计算机设备将形成曲线段的各像素点的灰度值与局部灰度阈值进行比较,在像素点的灰度值小于局部灰度阈值的情况下,将像素点的灰度值更新为0;在像素点的灰度值大于局部灰度阈值的情况下,将像素点的灰度值更新为255,直到遍历灰度值曲线中的所有曲线段,得到条形码图像对应的二值化图像。
本实施例中,通过针对相邻的第二峰点和第二谷点分别对应的灰度值,确定灰度值曲线中对应的曲线段的局部灰度阈值,从而利用局部灰度阈值,对形成曲线段的像素点的灰度值进行二值化处理,与使用全局阈值对灰度值曲线进行二值化处理相比较,提高了二值化处理的准确度,从而进一步提高了条形码识别的准确度。
在一些实施例种,如图5所示,图像处理方法的流程可以概括为5个步骤,分别是:图像输入、峰谷点求取、峰谷点筛选、局部阈值计算获取条空和信息识别。图像输入是指将采集的条形码图像输入到执行本方法的计算机设备中;峰谷点求取是指确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;峰谷点筛选是指基于灰度差值集合进行统计分析得到灰度差阈值,并从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到第二峰点和第二谷点;局部阈值计算获取条空是指基于各第二峰点和各第二谷点,计算灰度值曲线中对应的曲线段的局部灰度阈值,利用局部灰度阈值对灰度值曲线进行二值化处理,得到条形码图像对应的二值化图像;信息识别是指利用二值化图像进行识别,得到条形码图像中的条形码对应的条形码信息。
在一些实施例中,确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点,包括:
确定条形码图像中的条形码任意一行像素点中的各像素点对应的灰度值梯度;
针对各像素点中的当前像素点,从当前像素点的各前向像素点中确定满足预设条件的前向像素点;预设条件包括前向像素点的灰度值梯度与当前像素点的灰度值梯度的乘积为正数;
对当前像素点的灰度值梯度和满足预设条件的前向像素点的灰度值梯度进行统计,得到当前像素点的累计灰度值梯度;
确定当前像素点的灰度值梯度与当前像素点的后向相邻像素点的灰度值梯度的乘积,得到当前像素点对应的梯度乘积;
在当前像素点的梯度乘积为负数、当前像素点的累计灰度值梯度大于累计阈值、且当前像素点的灰度值梯度为负数的情况下,确定当前像素点为条形码对应的灰度值曲线中的第一谷点;
在当前像素点的梯度乘积为负数、当前像素点的累计灰度值梯度大于累计阈值、且当前像素点的灰度值梯度为正数的情况下,确定当前像素点为条形码对应的灰度值曲线中的第一峰点。
其中,灰度值梯度是利用反向差分公式计算得到的,可以表示为:f′(x)= f(x)-f(x-1),f′(x)表示像素点x对应的灰度值梯度,x表示像素点的像素坐标,f(x)表示像素点的灰度值。当前像素点是按照像素坐标从小到大的顺序从灰度值曲线中确定的,前向像素点是指在当前像素点所在的曲线段中,像素坐标小于当前像素点的像素坐标的像素点。累计阈值是预先设置的累计灰度值梯度的阈值,例如,可以设置为8。后向相邻像素点是指与当前像素点相邻、且像素坐标大于当前像素点的像素坐标的像素点。
举例说明,假设像素点a、b、c、d、e为灰度值曲线中一个曲线段上依次相邻的像素点,像素点a、b、c、d、e的灰度值梯度分别为5、-10、-5、-8、5,若当前像素点为像素点d,由于像素点a与像素点d的灰度值梯度的乘积为5×(-8)<0,而像素点b与像素点d的灰度值梯度的乘积、像素点c与像素点d的灰度值梯度的乘积分别为(-10)×(-8)>0、(-5)×(-8)>0,即像素点b和像素点c为像素点d对应的满足预设要求的前向像素点,累计灰度值梯度可以是当前像素点与满足预设要求的前向像素点分别对应的灰度值梯度相加的和的绝对值,即像素点d的累计灰度值梯度为|-10-5-8|=23。
具体地,计算机设备可以利用反向差分公式计算得到灰度值曲线中各像素点分别对应的灰度值梯度,然后按照像素坐标从小到大的顺序,从各像素点中确定当前像素点,然后确定当前像素点的梯度乘积和累计灰度值梯度,然后将累计灰度值梯度与累计阈值进行比较,在当前像素点的梯度乘积为负数、当前像素点的累计灰度值梯度大于累计阈值、且当前像素点的灰度值梯度为负数的情况下,确定当前像素点为第一谷点;在当前像素点的梯度乘积为负数、当前像素点的累计灰度值梯度大于累计阈值、且当前像素点的灰度值梯度为正数的情况下,确定当前像素点为第一峰点,直到遍历灰度值曲线中的所有像素点,得到灰度值曲线中的各第一峰点和各第一谷点。
在一些实施例中,在当前像素点的梯度乘积为0的情况下,若当前像素点的累计灰度值梯度大于累计阈值、且当前像素点的灰度值梯度为负数,确定当前像素点为第一谷点;若当前像素点的累计灰度值梯度大于累计阈值、且当前像素点的灰度值梯度为正数,确定当前像素点为第一峰点。
例如,假设累计阈值为m,当前像素点为像素点i,像素点i对应的灰度值梯度为:f′(i)= f(i)-f(i-1),像素点i的灰度值梯度与其后向相邻像素点即像素点i+1的灰度值梯度的梯度乘积为:f′(i)×f′(i+1),在梯度乘积f′(i)×f′(i+1) ≤ 0、累计灰度值梯度大于m、且像素点i的灰度值梯度f′(i) < 0的情况下,将该像素点i确定为第一谷点;在梯度乘积f′(i)×f′(i+1) ≤ 0、累计灰度值梯度大于m、且当前像素点的灰度值梯度f′(i) > 0的情况下,将该当前像素点i确定为第一峰点,然后将像素点i的后向相邻像素点即像素点i+1更新为当前像素点,直到遍历灰度值曲线中的所有像素点。
本实施例中,通过基于各像素点的灰度值梯度,能够快速的确定灰度值曲线中的各第一峰点和各第一谷点,从而提高了条形码识别的效率。
在一些实施例中,如图6所示,提供了一种图像处理方法,以该方法应用于计算机设备为例进行说明,包括以下步骤:
步骤602,确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点。
步骤604,确定相邻的第一峰点和第一谷点之间的灰度差值,得到灰度差值集合。
步骤606,从灰度差值集合中确定第一灰度差值和第二灰度差值,从以第一灰度差值以及第二灰度差值为边界值的第二灰度差值范围中,确定至少一个第一灰度差值范围。
其中,灰度差值集合中小于或等于第一灰度差值的灰度差值的数量为第一数量;灰度差值集合中大于或等于第二灰度差值的灰度差值的数量为第二数量。
步骤608,从各第一灰度差值范围中确定范围最大的第一灰度差值范围为目标灰度差值范围。
步骤610,判断目标灰度差值范围与第二灰度差值范围之间的范围占比是否大于占比阈值,若否,则执行步骤612,若是,则执行步骤614。
步骤612,基于各第一峰点和各第一谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
步骤614,基于目标灰度差值范围进行插值处理,得到灰度差阈值。
步骤616,从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点。
步骤618,针对相邻的第二峰点和第二谷点分别对应的灰度值,确定灰度值曲线中对应的曲线段的局部灰度阈值。
步骤620,利用曲线段的局部灰度阈值,对形成曲线段的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
本实施例中,通过基于灰度差值集合确定至少一个第一灰度差值范围和第二灰度差值范围,从各第一灰度差值范围中确定范围最大的第一灰度差值范围为目标灰度差值范围,从而在目标灰度差值范围与第二灰度差值范围之间的范围占比大于占比阈值的情况下,利用灰度差阈值对各第一峰点和各第一谷点进行过滤,由于过滤掉了灰度差值小于灰度值阈值的第一峰点和第一谷点,即过滤了噪声干扰产生的第一峰点和第一谷点,使得到的第二峰点和第二谷点更准确,从而基于第二峰点和第二谷点计算对应的曲线段的局部灰度阈值,利用局部灰度阈值对形成曲线段的像素点的灰度值进行二值化处理,能够更准确的得到的条形码对应的条形码信息,提高了条形码识别的准确度。
应该理解的是,虽然如上述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的图像处理方法的图像处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图像处理装置实施例中的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。
在一些实施例中,如图7所示,提供了一种图像处理装置,包括:
第一确定模块702,用于确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;灰度值曲线,为条形码的像素点的灰度值形成的曲线;
第二确定模块704,用于确定相邻的第一峰点和第一谷点之间的灰度差值,得到灰度差值集合;
统计模块706,用于基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值;
过滤模块708,用于从各第一峰点和各第一谷点中,过滤掉灰度差值小于灰度差阈值的第一峰点和第一谷点,得到多个第二峰点和多个第二谷点;
处理模块710,用于基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
在一些实施例中,在基于灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值方面,统计模块706具体用于:
基于灰度差值集合,确定至少一个第一灰度差值范围;第一灰度差值范围以灰度差值集合中的相邻灰度差值为边界值、且相邻灰度差值之间不存在灰度差值集合中的灰度差值;
在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值存在两级分化的情况下,基于至少一个第一灰度差值范围,确定灰度差阈值。
在一些实施例中,图像处理装置还用于:
在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值不存在两级分化的情况下,基于各第一峰点和各第一谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
在一些实施例中,在基于灰度差值集合,确定至少一个第一灰度差值范围方面,统计模块706具体用于:
按照从小到大的顺序,从灰度差值集合中确定第一候选差值,在灰度差值集合中小于或等于第一候选差值的灰度差值的数量达到第一数量的情况下,将第一候选差值确定为第一灰度差值;
按照从大到小的顺序,从灰度差值集合中确定第二候选差值,在灰度差值集合中大于或等于第二候选差值的灰度差值的数量达到第二数量的情况下,将第二候选差值确定为第二灰度差值;
从以第一灰度差值以及第二灰度差值为边界值的第二灰度差值范围中,确定至少一个第一灰度差值范围。
在一些实施例中,在基于至少一个第一灰度差值范围,确定灰度差值集合中的灰度差值存在两级分化的情况下,基于至少一个第一灰度差值范围,确定灰度差阈值的方面,统计模块706具体用于:
从各第一灰度差值范围中,确定范围最大的第一灰度差值范围为目标灰度差值范围;
在目标灰度差值范围与第二灰度差值范围之间的范围占比大于占比阈值的情况下,确定灰度差值集合中的灰度差值存在两级分化;
基于目标灰度差值范围进行插值处理,得到灰度差阈值。
在一些实施例中,在基于各第二峰点和各第二谷点,对形成灰度值曲线的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息方面,处理模块710具体用于:
针对相邻的第二峰点和第二谷点分别对应的灰度值,确定灰度值曲线中对应的曲线段的局部灰度阈值;
利用曲线段的局部灰度阈值,对形成曲线段的像素点的灰度值进行二值化处理,得到条形码对应的条形码信息。
在一些实施例中,在确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点方面,第一确定模块702具体用于:
确定条形码图像中的条形码任意一行像素点中的各像素点对应的灰度值梯度;
针对各像素点中的当前像素点,从当前像素点的各前向像素点中确定满足预设条件的前向像素点;预设条件包括前向像素点的灰度值梯度与当前像素点的灰度值梯度的乘积为正数;
对当前像素点的灰度值梯度和满足预设条件的前向像素点的灰度值梯度进行统计,得到当前像素点的累计灰度值梯度;
确定当前像素点的灰度值梯度与当前像素点的后向相邻像素点的灰度值梯度的乘积,得到当前像素点对应的梯度乘积;
在当前像素点的梯度乘积为负数、当前像素点的累计灰度值梯度大于累计阈值、且当前像素点的灰度值梯度为负数的情况下,确定当前像素点为条形码对应的灰度值曲线中的第一谷点;
在当前像素点的梯度乘积为负数、当前像素点的累计灰度值梯度大于累计阈值、且当前像素点的灰度值梯度为正数的情况下,确定当前像素点为条形码对应的灰度值曲线中的第一峰点。
上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)以及通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像处理方法涉及的相关数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的图像处理方法中的步骤。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元以及输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述的图像处理方法中的步骤。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8和图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述图像处理方法中的步骤。
在一些实施例中,提供了一种计算机可读存储介质1000,其上存储有计算机程序1002,计算机程序1002被处理器执行时实现上述图像数据处理方法中的步骤,其内部结构图可以如图10所示。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述图像处理方法中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandom Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种图像处理方法,其特征在于,包括:
确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;所述灰度值曲线,为所述条形码的像素点的灰度值形成的曲线;
确定相邻的所述第一峰点和所述第一谷点之间的灰度差值,得到灰度差值集合;
基于所述灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值;
从各所述第一峰点和各所述第一谷点中,过滤掉灰度差值小于所述灰度差阈值的所述第一峰点和所述第一谷点,得到多个第二峰点和多个第二谷点;
基于各所述第二峰点和各所述第二谷点,对形成所述灰度值曲线的像素点的灰度值进行二值化处理,得到所述条形码对应的条形码信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值,包括:
基于所述灰度差值集合,确定至少一个第一灰度差值范围;所述第一灰度差值范围以所述灰度差值集合中的相邻灰度差值为边界值、且所述相邻灰度差值之间不存在所述灰度差值集合中的灰度差值;
在基于所述至少一个第一灰度差值范围,确定所述灰度差值集合中的灰度差值存在两级分化的情况下,基于所述至少一个第一灰度差值范围,确定灰度差阈值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在基于所述至少一个第一灰度差值范围,确定所述灰度差值集合中的灰度差值不存在两级分化的情况下,基于各所述第一峰点和各所述第一谷点,对形成所述灰度值曲线的像素点的灰度值进行二值化处理,得到所述条形码对应的条形码信息。
4.根据权利要求2所述的方法,其特征在于,所述基于所述灰度差值集合,确定至少一个第一灰度差值范围,包括:
按照从小到大的顺序,从所述灰度差值集合中确定第一候选差值,在所述灰度差值集合中小于或等于所述第一候选差值的灰度差值的数量达到第一数量的情况下,将所述第一候选差值确定为第一灰度差值;
按照从大到小的顺序,从所述灰度差值集合中确定第二候选差值,在所述灰度差值集合中大于或等于所述第二候选差值的灰度差值的数量达到第二数量的情况下,将所述第二候选差值确定为第二灰度差值;
从以所述第一灰度差值以及所述第二灰度差值为边界值的第二灰度差值范围中,确定至少一个第一灰度差值范围。
5.根据权利要求4所述的方法,其特征在于,所述在基于所述至少一个第一灰度差值范围,确定所述灰度差值集合中的灰度差值存在两级分化的情况下,基于所述至少一个第一灰度差值范围,确定灰度差阈值,包括:
从各所述第一灰度差值范围中,确定范围最大的第一灰度差值范围为目标灰度差值范围;
在所述目标灰度差值范围与所述第二灰度差值范围之间的范围占比大于占比阈值的情况下,确定所述灰度差值集合中的灰度差值存在两级分化;
基于所述目标灰度差值范围进行插值处理,得到灰度差阈值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述基于各所述第二峰点和各所述第二谷点,对形成所述灰度值曲线的像素点的灰度值进行二值化处理,得到所述条形码对应的条形码信息,包括:
针对相邻的所述第二峰点和所述第二谷点分别对应的灰度值,确定所述灰度值曲线中对应的曲线段的局部灰度阈值;
利用所述曲线段的局部灰度阈值,对形成所述曲线段的像素点的灰度值进行二值化处理,得到所述条形码对应的条形码信息。
7.根据权利要求1所述的方法,其特征在于,所述确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点,包括:
确定条形码图像中的条形码任意一行像素点中的各像素点对应的灰度值梯度;
针对所述各像素点中的当前像素点,从所述当前像素点的各前向像素点中确定满足预设条件的前向像素点;所述预设条件包括所述前向像素点的灰度值梯度与所述当前像素点的灰度值梯度的乘积为正数;
对所述当前像素点的灰度值梯度和所述满足预设条件的前向像素点的灰度值梯度进行统计,得到所述当前像素点的累计灰度值梯度;
确定所述当前像素点的灰度值梯度与所述当前像素点的后向相邻像素点的灰度值梯度的乘积,得到所述当前像素点对应的梯度乘积;
在所述当前像素点的梯度乘积为负数、所述当前像素点的累计灰度值梯度大于累计阈值、且所述当前像素点的灰度值梯度为负数的情况下,确定所述当前像素点为所述条形码对应的灰度值曲线中的第一谷点;
在所述当前像素点的梯度乘积为负数、所述当前像素点的累计灰度值梯度大于累计阈值、且所述当前像素点的灰度值梯度为正数的情况下,确定所述当前像素点为所述条形码对应的灰度值曲线中的第一峰点。
8.一种图像处理装置,其特征在于,包括:
第一确定模块,用于确定条形码图像中的条形码对应的灰度值曲线中的各第一峰点和各第一谷点;所述灰度值曲线,为所述条形码的像素点的灰度值形成的曲线;
第二确定模块,用于确定相邻的所述第一峰点和所述第一谷点之间的灰度差值,得到灰度差值集合;
统计模块,用于基于所述灰度差值集合中的灰度差值进行统计分析,得到灰度差阈值;
过滤模块,用于从各所述第一峰点和各所述第一谷点中,过滤掉灰度差值小于所述灰度差阈值的所述第一峰点和所述第一谷点,得到多个第二峰点和多个第二谷点;
处理模块,用于基于各所述第二峰点和各所述第二谷点,对形成所述灰度值曲线的像素点的灰度值进行二值化处理,得到所述条形码对应的条形码信息。
9.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310030357.3A CN115759148B (zh) | 2023-01-10 | 2023-01-10 | 图像处理方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310030357.3A CN115759148B (zh) | 2023-01-10 | 2023-01-10 | 图像处理方法、装置、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115759148A true CN115759148A (zh) | 2023-03-07 |
CN115759148B CN115759148B (zh) | 2023-04-28 |
Family
ID=85348793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310030357.3A Active CN115759148B (zh) | 2023-01-10 | 2023-01-10 | 图像处理方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115759148B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629291A (zh) * | 2023-07-24 | 2023-08-22 | 深圳市驿格科技有限公司 | 基于计算机视觉的快递条码图像智能增强方法及系统 |
CN117574931A (zh) * | 2024-01-15 | 2024-02-20 | 北京航空航天大学杭州创新研究院 | 基于3d结构的一维条形码信息生成方法和激光解码设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410617A (en) * | 1991-04-25 | 1995-04-25 | Unisys Corporation | Method for adaptively thresholding grayscale image data |
US5969325A (en) * | 1996-06-03 | 1999-10-19 | Accu-Sort Systems, Inc. | High speed image acquisition system and method of processing and decoding barcode symbol |
US20040074967A1 (en) * | 2002-10-10 | 2004-04-22 | Fujitsu Limited | Bar code recognizing method and decoding apparatus for bar code recognition |
CN104732183A (zh) * | 2015-03-20 | 2015-06-24 | 杭州晟元芯片技术有限公司 | 一种基于图像采样线灰度信息分析的一维条码识别方法 |
CN106446750A (zh) * | 2016-07-07 | 2017-02-22 | 深圳市华汉伟业科技有限公司 | 一种条形码读取方法及装置 |
CN112215856A (zh) * | 2020-10-20 | 2021-01-12 | 歌尔光学科技有限公司 | 图像分割的阈值确定方法、装置、终端及存储介质 |
CN112990192A (zh) * | 2021-02-04 | 2021-06-18 | 西安理工大学 | 一种数字水准仪的条码标尺图像定位和识别检测方法 |
CN114596212A (zh) * | 2020-12-07 | 2022-06-07 | 上海奕瑞光电子科技股份有限公司 | 图像处理方法、装置和设备 |
-
2023
- 2023-01-10 CN CN202310030357.3A patent/CN115759148B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410617A (en) * | 1991-04-25 | 1995-04-25 | Unisys Corporation | Method for adaptively thresholding grayscale image data |
US5969325A (en) * | 1996-06-03 | 1999-10-19 | Accu-Sort Systems, Inc. | High speed image acquisition system and method of processing and decoding barcode symbol |
US20040074967A1 (en) * | 2002-10-10 | 2004-04-22 | Fujitsu Limited | Bar code recognizing method and decoding apparatus for bar code recognition |
CN104732183A (zh) * | 2015-03-20 | 2015-06-24 | 杭州晟元芯片技术有限公司 | 一种基于图像采样线灰度信息分析的一维条码识别方法 |
CN106446750A (zh) * | 2016-07-07 | 2017-02-22 | 深圳市华汉伟业科技有限公司 | 一种条形码读取方法及装置 |
CN112215856A (zh) * | 2020-10-20 | 2021-01-12 | 歌尔光学科技有限公司 | 图像分割的阈值确定方法、装置、终端及存储介质 |
CN114596212A (zh) * | 2020-12-07 | 2022-06-07 | 上海奕瑞光电子科技股份有限公司 | 图像处理方法、装置和设备 |
CN112990192A (zh) * | 2021-02-04 | 2021-06-18 | 西安理工大学 | 一种数字水准仪的条码标尺图像定位和识别检测方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629291A (zh) * | 2023-07-24 | 2023-08-22 | 深圳市驿格科技有限公司 | 基于计算机视觉的快递条码图像智能增强方法及系统 |
CN116629291B (zh) * | 2023-07-24 | 2024-02-06 | 深圳市驿格科技有限公司 | 基于计算机视觉的快递条码图像智能增强方法及系统 |
CN117574931A (zh) * | 2024-01-15 | 2024-02-20 | 北京航空航天大学杭州创新研究院 | 基于3d结构的一维条形码信息生成方法和激光解码设备 |
CN117574931B (zh) * | 2024-01-15 | 2024-04-30 | 北京航空航天大学杭州创新研究院 | 基于3d结构的一维条形码信息生成方法和激光解码设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115759148B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115759148B (zh) | 图像处理方法、装置、计算机设备及计算机可读存储介质 | |
Kaneko et al. | Using selective correlation coefficient for robust image registration | |
CN113837151B (zh) | 表格图像处理方法、装置、计算机设备及可读存储介质 | |
CN106295710B (zh) | 基于非几何约束的图像局部特征匹配方法、装置及终端 | |
CN109784379B (zh) | 纺织品图片特征库的更新方法和装置 | |
CN113313217B (zh) | 一种基于鲁棒性模板的倾角文字精准识别方法及系统 | |
CN114049568A (zh) | 基于图像比对的标的物形变检测方法、装置、设备及介质 | |
CN111340139B (zh) | 一种图像内容复杂度的判别方法及装置 | |
CN110807342B (zh) | 条形码定位方法、装置、计算机设备和存储介质 | |
CN115630660B (zh) | 基于卷积神经网络的条码定位方法和装置 | |
CN115690431A (zh) | 条码图像二值化方法、装置、存储介质及计算机设备 | |
CN116168377A (zh) | 车牌识别方法、装置、计算机设备以及存储介质 | |
RU2557755C1 (ru) | Способ сжатия изображения при фрактальном кодировании | |
CN113706422B (zh) | 一种基于获取关键点的图像校正方法、装置、设备及介质 | |
CN115908363A (zh) | 肿瘤细胞统计方法、装置、设备和存储介质 | |
CN114463764A (zh) | 表格线检测方法、装置、计算机设备和存储介质 | |
CN111784724B (zh) | 改进型马尔科夫链蒙特卡洛二维岩石切片重构方法及系统 | |
CN111753723B (zh) | 一种基于密度校准的指纹识别方法及装置 | |
CN113610934A (zh) | 图像亮度调整方法、装置、设备及存储介质 | |
CN113792671A (zh) | 人脸合成图像的检测方法、装置、电子设备及介质 | |
CN112561893A (zh) | 图片匹配方法、装置、电子设备及存储介质 | |
CN117115275B (zh) | 畸变参数的确定方法、装置和计算机设备 | |
CN115600620B (zh) | 扫码方法、装置、电子设备和存储介质 | |
CN115759145B (zh) | 条码识别方法、装置、存储介质及计算机设备 | |
CN117710235B (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 |