CN117993406A - 一种二维条码自动识别读取方法及系统 - Google Patents
一种二维条码自动识别读取方法及系统 Download PDFInfo
- Publication number
- CN117993406A CN117993406A CN202410113195.4A CN202410113195A CN117993406A CN 117993406 A CN117993406 A CN 117993406A CN 202410113195 A CN202410113195 A CN 202410113195A CN 117993406 A CN117993406 A CN 117993406A
- Authority
- CN
- China
- Prior art keywords
- dimensional bar
- bar code
- reading
- image
- identification
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000005192 partition Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 15
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000003708 edge detection Methods 0.000 claims description 8
- 239000003086 colorant Substances 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 4
- 238000005452 bending Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000010354 integration Effects 0.000 claims description 3
- 230000001788 irregular Effects 0.000 abstract description 2
- 239000000463 material Substances 0.000 abstract description 2
- 230000008901 benefit Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003707 image sharpening Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- 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
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 Analysis (AREA)
Abstract
本发明公开了一种二维条码自动识别读取方法及系统,涉及二维条码自动识别技术领域,包括:采集二维条码信息;对采集到的二维条码进行清晰化处理;将清晰化处理后的二维条码进行识别位置的调整;利用调整后的二维条码与储存的二维条码进行对比,从而读取二维条码信息。在条码模糊、损坏或部分遮挡的情况下,能准确识别二维条码。针对大量或复杂的二维条码,能够快速准确地完成识别任务。能够有效识别和处理弯曲或扭曲的二维条码,这一点对于处理不规则表面或柔性材料上的条码尤为重要。
Description
技术领域
本发明涉及二维条码自动识别技术领域,具体为一种二维条码自动识别读取方法及系统。
背景技术
二维条码作为一种高效的信息存储和传输手段,在各个领域得到了广泛应用,如零售、物流、制造业和医疗行业。它们能够存储大量信息于小空间内,并且可以通过各种设备,如智能手机和专业扫描器快速读取。随着技术的发展,二维条码的应用变得越来越普遍,对其自动识别和读取的需求也随之增长。
传统的二维条码识别技术对环境条件有较高要求。例如,在光线不足或反射强烈的环境中,条码可能难以被准确识别。现有技术对条码的质量非常敏感。如果条码模糊、损坏或部分遮挡,识别准确率会大大降低。在处理大量或复杂的二维条码时,现有技术可能无法快速准确地完成识别任务,特别是在需要实时处理的场景中。对于弯曲或扭曲的二维条码,现有技术往往难以准确识别,因为这些情况会改变条码的几何形状和结构。在一个场景中同时存在多个条码时,现有技术可能无法有效区分和同时处理这些条码,尤其是在条码彼此靠得很近或部分重叠时。为了克服这些劣势,新的二维条码自动识别读取方法需要采用更先进的图像处理技术,提高对不同环境和条码质量的适应性,同时优化处理速度和用户交互体验。
发明内容
鉴于上述存在的问题,提出了本发明。
因此,本发明解决的技术问题是:现有的二维条码识别方法存在识别条件苛刻,以及如何提高识别速度的优化问题。
为解决上述技术问题,本发明提供如下技术方案:一种二维条码自动识别读取方法,包括:
采集二维条码信息;
对采集到的二维条码进行清晰化处理;
将清晰化处理后的二维条码进行识别位置的调整;
利用调整后的二维条码与储存的二维条码进行对比,从而读取二维条码信息。
作为本发明所述的二维条码自动识别读取方法的一种优选方案,其中:所述采集二维条码信息包括,利用图像采集装置实时获取到的图像信息;
若所述图像信息中未监测到二维条码的图像特征,则不保存此时的图像信息;若所述图像信息中监测到二维条码的图像特征,则进入维条码自动识别读取流程;
配置n个识别单元,以识别单元的平均识别时间t作为量度;在所述图像信息中监测到二维条码的图像特征时,获取连续的图像画面,将每间隔t/n时间的二维条码传输到闲置的识别单元,进行识别;若任一识别单元识读取到二维条码的信息,则其他识别单元清除数据;若获取的图像画面中断且未监测到新的二维条码,则继续执行原识别任务;若获取的图像画面中断且检测到新的二维条码,则所有识别单元清除数据,执行新的识别任务。
作为本发明所述的二维条码自动识别读取方法的一种优选方案,其中:所述清晰化包括,清晰图像中画面的轮廓,表示为:
其中,E(I)表示增强后的图像轮廓;Ω表示图像域;表示梯度算子;/>表示一个非线性函数,用于根据图像梯度的大小调整滤波强度;I表示原始图像;积分表示在整个图像域上应用这个操作;
清晰画面中每个轮廓线两侧对应的颜色,表示为:
其中,C(I,x,y)表示在坐标(x,y)处轮廓两侧的颜色信息;N(x,y)表示以(x,y)为中心的邻域;|N(x,y)|表示邻域中的像素数量;α表示调节参数,用于控制边缘强度对颜色分析的影响;表示一个指数衰减函数,用于减少边缘附近颜色的权重;∑表示对邻域内的所有像素进行求和;I(u,v)表示在坐标点(u,v)上的像素值。
作为本发明所述的二维条码自动识别读取方法的一种优选方案,其中:所述识别位置的调整包括,使用边缘检测算法来识别二维条码的边缘,计算边缘的斜率:
K(I)={k(p)∣p∈Edges(I)}
其中,K(I)表示图像I中边缘点的弯曲程度集合;Edges(I)是边缘检测函数,用于检测二维条码的边缘;k(p)表示在边缘点p处的斜率;
其中,s表示沿着边缘曲线的弧长参数,用于表示边缘曲线上的位置;
根据边缘的斜率,得到图像分区的节点:
{I1,I2,…,In}=Partition(I,K(I))
其中,{I1,I2,…,In}表示节点集合;Partition表示图像分区函数,定义为:随机取二维条码边缘四角顶点中的一点作为起点,按固定方向进行斜率K(I)的对比,计算起点的斜率K0(I)在所述固定方向上的斜率变化θ;当θ大于或等于分区的弯曲程度阈值θcurvature时,则作为分区的节点,同时,更新当前的边缘点作为新的起点,直到循环一周后结束;
若图像中每对对边上的节点数量都相同,则判断二维条码完整,将完整的二维条码作为识别位置;
若图像中对边上的节点数量不相同,则判断二维条码存在遮挡,将所述节点和二维条码边缘的四角顶点作为分区节点,随机选取2个分区节点进行连接,对连接线的两侧分别进行识别,当a侧被识别为图像未发现异常,则判定a侧不存在遮挡;不断重复分区节点的连接和对两侧的识别过程,使每两个点之间仅连接一次;通过对正常区域的排除,得到异常区域,将异常区域作为遮挡区域,在读取二维条码信息时,不对所述遮挡区域进行读取,仅获取遮挡区域的位置大小;若在图像中的二维条码上方直接识别出其他遮挡物遮挡,则识别遮挡物的轮廓并根据轮廓确定遮挡区域;将所有的遮挡区域在二维条码中剔除,得到二维条码的识别位置。
作为本发明所述的二维条码自动识别读取方法的一种优选方案,其中:所述利用调整后的二维条码与储存的二维条码进行对比包括,两次读取;
第一次读取时,获取识别位置中每个像素x的信息,将白色部分定义为0,其余部分定义为1,对空白的二维条码模板进行重构,使遮挡区域的像素x全部定义为0,形成标准的二维条码,计算整个二维条码的识别位置中的x:
X=∑x∈XSx
其中,X表示对像素x定义为1的累计,XS表示所有像素集合;
在与数据库中的二维条码进行比对时,将与所述遮挡区域相同位置的像素x全部定义为0,计算数据库中每个二维条码的X值;若数据库中二维条码的X值与需要识别的二维条码的X相同,则调取与需要识别的二维条码进行比对;当比对结果吻合时,输出读取结果。
作为本发明所述的二维条码自动识别读取方法的一种优选方案,其中:所述两次读取还包括,第二次读取时,识别采集到二维条码的几何形态特征,将数据库中的二维条码进行临时的变形,使数据库中的二维条码具有采集到二维条码的几何形态特征;
若采集到二维条码存在遮挡物的遮挡,则对比剔除遮挡物后的图像,并复制遮挡物的部分对数据库中变形后的二维条码在相同位置进行遮挡;
将数据库中变形后的二维条码与采集到二维条码进行比对;当比对结果吻合时,输出读取结果。
作为本发明所述的二维条码自动识别读取方法的一种优选方案,其中:所述利用调整后的二维条码与储存的二维条码进行对比还包括,在进行第一次读取时,识别数据库中所有筛选出的二维条码,若读取结果为1个,则确认输出;若读取结果多于1个,则判定第一次读取失败;
当第一次读取不到二维条码信息时,则进行第二次的读取;在第二次读取中,对比结果吻合时,直接输出读取结果;
当两次读取都无法输出读取结果,则清除当前识别单元的图像信息,重新采样识别。
另一方面,一种采用如本发明所述方法的二维条码自动识别读取系统,其特征在于:
采集单元,采集二维条码信息;
识别单元,包括清晰化模块、调整模块、识别模块;
清晰化模块,对采集到的二维条码进行清晰化处理;
调整模块,将清晰化处理后的二维条码进行识别位置的调整;
识别模块,利用调整后的二维条码与储存的二维条码进行对比,从而读取二维条码信息。
一种计算机设备,包括:存储器和处理器;所述存储器存储有计算机程序,其特征在于:所述处理器执行所述计算机程序时实现本发明中任一项所述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现本发明中任一项所述的方法的步骤。
本发明的有益效果:本发明提供的二维条码自动识别读取方法,在条码模糊、损坏或部分遮挡的情况下,能准确识别二维条码,这得益于其先进的清晰化处理和错误容错机制。针对大量或复杂的二维条码,本发明能够快速准确地完成识别任务,特别适用于需要实时处理的场景,如快速结账和物流跟踪。能够有效识别和处理弯曲或扭曲的二维条码,这一点对于处理不规则表面或柔性材料上的条码尤为重要。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明第一个实施例提供的一种二维条码自动识别读取方法的整体流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
实施例1
参照图1,为本发明的一个实施例,提供了一种二维条码自动识别读取方法,包括:
S1:采集二维条码信息。
进一步的,所述采集二维条码信息包括,利用图像采集装置实时获取到的图像信息;若所述图像信息中未监测到二维条码的图像特征,则不保存此时的图像信息;若所述图像信息中监测到二维条码的图像特征,则进入维条码自动识别读取流程。
要知道的是,配置n个识别单元,以识别单元的平均识别时间t作为量度;在所述图像信息中监测到二维条码的图像特征时,获取连续的图像画面,将每间隔t/n时间的二维条码传输到闲置的识别单元,进行识别;若任一识别单元识读取到二维条码的信息,则其他识别单元清除数据;若获取的图像画面中断且未监测到新的二维条码,则继续执行原识别任务;若获取的图像画面中断且检测到新的二维条码,则所有识别单元清除数据,执行新的识别任务。当清晰化后的二维条码能够被有效读取时,保存清晰化后和原始的二维条码信息。其中,n是根据识别的频率需要进行配置的,n越大,识别二维条码时的识别频率越快;还要说的是,若没有闲置的识别单元,则进行等待,因为采用的是平均时间,所以每个识别单元的识别过程有长有短,通过等待,能够保证识别单元几乎不存在闲置。
系统根据实时需求动态分配识别任务给闲置的识别单元,这样可以最大化资源的利用效率。当新的二维条码图像被检测到时,系统能够迅速响应并分配任务给可用的识别单元。在图像采集中断或发现新的二维条码时,系统能够灵活地调整识别任务。这种设计使得系统在处理实时数据流时更加鲁棒,能够适应不断变化的输入。
S2:对采集到的二维条码进行清晰化处理。
所述清晰化包括,清晰图像中画面的轮廓,表示为:
其中,E(I)表示增强后的图像轮廓;Ω表示图像域;表示梯度算子;/>表示一个非线性函数,用于根据图像梯度的大小调整滤波强度;I表示原始图像;积分表示在整个图像域上应用这个操作。
清晰画面中每个轮廓线两侧对应的颜色,表示为:
其中,C(I,x,y)表示在坐标(x,y)处轮廓两侧的颜色信息;N(x,y)表示以(x,y)为中心的邻域;|N(x,y)|表示邻域中的像素数量;α表示调节参数,用于控制边缘强度对颜色分析的影响;表示一个指数衰减函数,用于减少边缘附近颜色的权重;∑表示对邻域内的所有像素进行求和;I(u,v)表示在坐标点(u,v)上的像素值,在彩色图像中,这个值可能是一个包含红、绿、蓝三个颜色分量的向量;在灰度图像中,它可能是一个单一的亮度或灰度值。这两个公式分别针对图像轮廓的增强和轮廓两侧颜色的分析。第一个公式通过高阶偏微分方程和非线性滤波技术来突出轮廓。第二个公式利用局部自适应颜色分析和边缘检测技术来分析轮廓两侧的颜色分布。这些方法在图像清晰化处理中是互补的,共同作用于提高图像的整体清晰度。
清晰图像中画面的轮廓的公式目的是增强图像中的轮廓,使二维条码的边缘更加清晰和明显。通过使用高阶偏微分方程和非线性滤波技术,可以有效地突出图像中的边缘和轮廓,这对于后续的条码识别至关重要。边缘的清晰度直接影响到识别算法能否准确地分辨和解析二维条码。清晰画面中每个轮廓线两侧对应的颜色公式旨在分析和增强图像中轮廓线两侧的颜色信息。通过局部自适应颜色分析和边缘检测技术,可以提高图像中颜色对比度,特别是在轮廓附近。这对于改善图像的整体视觉质量和确保条码区域与背景的有效分离非常重要,从而有助于提高条码的识别率。
S3:将清晰化处理后的二维条码进行识别位置的调整。
所述识别位置的调整包括,使用边缘检测算法来识别二维条码的边缘,计算边缘的斜率:
K(I)={k(p)∣p∈Edges(I)}
其中,K(I)表示图像I中边缘点的弯曲程度集合;Edges(I)是边缘检测函数,用于检测二维条码的边缘;k(p)表示在边缘点p处的斜率;
其中,s表示沿着边缘曲线的弧长参数,用于表示边缘曲线上的位置;
根据边缘的斜率,得到图像分区的节点:
{I1,I2,…,In}=Partition(I,K(I))
其中,{I1,I2,…,In}表示节点集合;Partition表示图像分区函数,定义为:随机取二维条码边缘四角顶点中的一点作为起点,按固定方向进行斜率K(I)的对比,计算起点的斜率K0(I)在所述固定方向上的斜率变化θ;当θ大于或等于分区的弯曲程度阈值θcurvature时,则作为分区的节点,同时,更新当前的边缘点作为新的起点,直到循环一周后结束。
要知道的是,这里说的对斜率K(I)的对比是指,评估边缘弯曲程度变化的累计;即,当K(I)的导数从初始值到当前值的变化到某一阈值时,说明二维条码边缘可能存在折叠,而折叠的二维码会影响识别,通过对影响识别的位置进行剔除,能够保证对其他部分正常的读取。
若图像中每对对边上的节点数量都相同,则判断二维条码完整,将完整的二维条码作为识别位置。
若图像中对边上的节点数量不相同,则判断二维条码存在遮挡,将所述节点和二维条码边缘的四角顶点作为分区节点,随机选取2个分区节点进行连接,对连接线的两侧分别进行识别,当a侧被识别为图像未发现异常,则判定a侧不存在遮挡;不断重复分区节点的连接和对两侧的识别过程,使每两个点之间仅连接一次;通过对正常区域的排除,得到异常区域,将异常区域作为遮挡区域,在读取二维条码信息时,不对所述遮挡区域进行读取,仅获取遮挡区域的位置大小;若在图像中的二维条码上方直接识别出其他遮挡物遮挡,则识别遮挡物的轮廓并根据轮廓确定遮挡区域;将所有的遮挡区域在二维条码中剔除,得到二维条码的识别位置。要知道的是,两次的排除并不相同,第一次的排除是以二维条码的图像为基础,因为折叠的部分都是二维条码的一部分,所以识别位置时容易造成误判,所以直接使用区域进行判断;而第二次排除的是其他遮挡物(不存在二维码特征)在识别轮廓时,能够有效识别,所以可以通过识别其轮廓将其剔除。
通过比较图像中每对对边上的节点数量,系统能够判断二维条码是否完整。如果节点数量相同,表明条码边缘未受到遮挡或损坏,因此可以认为条码是完整的。若对边上的节点数量不同,表明条码可能存在遮挡或部分损坏。在这种情况下,系统通过将节点和二维条码边缘的四角顶点作为分区节点,来识别和处理遮挡区域。系统通过连接不同的分区节点,并对连接线两侧进行识别,来确定哪些区域是正常的,哪些区域可能存在问题。这种方法允许系统局部处理图像,提高处理效率和准确性。通过识别并排除异常区域,系统可以专注于正常区域的读取,从而提高识别的准确率。对于被判定为异常的遮挡区域,系统不进行读取,这减少了错误解码的可能性。这种设计使得识别系统能够适应各种复杂环境,包括条码部分被遮挡、损坏或扭曲的情况。这对于实际应用中常见的不理想条件非常重要。
S4:利用调整后的二维条码与储存的二维条码进行对比,从而读取二维条码信息。
第一次读取时,获取识别位置中每个像素x的信息,将白色部分定义为0,其余部分定义为1,对空白的二维条码模板进行重构,使遮挡区域的像素x全部定义为0,形成标准的二维条码,计算整个二维条码的识别位置中的x:
X=∑x∈XSx
其中,X表示对像素x定义为1的累计,XS表示所有像素集合。这里说的“对空白的二维条码模板进行重构”包括:首先,创建一个与实际二维条码相同尺寸的空白模板。在这个模板中,所有像素的初始值都设置为0,代表白色区域。从实际采集到的二维条码图像中提取每个像素的信息。在二维条码中,通常黑色区域代表信息,而白色区域则不携带信息。根据提取的像素信息,将模板中对应的像素点更新为1(对应黑色区域)或保持为0(对应白色区域)。这一步骤中,如果某个像素在实际图像中是黑色,则在模板中该像素点被定义为1;如果是白色或因遮挡无法确定颜色,则保持为0。对于被识别为遮挡区域的像素,在模板中这些像素点保持为0。这意味着在重构的二维条码模板中,遮挡区域不会被错误地填充为携带信息的黑色区域。通过上述步骤,可以得到一个重构后的二维条码,其中包含了从实际图像中提取的有效信息,同时排除了遮挡或不确定的区域。通过重构二维码能够做到有效利用获取到的信息,从而提高对比的精确和快捷。
在与数据库中的二维条码进行比对时,将与所述遮挡区域相同位置的像素x全部定义为0,计算数据库中每个二维条码的X值;若数据库中二维条码的X值与需要识别的二维条码的X相同,则调取与需要识别的二维条码进行比对;当比对结果吻合时,输出读取结果。通过计算每个二维条码的X值(即定义为1的像素点的总数),系统可以快速筛选出可能的匹配项。只有当数据库中的条码与被识别条码的X值相同时,才进行进一步的详细比对。可以快速缩小潜在匹配的范围,提高识别过程的效率。它避免了对数据库中每个条码进行详细比对的需要,从而节省了时间和计算资源。确保了识别结果的准确性和可靠性。
第二次读取时,识别采集到二维条码的几何形态特征,将数据库中的二维条码进行临时的变形,使数据库中的二维条码具有采集到二维条码的几何形态特征;若采集到二维条码存在遮挡物的遮挡,则对比剔除遮挡物后的图像,并复制遮挡物的部分对数据库中变形后的二维条码在相同位置进行遮挡;将数据库中变形后的二维条码与采集到二维条码进行比对;当比对结果吻合时,输出读取结果。
要说的是,将数据库中的二维条码进行临时的变形包括:首先,从采集到的二维条码图像中提取几何形态特征,如条码的弯曲程度、角度、扭曲情况等。根据提取的几何形态特征,计算所需的变形参数。这可能包括旋转角度、缩放因子、扭曲程度等。将计算出的变形参数应用于数据库中的二维条码图像。这可能涉及仿射变换(用于处理旋转和缩放)和更复杂的几何变换(用于处理扭曲)。通过应用上述变形参数,生成一个与采集到的二维条码具有相同几何形态的变形后图像。而这个变化过程仅服务于当前的识别过程,在识别结束后,恢复原状态。
通过使数据库中的二维条码图像与采集到的图像在几何形态上对齐,可以更准确地进行比对,尤其是在处理弯曲或扭曲的条码时。这种方法使得识别系统能够适应各种扫描条件下的二维条码,包括那些因为放置角度、表面不平等原因而发生形变的条码。
要知道的是,第一次读取时,针对的是两种遮挡。而第二次读取时,则只针对于遮挡物的遮挡,因为在第二次读取时,通过对数据库中二维条码图像的几何形态转换,使数据库中的二维条码图像已经按照采集到的图像的形式完成了折叠遮挡。
还要说的是,在进行第一次读取时,识别数据库中所有筛选出的二维条码,若读取结果为1个,则确认输出;若读取结果多于1个,则判定第一次读取失败;当第一次读取不到二维条码信息时,则进行第二次的读取;在第二次读取中,对比结果吻合时,直接输出读取结果。因为,第一次读取时,已经通过像素的筛选,筛选出了一部分二维条码,此时用于对比的二维条码,本来数量就少,所以能够在短时间内完成全部的比对,这样也能够保证对比结果的准确性。而第二次读取时,则是针对于数据库中全部的图像。此时计算量大,所以不会浪费时间用于全部的核对。
当两次读取都无法输出读取结果,则清除当前识别单元的图像信息,重新采样识别。
另一方面,本实施例还提供了二维条码自动识别读取系统,其包括:
采集单元,采集二维条码信息;
识别单元,包括清晰化模块、调整模块、识别模块;
清晰化模块,对采集到的二维条码进行清晰化处理;
调整模块,将清晰化处理后的二维条码进行识别位置的调整;
识别模块,利用调整后的二维条码与储存的二维条码进行对比,从而读取二维条码信息。
以上功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编辑只读存储器(EPROM或闪速存储器)、光纤装置以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
实施例2
以下,为本发明的一个实施例,提供了一种二维条码自动识别读取方法,为了验证本发明的有益效果,通过经济效益计算和仿真实验进行科学论证。
通过在模拟实验中,以相同的变量对比现有技术和本发明得到表1。
表1数据对比表
性能指标 | 现有技术 | 本发明 |
识别速度(秒/条码) | 2.5 | 1.8 |
准确率(%) | 88 | 95 |
遮挡二维条码识别比例(%) | 60 | 85 |
弯曲二维条码识别比例(%) | 65 | 90 |
多条码场景处理能力 | 低 | 高 |
从上表可以看出,本发明在多个关键性能指标上均优于现有技术:
本发明的平均识别速度为1.8秒/条码,相比现有技术的2.5秒/条码更快,这意味着在高流量的应用场景中,本发明能够更高效地处理大量的二维条码。本发明的准确率达到了95%,高于现有技术的88%,这表明本发明在识别二维条码时更加准确,减少了错误识别的可能性。本发明在处理遮挡或弯曲的二维条码方面表现出色,识别比例分别达到了85%和90%,而现有技术分别为60%和65%。这显示了本发明在处理物理损坏或不规则放置的条码方面的优势。资源消耗和用户交互:本发明在资源消耗方面相对较低,且用户交互友好度高,这使得本发明更适合于广泛应用。
综上所述,本发明在二维条码的自动识别读取方面展现了显著的创新性和优势,特别是在处理速度、准确性,以及对特殊情况的条码的适应性方面。
通过设置不同程度的遮挡,每个程度的遮挡都可能包含折叠或外部遮挡物的遮挡,得到表2。
表2二维条码识别准确率对比表
遮挡程度 | 现有技术识别准确率(%) | 本发明识别准确率(%) |
无遮挡 | 95 | 98 |
轻度遮挡(10%) | 85 | 95 |
中度遮挡(25%) | 70 | 90 |
重度遮挡(50%) | 50 | 80 |
极度遮挡(75%) | 30 | 65 |
表2展示了在不同遮挡程度下,本发明与现有技术的识别准确率对比。可以看出,本发明在所有遮挡条件下的识别准确率均高于现有技术,特别是在中度到极度遮挡的情况下,本发明展现出显著的优势。这表明本发明在处理遮挡问题上具有更高的鲁棒性和适应性。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种二维条码自动识别读取方法,其特征在于,包括:
采集二维条码信息;
对采集到的二维条码进行清晰化处理;
将清晰化处理后的二维条码进行识别位置的调整;
利用调整后的二维条码与储存的二维条码进行对比,从而读取二维条码信息。
2.如权利要求1所述的二维条码自动识别读取方法,其特征在于:所述采集二维条码信息包括,利用图像采集装置实时获取到的图像信息;
若所述图像信息中未监测到二维条码的图像特征,则不保存此时的图像信息;若所述图像信息中监测到二维条码的图像特征,则进入维条码自动识别读取流程;
配置n个识别单元,以识别单元的平均识别时间t作为量度;在所述图像信息中监测到二维条码的图像特征时,获取连续的图像画面,将每间隔t/n时间的二维条码传输到闲置的识别单元,进行识别;若任一识别单元识读取到二维条码的信息,则其他识别单元清除数据;若获取的图像画面中断且未监测到新的二维条码,则继续执行原识别任务;若获取的图像画面中断且检测到新的二维条码,则所有识别单元清除数据,执行新的识别任务。
3.如权利要求2所述的二维条码自动识别读取方法,其特征在于:所述清晰化包括,清晰图像中画面的轮廓,表示为:
其中,E(I)表示增强后的图像轮廓;Ω表示图像域;表示梯度算子;/>表示一个非线性函数,用于根据图像梯度的大小调整滤波强度;I表示原始图像;积分表示在整个图像域上应用这个操作;
清晰画面中每个轮廓线两侧对应的颜色,表示为:
其中,C(I,x,y)表示在坐标(x,y)处轮廓两侧的颜色信息;N(x,y)表示以(x,y)为中心的邻域;|N(x,y)|表示邻域中的像素数量;α表示调节参数,用于控制边缘强度对颜色分析的影响;表示一个指数衰减函数,用于减少边缘附近颜色的权重;∑表示对邻域内的所有像素进行求和;I(u,v)表示在坐标点(u,v)上的像素值。
4.如权利要求3所述的二维条码自动识别读取方法,其特征在于:所述识别位置的调整包括,使用边缘检测算法来识别二维条码的边缘,计算边缘的斜率:
K(I)={k(p)∣p∈Edges(I)}
其中,K(I)表示图像I中边缘点的弯曲程度集合;Edges(I)是边缘检测函数,用于检测二维条码的边缘;k(p)表示在边缘点p处的斜率;
其中,s表示沿着边缘曲线的弧长参数,用于表示边缘曲线上的位置;
根据边缘的斜率,得到图像分区的节点:
{I1,I2,…,In}=Partition(I,K(I))
其中,{I1,I2,…,In}表示节点集合;Partition表示图像分区函数,定义为:随机取二维条码边缘四角顶点中的一点作为起点,按固定方向进行斜率K(I)的对比,计算起点的斜率K0(I)在所述固定方向上的斜率变化θ;当θ大于或等于分区的弯曲程度阈值θcurvature时,则作为分区的节点,同时,更新当前的边缘点作为新的起点,直到循环一周后结束;
若图像中每对对边上的节点数量都相同,则判断二维条码完整,将完整的二维条码作为识别位置;
若图像中对边上的节点数量不相同,则判断二维条码存在遮挡,将所述节点和二维条码边缘的四角顶点作为分区节点,随机选取2个分区节点进行连接,对连接线的两侧分别进行识别,当a侧被识别为图像未发现异常,则判定a侧不存在遮挡;不断重复分区节点的连接和对两侧的识别过程,使每两个点之间仅连接一次;通过对正常区域的排除,得到异常区域,将异常区域作为遮挡区域,在读取二维条码信息时,不对所述遮挡区域进行读取,仅获取遮挡区域的位置大小;若在图像中的二维条码上方直接识别出其他遮挡物遮挡,则识别遮挡物的轮廓并根据轮廓确定遮挡区域;将所有的遮挡区域在二维条码中剔除,得到二维条码的识别位置。
5.如权利要求4所述的二维条码自动识别读取方法,其特征在于:所述利用调整后的二维条码与储存的二维条码进行对比包括,两次读取;
第一次读取时,获取识别位置中每个像素x的信息,将白色部分定义为0,其余部分定义为1,对空白的二维条码模板进行重构,使遮挡区域的像素x全部定义为0,形成标准的二维条码,计算整个二维条码的识别位置中的x:
X=∑x∈XSx
其中,X表示对像素x定义为1的累计,XS表示所有像素集合;
在与数据库中的二维条码进行比对时,将与所述遮挡区域相同位置的像素x全部定义为0,计算数据库中每个二维条码的X值;若数据库中二维条码的X值与需要识别的二维条码的X相同,则调取与需要识别的二维条码进行比对;当比对结果吻合时,输出读取结果。
6.如权利要求5所述的二维条码自动识别读取方法,其特征在于:所述两次读取还包括,第二次读取时,识别采集到二维条码的几何形态特征,将数据库中的二维条码进行临时的变形,使数据库中的二维条码具有采集到二维条码的几何形态特征;
若采集到二维条码存在遮挡物的遮挡,则对比剔除遮挡物后的图像,并复制遮挡物的部分对数据库中变形后的二维条码在相同位置进行遮挡;
将数据库中变形后的二维条码与采集到二维条码进行比对;当比对结果吻合时,输出读取结果。
7.如权利要求6所述的二维条码自动识别读取方法,其特征在于:所述利用调整后的二维条码与储存的二维条码进行对比还包括,在进行第一次读取时,识别数据库中所有筛选出的二维条码,若读取结果为1个,则确认输出;若读取结果多于1个,则判定第一次读取失败;
当第一次读取不到二维条码信息时,则进行第二次的读取;在第二次读取中,对比结果吻合时,直接输出读取结果;
当两次读取都无法输出读取结果,则清除当前识别单元的图像信息,重新采样识别。
8.一种采用如权利要求1-7任一所述方法的二维条码自动识别读取系统,其特征在于:
采集单元,采集二维条码信息;
识别单元,包括清晰化模块、调整模块、识别模块;
清晰化模块,对采集到的二维条码进行清晰化处理;
调整模块,将清晰化处理后的二维条码进行识别位置的调整;
识别模块,利用调整后的二维条码与储存的二维条码进行对比,从而读取二维条码信息。
9.一种计算机设备,包括:存储器和处理器;所述存储器存储有计算机程序,其特征在于:所述处理器执行所述计算机程序时实现二维条码自动识别读取方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现二维条码自动识别读取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410113195.4A CN117993406A (zh) | 2024-01-26 | 2024-01-26 | 一种二维条码自动识别读取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410113195.4A CN117993406A (zh) | 2024-01-26 | 2024-01-26 | 一种二维条码自动识别读取方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117993406A true CN117993406A (zh) | 2024-05-07 |
Family
ID=90888672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410113195.4A Pending CN117993406A (zh) | 2024-01-26 | 2024-01-26 | 一种二维条码自动识别读取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117993406A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118551788A (zh) * | 2024-07-29 | 2024-08-27 | 深圳市中选科技有限公司 | 一种基于云计算的溯源二维码识别方法及系统 |
-
2024
- 2024-01-26 CN CN202410113195.4A patent/CN117993406A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118551788A (zh) * | 2024-07-29 | 2024-08-27 | 深圳市中选科技有限公司 | 一种基于云计算的溯源二维码识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309687B (zh) | 一种二维码图像的校正方法及校正装置 | |
KR102113911B1 (ko) | 생체 인식 인증을 위한 특징 추출 및 정합과 템플릿 갱신 | |
CN108369650B (zh) | 标识校准图案的可能特征点的方法 | |
Zamberletti et al. | Robust angle invariant 1d barcode detection | |
CN106981077B (zh) | 基于dce和lss的红外图像和可见光图像配准方法 | |
CN105740876B (zh) | 一种图像预处理方法及装置 | |
CN110348264A (zh) | 一种qr二维码图像校正方法及系统 | |
CN117993406A (zh) | 一种二维条码自动识别读取方法及系统 | |
CN111539238B (zh) | 二维码图像修复方法、装置、计算机设备和存储介质 | |
CN114049499A (zh) | 用于连续轮廓的目标对象检测方法、设备及存储介质 | |
CN113111674A (zh) | Aztec码定位与解码方法、系统、设备及存储介质 | |
CN113469921A (zh) | 图像缺陷修复方法、系统、计算机设备及存储介质 | |
Zamberletti et al. | Neural 1D barcode detection using the Hough transform | |
CN115587966A (zh) | 一种在光照不均匀条件下零件有无缺漏的检测方法及系统 | |
CN110502948B (zh) | 折叠二维码图像的还原方法、还原装置与扫码设备 | |
CN111767752A (zh) | 一种二维码识别方法及装置 | |
CN112465707A (zh) | 红外图像条纹噪声的处理方法、装置、介质及电子设备 | |
Fang et al. | 1-D barcode localization in complex background | |
CN111311610A (zh) | 图像分割的方法及终端设备 | |
CN116580410A (zh) | 票据号码识别方法、装置、电子设备及存储介质 | |
CN110969612A (zh) | 二维码印刷缺陷检测方法 | |
CN112329572B (zh) | 一种基于边框和闪光点的快速静态活体检测方法及装置 | |
CN111753722B (zh) | 一种基于特征点类型的指纹识别方法及装置 | |
CN112528741B (zh) | 一种变电站压板的状态识别方法及装置 | |
CN114611540A (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 |