CN114548136A - 一种反光二维码图片的解析方法、装置、设备和介质 - Google Patents
一种反光二维码图片的解析方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN114548136A CN114548136A CN202111368352.9A CN202111368352A CN114548136A CN 114548136 A CN114548136 A CN 114548136A CN 202111368352 A CN202111368352 A CN 202111368352A CN 114548136 A CN114548136 A CN 114548136A
- Authority
- CN
- China
- Prior art keywords
- straight line
- pattern
- point
- vertical
- dimensional code
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000009466 transformation Effects 0.000 claims abstract description 52
- 230000008859 change Effects 0.000 claims abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000003708 edge detection Methods 0.000 claims abstract description 10
- 230000000877 morphologic effect Effects 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 9
- 238000000513 principal component analysis Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 7
- 238000005286 illumination Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 23
- 230000001186 cumulative effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012216 screening Methods 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/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/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1452—Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
-
- 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)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明提供一种反光二维码图片的解析方法、装置、设备和介质,方法包括:S1、对二维码图片进行二值化处理得到二值图,并对所述二值图进行边缘检测得到边缘图;S2、对所述二值图进行二维码Pattern检测,得到可能为Pattern图案的Pattern备选点坐标,并根据该二值图的形态特征计算获得Pattern中心坐标;还对所述边缘图进行逆透视变换,并确定直线透视变化趋势;S3、根据所述Pattern备选点坐标和所述直线透视变换趋势在所述二值图中匹配得到三个Pattern点对的位置;S4、根据匹配所得的三个Pattern点对的位置和所述直线透视变换趋势,定位第四个点对位置。由于本发明是利用二维码边缘图的全局信息,在强光照环境的干扰下依然能保证对二维码的成功解析。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种反光二维码图片的解析方法、装置、设备和介质。
背景技术
当前二维码解析技术的一般流程是:首先对输入图片执行二维码目标检测,获得二维码ROI(Region of interest),再对ROI执行二值化算法,获得二值化图像。对二维码二值化图像执行Pattern检测算法,获得二维码 Pattern图案位置。根据二维码Pattern图案的大小和相对位置,估算二维码码原尺寸。再对二维码图像进行视角校正和矩阵转换,得到BitMatrix。
然而在室外强光照场景下,摄像头采集到二维码图像通常带有较强烈的反光。在二维码解析算法流程中,强烈的反光往往会对二维码视角校正算法产生严重的干扰,从而引起无法在室外强光照下解析二维码。
当前主流的二维码识别解析算法中,视角拉正通常基于对应点对求单应矩阵的方式。
主流方法1:通过Pattern检测算法获得求解单应矩阵所需的四个点对中的三个,再通过估计和多次尝试来获得计算单应矩阵所需的第四个点。在强反光和大透视角场景下使用效果较差,解析成功率在12%左右,性能很不理想。主流算法对于强反光二维码失效的一个重要原因在于,估计第四个对应点对时没有考虑图像全局信息和透视投影在二维图像上的变化。
主流方法2:通过二维码外轮廓四个角点作为对应点对求解单应矩阵。该方法没有考虑到图像中可能存在的环境干扰(如反光)和杂乱背景,鲁棒性较差。
因此,如果在解析中,在强光照环境的干扰下依然能保证对二维码的成功解析,则很有意义。
发明内容
本发明要解决的技术问题,在于提供一种反光二维码图片的解析方法、装置、设备和介质,在强光照环境的干扰下依然能保证对二维码的成功解析。
第一方面,本发明提供了一种反光二维码图片的解析方法,包括下述步骤:
S1、对二维码图片进行二值化处理得到二值图,并对所述二值图进行边缘检测得到边缘图;
S2、对所述二值图进行二维码Pattern检测,得到可能为Pattern图案的 Pattern备选点坐标,并根据该二值图的形态特征计算获得Pattern中心坐标;
还对所述边缘图进行逆透视变换,并确定直线透视变化趋势;
S3、根据所述Pattern备选点坐标和所述直线透视变换趋势在所述二值图中匹配得到三个Pattern点对的位置;
S4、根据匹配所得的三个Pattern点对的位置和所述直线透视变换趋势,定位第四个点对位置。
第二方面,本发明提供了一种反光二维码图片的解析装置,其特征在于:包括:
预处理模块,用于对二维码图片进行二值化处理得到二值图,并对所述二值图进行边缘检测得到边缘图;
形态特征处理模块,用于对所述二值图进行二维码Pattern检测,得到可能为Pattern图案的Pattern备选点坐标,并根据该二值图的形态特征计算获得Pattern中心坐标;
逆透视变换模块,用于对所述边缘图进行逆透视变换,并确定直线透视变化趋势;
Pattern点对匹配模块,用于根据所述Pattern备选点坐标和所述直线透视变换趋势在所述二值图中匹配得到三个Pattern点对的位置;
第四个点对定位模块,用于根据匹配所得的三个Pattern点对的位置和所述直线透视变换趋势,定位第四个点对位置。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本发明是先将二维码二值化得到二值图,根据消失点的先验知识,基于透视投影定理在二值图上匹配得到二维码Pattern点对,提高了Pattern定位准确率;然后将二值图进行边缘检测得到边缘图,即可利用边缘图的全局信息,根据匹配所得的三个Pattern点对的位置和直线透视变换趋势,定位出第四个点对位置,从而解析出整个二维码图像。这种基于图像全局信息估计透视直线角度变化趋势,只要局部反光不影响三个Pattern点对的匹配,即可解析出整个二维码图像,相比现有其他解析算法,大大提高了对二维码局部反光的抗干扰能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一中方法中的流程图;
图2为本发明实施例中应用霍夫直线变换算法检测边缘图中的直线状态示意图,其中,(a)为检测边缘图中的水平直线,(b)为检测边缘图中的垂直直线;
图3为极坐标累加平面的定义示意图,其中,(a)为图像的某点在直线坐标系上表示的状态示意图,(b)为直线坐标系上过点A(X0,Y0)作直线1、2、3、4的状态示意图,(c)为直线1、2、3、4在极点坐标系ρ-θ表示为1、2、3、4四个点时的状态示意图;
图4为直线映射到霍夫平面的状态示意图,其中,(a)和(b)分别为水平直线组和垂直直线组分别映射到霍夫平面的状态示意图;
图5为水平直线累加平面计算所有数据点的直线参数计算各特征向量的特征值的状态示意图;
图6为通过直线透视趋势,筛选正确的坐标配对过程示意图;
图7为二维码边缘图上三维空间中互相平行的的直线,经过透视投影后,在二维平面上交汇于消失点时的状态示意图;
图8为过消失点和左下Pattern图案中心点做估计线的状态示意图;
图9为分别做水平和垂直方向上的估计线并得到第四个定位点,并解析所得的二维码的状态示意图;
图10为本发明实施例二中装置的结构示意图;
图11为本发明实施例三中电子设备的结构示意图;
图12为本发明实施例四中介质的结构示意图。
具体实施方式
本申请实施例通过提供一种反光二维码图片的解析方法、装置、设备和介质,在强光照环境的干扰下依然能保证对二维码的成功解析。
本申请实施例中的技术方案,总体思路如下:先将二维码二值化得到二值图,根据消失点的先验知识,基于透视投影定理在二值图上匹配得到二维码Pattern点对,提高了Pattern定位准确率;然后将二值图进行边缘检测得到边缘图,即可利用边缘图的全局信息,根据匹配所得的三个Pattern点对的位置和直线透视变换趋势,定位出第四个点对位置,从而解析出整个二维码图像。这种基于图像全局信息估计透视直线角度变化趋势,只要局部反光不影响三个Pattern点对的匹配,即可解析出整个二维码图像,相比现有其他解析算法,大大提高了对二维码局部反光的抗干扰能力。
实施例一
如图1所示,本实施例提供一种反光二维码图片的解析方法,包括下述步骤:
S1、对二维码图片进行二值化处理得到二值图,并对所述二值图进行边缘检测得到边缘图;具体是:
在一张大图中通过SSD(Single Shot MultiBox Detector,单阶段多目标框检测器)目标检测模型截取二维码图像,通过FastWindows算法计算得到二值图,再通过Canny边缘检测算法检测二值图边缘,得到边缘图;
S2、对所述二值图进行二维码Pattern检测,得到可能为Pattern图案的 Pattern备选点坐标,并根据该二值图的形态特征计算获得Pattern中心坐标;
还对所述边缘图进行逆透视变换,并确定直线透视变化趋势;
S3、根据所述Pattern备选点坐标和所述直线透视变换趋势在所述二值图中匹配得到三个Pattern点对的位置;
S4、根据匹配所得的三个Pattern点对的位置和所述直线透视变换趋势,定位第四个点对位置。
其中,作为本实施例的一种更优或更为具体的实现方式,所述方法还具有如下特征:
所述步骤S2中,对所述边缘图进行逆透视变换具体是:
S21、应用霍夫直线变换算法检测所述边缘图中的直线,包括水平直线和垂直直线;
如图2中的(a)所示,为边缘图中的水平直线,图2中的(b)所示,为边缘图中的垂直直线。
S22、对水平直线和垂直直线进行分组,得到水平直线组和垂直直线组;将水平直线组和垂直直线组分别映射到霍夫平面,每一条直线均对应表示为一个数据点;其中,将水平直线组映射到霍夫平面是指将水平直线组中的每条直线均用一个数据点(ρ,θ)在累加坐标系中进行表示,得到水平直线累加器平面;将垂直直线组映射到霍夫平面是指将垂直直线组中的每条直线均用一个数据点(ρ,θ)在累加坐标系中进行表示,得到垂直直线累加器平面;
所述累加坐标系为极点坐标系,横坐标为ρ,纵坐标为θ;
其中,所谓的霍夫直线变换,就是将检测图像中的直线,以极坐标累加平面的形式表示。如图3所示,即为极坐标累加平面的定义:如图3中的(a) 所示,图像的某点在直线坐标系上表示为A(X0,Y0),如图3中的(b) 所示,直线坐标系上过点A(X0,Y0)作直线1、2、3、4,如图3中的(c) 所示,直线1、2、3、4在极点坐标系ρ-θ表示为1、2、3、4四个点。
如图4所示,将直线映射到霍夫平面是指将直线用一个数据点(ρ,θ) 在累加坐标系中进行表示,如图4中的(a)和(b)所示,分别为水平直线组和垂直直线组分别映射到霍夫平面的状态。
S23、对两所述霍夫平面中的数据点做PCA主成分分析,计算每个数据点的主向量方向,作为直线透视变化趋势;具体是:根据所述水平直线累加器平面或所述垂直直线累加器平面中所有数据点(ρ,θ)的直线参数ρ和θ计算各特征向量的特征值,将特征值最大的特征向量作为主特征向量并作为直线角度变化趋势;然后使用直线一般方程表示主特征向量,根据已知直线ρ参数计算直线对应的θ参数。
如图5所示,以水平直线累加平面为例,计算所有数据点(ρ,θ)的直线参数ρ和θ计算各特征向量(用箭头方向表示)的特征值(用箭头长度表示),由于水平直线为二维数据,因此可以计算得到两个特征向量(向左的箭头和向下的箭头分别表示一个特征向量),将特征向量按特征值从大到小排序,向左的箭头长度大于向下的箭头长度,说明向左的特征向量最大,得以保留,并作为直线角度变化趋势,而丢弃向下的特征向量。使用直线一般方程表示主特征向量,则可根据已知直线ρ参数计算直线对应的θ参数。
所述步骤S3具体是:
S31、在所述Pattern备选点中任意选择三个点作为一组可能的Patten配对点;
S32、根据透视直线角度变换趋势过第一点分别做水平方向直线和垂直方向直线,分别计算第二点和第三点到该方向直线和该垂直方向直线的距离;
S33、判断所述距离与预设阈值之间的大小,若所述距离小于所述预设阈值,则接受该组Pattern配对点,若所述距离大于所述预设阈值,则排除该组Patten配对点,选择下一组可能的Patten配对点,回到S32,直到接收某组Pattern配对点或穷举所有可能的Patten配对点组合。
如图6所示,举例说明通过直线透视趋势,筛选正确的坐标配对过程:
如图6中的(a)所示,假设经过Pattern检测后得到5个可能为Pattern 的备选点坐标A、B、C、D、E;
如图6中的(b)所示,任意选择D、C、E作为一组可能的Patten配对点,根据透视直线角度变换趋势过其中的一点D分别做水平和垂直方向直线,然后分别计算点E、点C到水平、垂直直线距离,判断距离与预设阈值之间的大小,假设判断结果是距离大于预设阈值,则排除该组Patten配对点 D、C、E,选择下一组可能的Patten配对点;
如图6中的(c)所示,任意选择A、B、C作为一个可能的Patten配对,根据透视直线角度变换趋势过点A分别做水平和垂直方向直线,分别计算点B、点C到水平、垂直直线距离,判断距离与预设阈值之间的大小,假设判断结果是距离小于阈值,则接受该Pattern配对A、B、C;如图6中的 (d)所示,将A、B、C三个点的位置作为三个Pattern点对位置,结束。
所述步骤S4具体是:
S41、在所述边缘图中,过水平直线组的消失点和左下Pattern点对的图案中心作水平估计线,过垂直直线组的消失点和右上Pattern点对的图案中心作垂直估计线,得到所述水平估计线和所述垂直估计线的交点,该交点作为变换所需的第四个Pattern点对的位置;
S42、由四个Pattern点对的位置计算单应矩阵,执行逆透视变换得到解析后的二维码图片。
其中,如图7所示,二维码边缘图(轮廓图)上三维空间中互相平行的的直线,经过透视投影后,在二维平面上交汇于一点,称为消失点。
如图8所示,过消失点和左下Pattern图案中心点做估计线,根据透视投影定理,该直线在三维空间中与二维码正方形外轮廓顶边和底边平行。
如图9所示,分别做水平和垂直方向上的估计线,估计线交点即为变换所需的第四个定位点。则由四个对应点对计算单应矩阵,执行逆透视变换得到图9中的右图,即解析所得的二维码示图。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
如图10所示,在本实施例中提供了一种反光二维码图片的解析装置,包括:
预处理模块,用于对二维码图片进行二值化处理得到二值图,并对所述二值图进行边缘检测得到边缘图;
形态特征处理模块,用于对所述二值图进行二维码Pattern检测,得到可能为Pattern图案的Pattern备选点坐标,并根据该二值图的形态特征计算获得Pattern中心坐标;
逆透视变换模块,用于对所述边缘图进行逆透视变换,并确定直线透视变化趋势;
Pattern点对匹配模块,用于根据所述Pattern备选点坐标和所述直线透视变换趋势在所述二值图中匹配得到三个Pattern点对的位置;
第四个点对定位模块,用于根据匹配所得的三个Pattern点对的位置和所述直线透视变换趋势,定位第四个点对位置。
其中,作为本实施例的一种更优或更为具体的实现方式,所述装置还具有如下特征:
所述逆透视变换模块对所述边缘图进行逆透视变换的具体过程是:
S21、应用霍夫直线变换算法检测所述边缘图中的直线,包括水平直线和垂直直线;
S22、对水平直线和垂直直线进行分组,得到水平直线组和垂直直线组;将水平直线组和垂直直线组分别映射到霍夫平面,每一条直线均对应表示为一个数据点;其中,将水平直线组映射到霍夫平面是指将水平直线组中的每条直线均用一个数据点(ρ,θ)在累加坐标系中进行表示,得到水平直线累加器平面;将垂直直线组映射到霍夫平面是指将垂直直线组中的每条直线均用一个数据点(ρ,θ)在累加坐标系中进行表示,得到垂直直线累加器平面;所述累加坐标系为极点坐标系,横坐标为ρ,纵坐标为θ;
S23、对两所述霍夫平面中的数据点做PCA主成分分析,计算每个数据点的主向量方向,作为直线透视变化趋势;具体是:根据所述水平直线累加器平面或所述垂直直线累加器平面中所有数据点(ρ,θ)的直线参数ρ和θ计算各特征向量的特征值,将特征值最大的特征向量作为主特征向量并作为直线角度变化趋势;然后使用直线一般方程表示主特征向量,根据已知直线ρ参数计算直线对应的θ参数。
所述Pattern点对匹配模块具体实现下述过程:
S31、在所述Pattern备选点中任意选择三个点作为一组可能的Patten配对点;
S32、根据透视直线角度变换趋势过第一点分别做水平方向直线和垂直方向直线,分别计算第二点和第三点到该方向直线和该垂直方向直线的距离;
S33、判断所述距离与预设阈值之间的大小,若所述距离小于所述预设阈值,则接受该组Pattern配对点,若所述距离大于所述预设阈值,则排除该组Patten配对点,选择下一组可能的Patten配对点,回到S32,直到接收某组Pattern配对点或穷举所有可能的Patten配对点组合。
所述第四个点对定位模块具体实现下述过程:
S41、在所述边缘图中,过水平直线组的消失点和左下Pattern点对的图案中心作水平估计线,过垂直直线组的消失点和右上Pattern点对的图案中心作垂直估计线,得到所述水平估计线和所述垂直估计线的交点,该交点作为变换所需的第四个Pattern点对的位置;
S42、由四个Pattern点对的位置计算单应矩阵,执行逆透视变换得到解析后的二维码图片。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,如图11所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质,如图12所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:先将二维码二值化得到二值图,根据消失点的先验知识,基于透视投影定理在二值图上匹配得到二维码Pattern点对,提高了Pattern定位准确率;然后将二值图进行边缘检测得到边缘图,即可利用边缘图的全局信息,根据匹配所得的三个Pattern点对的位置和直线透视变换趋势,定位出第四个点对位置,从而解析出整个二维码图像。这种基于图像全局信息估计透视直线角度变化趋势,只要局部反光不影响三个Pattern点对的匹配,即可解析出整个二维码图像,相比现有其他解析算法,大大提高了对二维码局部反光的抗干扰能力。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置或系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (10)
1.一种反光二维码图片的解析方法,其特征在于:包括下述步骤:
S1、对二维码图片进行二值化处理得到二值图,并对所述二值图进行边缘检测得到边缘图;
S2、对所述二值图进行二维码Pattern检测,得到可能为Pattern图案的Pattern备选点坐标,并根据该二值图的形态特征计算获得Pattern中心坐标;
还对所述边缘图进行逆透视变换,并确定直线透视变化趋势;
S3、根据所述Pattern备选点坐标和所述直线透视变换趋势在所述二值图中匹配得到三个Pattern点对的位置;
S4、根据匹配所得的三个Pattern点对的位置和所述直线透视变换趋势,定位第四个点对位置。
2.根据权利要求1所述的一种反光二维码图片的解析方法,其特征在于:所述步骤S2中,对所述边缘图进行逆透视变换具体是:
S21、应用霍夫直线变换算法检测所述边缘图中的直线,包括水平直线和垂直直线;
S22、对水平直线和垂直直线进行分组,得到水平直线组和垂直直线组;将水平直线组和垂直直线组分别映射到霍夫平面,每一条直线均对应表示为一个数据点;其中,将水平直线组映射到霍夫平面是指将水平直线组中的每条直线均用一个数据点(ρ,θ)在累加坐标系中进行表示,得到水平直线累加器平面;将垂直直线组映射到霍夫平面是指将垂直直线组中的每条直线均用一个数据点(ρ,θ)在累加坐标系中进行表示,得到垂直直线累加器平面;所述累加坐标系为极点坐标系,横坐标为ρ,纵坐标为θ;
S23、对两所述霍夫平面中的数据点做PCA主成分分析,计算每个数据点的主向量方向,作为直线透视变化趋势;具体是:根据所述水平直线累加器平面或所述垂直直线累加器平面中所有数据点(ρ,θ)的直线参数ρ和θ计算各特征向量的特征值,将特征值最大的特征向量作为主特征向量并作为直线角度变化趋势;然后使用直线一般方程表示主特征向量,根据已知直线ρ参数计算直线对应的θ参数。
3.根据权利要求2所述的一种反光二维码图片的解析方法,其特征在于:所述步骤S3具体是:
S31、在所述Pattern备选点中任意选择三个点作为一组可能的Patten配对点;
S32、根据透视直线角度变换趋势过第一点分别做水平方向直线和垂直方向直线,分别计算第二点和第三点到该方向直线和该垂直方向直线的距离;
S33、判断所述距离与预设阈值之间的大小,若所述距离小于所述预设阈值,则接受该组Pattern配对点,若所述距离大于所述预设阈值,则排除该组Patten配对点,选择下一组可能的Patten配对点,回到S32,直到接收某组Pattern配对点或穷举所有可能的Patten配对点组合。
4.根据权利要求1所述的一种反光二维码图片的解析方法,其特征在于:所述步骤S4具体是:
S41、在所述边缘图中,过水平直线组的消失点和左下Pattern点对的图案中心作水平估计线,过垂直直线组的消失点和右上Pattern点对的图案中心作垂直估计线,得到所述水平估计线和所述垂直估计线的交点,该交点作为变换所需的第四个Pattern点对的位置;
S42、由四个Pattern点对的位置计算单应矩阵,执行逆透视变换得到解析后的二维码图片。
5.一种反光二维码图片的解析装置,其特征在于:包括:
预处理模块,用于对二维码图片进行二值化处理得到二值图,并对所述二值图进行边缘检测得到边缘图;
形态特征处理模块,用于对所述二值图进行二维码Pattern检测,得到可能为Pattern图案的Pattern备选点坐标,并根据该二值图的形态特征计算获得Pattern中心坐标;
逆透视变换模块,用于对所述边缘图进行逆透视变换,并确定直线透视变化趋势;
Pattern点对匹配模块,用于根据所述Pattern备选点坐标和所述直线透视变换趋势在所述二值图中匹配得到三个Pattern点对的位置;
第四个点对定位模块,用于根据匹配所得的三个Pattern点对的位置和所述直线透视变换趋势,定位第四个点对位置。
6.根据权利要求5所述的一种反光二维码图片的解析装置,其特征在于:所述逆透视变换模块对所述边缘图进行逆透视变换的具体过程是:
S21、应用霍夫直线变换算法检测所述边缘图中的直线,包括水平直线和垂直直线;
S22、对水平直线和垂直直线进行分组,得到水平直线组和垂直直线组;将水平直线组和垂直直线组分别映射到霍夫平面,每一条直线均对应表示为一个数据点;其中,将水平直线组映射到霍夫平面是指将水平直线组中的每条直线均用一个数据点(ρ,θ)在累加坐标系中进行表示,得到水平直线累加器平面;将垂直直线组映射到霍夫平面是指将垂直直线组中的每条直线均用一个数据点(ρ,θ)在累加坐标系中进行表示,得到垂直直线累加器平面;所述累加坐标系为极点坐标系,横坐标为ρ,纵坐标为θ;
S23、对两所述霍夫平面中的数据点做PCA主成分分析,计算每个数据点的主向量方向,作为直线透视变化趋势;具体是:根据所述水平直线累加器平面或所述垂直直线累加器平面中所有数据点(ρ,θ)的直线参数ρ和θ计算各特征向量的特征值,将特征值最大的特征向量作为主特征向量并作为直线角度变化趋势;然后使用直线一般方程表示主特征向量,根据已知直线ρ参数计算直线对应的θ参数。
7.根据权利要求5所述的一种反光二维码图片的解析装置,其特征在于:所述Pattern点对匹配模块具体实现下述过程:
S31、在所述Pattern备选点中任意选择三个点作为一组可能的Patten配对点;
S32、根据透视直线角度变换趋势过第一点分别做水平方向直线和垂直方向直线,分别计算第二点和第三点到该方向直线和该垂直方向直线的距离;
S33、判断所述距离与预设阈值之间的大小,若所述距离小于所述预设阈值,则接受该组Pattern配对点,若所述距离大于所述预设阈值,则排除该组Patten配对点,选择下一组可能的Patten配对点,回到S32,直到接收某组Pattern配对点或穷举所有可能的Patten配对点组合。
8.根据权利要求5所述的一种反光二维码图片的解析装置,其特征在于:所述第四个点对定位模块具体实现下述过程:
S41、在所述边缘图中,过水平直线组的消失点和左下Pattern点对的图案中心作水平估计线,过垂直直线组的消失点和右上Pattern点对的图案中心作垂直估计线,得到所述水平估计线和所述垂直估计线的交点,该交点作为变换所需的第四个Pattern点对的位置;
S42、由四个Pattern点对的位置计算单应矩阵,执行逆透视变换得到解析后的二维码图片。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111368352.9A CN114548136B (zh) | 2021-11-18 | 2021-11-18 | 一种反光二维码图片的解析方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111368352.9A CN114548136B (zh) | 2021-11-18 | 2021-11-18 | 一种反光二维码图片的解析方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114548136A true CN114548136A (zh) | 2022-05-27 |
CN114548136B CN114548136B (zh) | 2024-10-29 |
Family
ID=81668514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111368352.9A Active CN114548136B (zh) | 2021-11-18 | 2021-11-18 | 一种反光二维码图片的解析方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114548136B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5616905A (en) * | 1994-02-24 | 1997-04-01 | Kabushiki Kaisha Tec | Two-dimensional code recognition method |
US6082619A (en) * | 1998-12-16 | 2000-07-04 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
US20040020989A1 (en) * | 2002-07-18 | 2004-02-05 | Takeharu Muramatsu | Two-dimensional code reading apparatus, two-dimensional code reading process, two-dimensional code reading program and recording medium for said program, portable terminal and digital camera |
CN101059834A (zh) * | 2007-05-31 | 2007-10-24 | 中国农业大学 | 基于聊天用摄像头的qr二维条码识读方法 |
US20120189190A1 (en) * | 2011-01-24 | 2012-07-26 | Purdue Research Foundation | Automatic detection and grouping of straight lines in images for personalization |
CN103914675A (zh) * | 2014-03-17 | 2014-07-09 | 东华大学 | 一种服装的快速响应矩阵二维码识别方法 |
CN106485183A (zh) * | 2016-07-14 | 2017-03-08 | 深圳市华汉伟业科技有限公司 | 一种二维码定位方法及系统 |
CN106485255A (zh) * | 2016-09-29 | 2017-03-08 | 深圳元启智能技术有限公司 | 一种dm码定位及识别的方法与系统 |
CN106991460A (zh) * | 2017-01-23 | 2017-07-28 | 中山大学 | 一种qr码快速定位检测算法 |
CN107545207A (zh) * | 2017-09-28 | 2018-01-05 | 云南电网有限责任公司电力科学研究院 | 基于图像处理的dm二维码识别方法及装置 |
CN111539238A (zh) * | 2020-04-27 | 2020-08-14 | 广州致远电子有限公司 | 二维码图像修复方法、装置、计算机设备和存储介质 |
CN112241642A (zh) * | 2019-07-19 | 2021-01-19 | 杭州海康威视数字技术股份有限公司 | 二维码的识别方法、装置、设备以及存储介质 |
-
2021
- 2021-11-18 CN CN202111368352.9A patent/CN114548136B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5616905A (en) * | 1994-02-24 | 1997-04-01 | Kabushiki Kaisha Tec | Two-dimensional code recognition method |
US6082619A (en) * | 1998-12-16 | 2000-07-04 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
US20040020989A1 (en) * | 2002-07-18 | 2004-02-05 | Takeharu Muramatsu | Two-dimensional code reading apparatus, two-dimensional code reading process, two-dimensional code reading program and recording medium for said program, portable terminal and digital camera |
CN101059834A (zh) * | 2007-05-31 | 2007-10-24 | 中国农业大学 | 基于聊天用摄像头的qr二维条码识读方法 |
US20120189190A1 (en) * | 2011-01-24 | 2012-07-26 | Purdue Research Foundation | Automatic detection and grouping of straight lines in images for personalization |
CN103914675A (zh) * | 2014-03-17 | 2014-07-09 | 东华大学 | 一种服装的快速响应矩阵二维码识别方法 |
CN106485183A (zh) * | 2016-07-14 | 2017-03-08 | 深圳市华汉伟业科技有限公司 | 一种二维码定位方法及系统 |
CN106485255A (zh) * | 2016-09-29 | 2017-03-08 | 深圳元启智能技术有限公司 | 一种dm码定位及识别的方法与系统 |
CN106991460A (zh) * | 2017-01-23 | 2017-07-28 | 中山大学 | 一种qr码快速定位检测算法 |
CN107545207A (zh) * | 2017-09-28 | 2018-01-05 | 云南电网有限责任公司电力科学研究院 | 基于图像处理的dm二维码识别方法及装置 |
CN112241642A (zh) * | 2019-07-19 | 2021-01-19 | 杭州海康威视数字技术股份有限公司 | 二维码的识别方法、装置、设备以及存储介质 |
CN111539238A (zh) * | 2020-04-27 | 2020-08-14 | 广州致远电子有限公司 | 二维码图像修复方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114548136B (zh) | 2024-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11727661B2 (en) | Method and system for determining at least one property related to at least part of a real environment | |
US9811733B2 (en) | Method, apparatus and system for selecting a frame | |
US9858472B2 (en) | Three-dimensional facial recognition method and system | |
US10573018B2 (en) | Three dimensional scene reconstruction based on contextual analysis | |
US10482681B2 (en) | Recognition-based object segmentation of a 3-dimensional image | |
US20170243352A1 (en) | 3-dimensional scene analysis for augmented reality operations | |
KR101988384B1 (ko) | 이미지 매칭 장치, 이미지 매칭 시스템 및 이미지 매칭 방법 | |
CN109086724B (zh) | 一种加速的人脸检测方法及存储介质 | |
CN104933738B (zh) | 一种基于局部结构检测和对比度的视觉显著图生成方法 | |
KR101032446B1 (ko) | 영상의 정점 검출 장치 및 방법 | |
KR20120040924A (ko) | 영상 처리 장치 및 방법 | |
CN109816051B (zh) | 一种危化品货物特征点匹配方法及系统 | |
CN107248174A (zh) | 一种基于tld算法的目标跟踪方法 | |
CN106778813B (zh) | 深度图像的自适应聚类分割算法 | |
TW201434010A (zh) | 具有在預處理層及一或多個更高層之間之多通道介面之影像處理器 | |
JP2018036770A (ja) | 位置姿勢推定装置、位置姿勢推定方法、及び位置姿勢推定プログラム | |
US9129375B1 (en) | Pose detection | |
US10140509B2 (en) | Information processing for detection and distance calculation of a specific object in captured images | |
CN113763458A (zh) | 确定目标对象摆放面的方法和装置 | |
CN114548136B (zh) | 一种反光二维码图片的解析方法、装置、设备和介质 | |
US10713808B2 (en) | Stereo matching method and system using rectangular window | |
JP6055307B2 (ja) | 対応点探索装置およびカメラ姿勢推定装置ならびにこれらのプログラム | |
JP4836065B2 (ja) | エッジトラッキング方法及びそのコンピュータプログラム | |
CN114299109B (zh) | 多目标对象轨迹生成方法、系统、电子设备和存储介质 | |
CN113870190B (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 |