【技术实现步骤摘要】
一种快速反应QR码模块边界调整的方法及装置
本专利技术涉及图像处理
,尤其涉及一种快速反应QR码模块边界调整的方法及装置。
技术介绍
随着科学技术的快速发展,QR码的出现方便了用户的生活,在日常生活中,无论是购物还是一些社交软件或者是一些应用软件都有其对应的一个QR码,用户可以通过扫码,读取该QR码即可进入购物付款界面,或者进入添加好友界面等。QR码由多个模块组成,用户在使用电子设备对QR码进行解码时,存在着对QR码中的模块的边界调整的过程,之后针对模块边界调整后的QR码进行解码。现有技术对模块的边界调整时,是将每个模块的整个直线边界作为一个整体在一定范围内进行移动,完成对模块边界的调整。这种模块边界调整的方法对于QR码所在的区域内模块分布均匀且大小基本一致的QR码,有比较好的效果。但是,实际得到的QR码所在的区域,由于拍摄角度、打印机质量、工业环境污染和误差等不同的原因,会存在QR码中的各模块大小、长宽不一致等问题。此外,在过曝,低对比度,高噪声等图像上QR码中的模块的边界通常不是直线边界。这种情况下,通过将每个模块的整个直线边界作为一个整体在一定范围内进行移动,完成对模块边界的调整,会造成模块内部噪声过多,确定出的模块不准确,影响采样模块信息的准确度,进而严重降低解码的准确率。
技术实现思路
本专利技术实施例提供一种QR码模块边界调整的方法及装置,用以解决QR码中的模块的边界调整不准确的问题。为达到上述目的,本专利技术实施例公开了一种QR码模块边界调整的方法,该方法包括:根据定位出的QR码所在的区域,及该区域中每个像素点的灰度值,生成灰度值的梯度投影 ...
【技术保护点】
一种快速反应QR码模块边界调整的方法,其特征在于,所述方法包括:根据定位出的QR码所在的区域,及该区域中每个像素点的灰度值,生成灰度值的梯度投影图;根据所述梯度投影图中的每个峰值,对所述QR码所在的区域进行划分,得到QR码中的每个模块;针对每个模块,按照预设的划分方法将该模块划分为多个矩形区域;针对每个矩形区域的每个顶点,按照预设的方法确定每个顶点在四个第一方向的梯度值;针对每个第一方向,根据与该第一方向对应的行或列,在每行或每列中将梯度值的最大值对应的顶点作为该第一方向的候选点,并针对每个第一方向将每个候选点划分为内外两个第二方向,针对每个第二方向,对候选点进行调整得到每个边界点,将调整后的边界点依次连接;将所述调整后的边界点依次连接后构成的封闭区域作为QR码模块所在区域。
【技术特征摘要】
1.一种快速反应QR码模块边界调整的方法,其特征在于,所述方法包括:根据定位出的QR码所在的区域,及该区域中每个像素点的灰度值,生成灰度值的梯度投影图;根据所述梯度投影图中的每个峰值,对所述QR码所在的区域进行划分,得到QR码中的每个模块;针对每个模块,按照预设的划分方法将该模块划分为多个矩形区域;针对每个矩形区域的每个顶点,按照预设的方法确定每个顶点在四个第一方向的梯度值;针对每个第一方向,根据与该第一方向对应的行或列,在每行或每列中将梯度值的最大值对应的顶点作为该第一方向的候选点,并针对每个第一方向将每个候选点划分为内外两个第二方向,针对每个第二方向,对候选点进行调整得到每个边界点,将调整后的边界点依次连接;将所述调整后的边界点依次连接后构成的封闭区域作为QR码模块所在区域。2.如权利要求1所述的方法,其特征在于,所述根据定位出的QR码所在的区域,及该区域中每个像素点的灰度值,生成灰度值的梯度投影图包括:针对每个像素点,确定与该像素点左右相邻的两个像素点的灰度值的差的绝对值,将所述绝对值作为该像素点的水平梯度值,将每一列的像素点的水平梯度值累加得到水平方向的梯度投影图;针对每个像素点,确定与该像素点上下相邻的两个像素点的灰度值的差的绝对值,将所述绝对值作为该像素点的垂直梯度值,将每一行的像素点的垂直梯度值累加得到垂直方向的梯度投影图。3.如权利要求1所述的方法,其特征在于,所述根据所述梯度投影图中的每个峰值,对所述QR码所在的区域进行划分包括:将所述水平方向的梯度投影图的水平方向划分为第一数量的范围区间,识别每个第一范围区间中梯度值的峰值,确定每个峰值所对应的每个目标列,在所述QR码所在的区域中采用每个目标列进行列划分;将垂直方向的梯度投影图的垂直方向划分为第二数量的范围区间,识别每个第二范围区间中梯度值的峰值,确定每个峰值所对应的每个目标行,在所述QR码所在的区域中采用每个目标行进行行划分。4.如权利要求1所述的方法,其特征在于,所述针对每个矩形区域的每个顶点,按照预设的方法确定每个顶点在四个第一方向的梯度值包括:将每个矩形区域的每个顶点划分到左右两个半区,将左方向作为第一方向,针对左半区的顶点,根据每个顶点与该顶点相邻且位于该顶点右侧的顶点的灰度值差的绝对值,确定每个顶点在左方向的梯度值;将右方向作为第一方向,针对右半区的顶点,根据每个顶点与该顶点相邻且位于该顶点左侧的顶点的灰度值差的绝对值,确定每个顶点在右方向的梯度值;将每个矩形区域的每个顶点划分到上下两个半区,将上方作为第一方向,针对上半区的顶点,根据每个顶点与该顶点相邻且位于该顶点下方的顶点的灰度值差的绝对值,确定每个顶点在上方的梯度值;将下方作为第一方向,针对下半区的顶点,根据每个顶点与该顶点相邻且位于该顶点上方的顶点的灰度值差的绝对值,确定每个顶点在下方的梯度值。5.如权利要求1所述的方法,其特征在于,所述针对每个第二方向,对候选点进行调整得到每个边界点包括:如果候选点为左方向候选点,且所述候选点位于外侧,将左方向候选点划分为上下两个外侧组,针对每个外侧组,识别该外侧组中位于最内侧的左方向候选点,将与该最内侧的左方向候选点位于同一列的顶点作为该外侧组左方向边界点;针对内测组,将内侧组划分为至少一个内侧分组,针对每个内侧分组,识别该内侧分组中位于最外侧的左方向候选点,将与该最外侧的左方向候选点位于同一列的顶点作为该内侧分组左方向边界点;如果候选点为右方向候选点,且所述候选点位于外侧,将右方向候选点划分为上下两个外侧组,针对每个外侧组,识别该外侧组中位于最内侧的右方向候选点,将与该最内侧的右方向候选点位于同一列的顶点作为该外侧组右方向边界点;针对内测组,将内侧组划分为至少一个内侧分组,针对每个内侧分组,识别该内侧分组中位于最外侧的右方向候选点,将与该最外侧的右方向候选点位于同一列的顶点作为该内侧分组右方向边界点;如果候选点为上方候选点,且所述候选点位于外侧,将上方候选点划分为左右两个外侧组,针对每个外侧组,识别该外侧组中位于最内侧的上方候选点,将与该最内侧的上方候选点位于同一行的顶点作为该外侧组上方边界点;针对内测组,将内侧组划分为至少一个内侧分组,针对每个内侧分组,识别该内侧分组中位于最外侧的上方候选点,将与该最外侧的上方候选点位于同一行的顶点作为该内侧分组上方边界点;如果候选点为下方候选点,且所述候选点位于外侧,将下方候选点划分为左右两个外侧组,针对每个外侧组,识别该外侧组中位于最内侧的下方候选点,将与该最内侧的下方候选点位于同一行的顶点作为该外侧组下方边界点;针对内测组,将内侧组划分为至少一个内侧分组,针对每个内侧分组,识别该内侧分组中位于最外侧的下方候选点,将与该最外侧的下方候选点位于同一行的顶点作为该内侧分组下方边界点。6.如权利要求5所述的方法,其特征在于,所述将与该最外侧的左方向候选点位于同一列的顶点作为该内侧分组左方向边界点之前,所述方法还包括:判断每个内侧分组的左方向边界点是否位于同一列,如果是,进行后续步骤。7.如权利要求6所述的方法,其特征在于,如果每个内侧分组的左方向边界点不位于同一列,所述方法还包括:针对内侧分组中的左方向边界点,确定位于最内侧的左方向边界点,将内侧分组左方向边界点更新为与该最内侧的左方向候选点位于同一列的顶点。8.如权利要求5所述的方法,其特征在于,所述将与该最外侧的右方向候选点位于同一列的顶点作为该内侧分组右方向边界点之前,所述方法还包括:判断每个内侧分组的右方向边界点是否位于同一列,如果是,进行后续步骤;所述将与该最外侧的上方候选点位于同一行的顶点作为该内侧分组上方边界点之前,所述方法还包括:判断每个内侧分组的上方边界点是否位于同一行,如果是,进行后续步骤;所述将与该最外侧的下方候选点位于同一行的顶点作为该内侧分组下方边界点之前,所述方法还包括:判断每个内侧分组的下方边界点是否位于同一行,如果是,进行后续步骤。9.如权利要求8所述的方法,其特征在于,如果每个内侧分组的右方向边界点不位于同一列,所述方法还包括:针对内侧分组中的右方向边界点,确定位于最内侧的右方向边界点,将内侧分组右方向边界点更新为与该最内侧的右方向候选点位于同一列的顶点;如果每个内侧分组的上方边界点不位于同一行,所述方法还包括:针对内侧分组中的上方边界点,确定位于最内侧的上方边界点,将...
【专利技术属性】
技术研发人员:韩雪超,周璐,定志峰,
申请(专利权)人:浙江华睿科技有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。