一种二维码的快速定位方法与流程

文档序号:12670367阅读:1684来源:国知局
一种二维码的快速定位方法与流程

本发明涉及二维码领域,具体涉及一种二维码的快速定位方法。



背景技术:

二维码是用某种特定的几何图形按一定规律在平面也就是二维方向上分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。二维码是一种图像标识技术,因为具有存储容量大,存储信息种类多,纠错能力强等优点,在物品编码,移动支付等领域被广泛应用。

二维码应用范围广,因此其应用环境相对复杂。获取到的图片,往往会有复杂的背景,解码过程中,需从图片中定位到二维码的具体区域。常见的方法在二维码定位阶段,消耗时间长。



技术实现要素:

为了解决上述问题,本发明提供了一种二维码的快速定位方法。本发明提供的一种二维码的快速定位方法,在复杂背景下,对二维码所在区域进行快速定位。

本发明采用的技术方案如下:

一种二维码的快速定位方法,包括如下步骤:

S1,获取待处理二维码图像;

S2,将步骤S1获取的二维码图像转换为灰度图像;

S3,中值滤波;

S4,边缘检测;

S5,平行坐标定位;

其中,所述步骤S5具体包括如下步骤:

S51,将步骤S4获取到的边缘图像映射到平行坐标上;

S52,将步骤S4获取到的边缘图像沿Y轴旋转,并将旋转后的边缘图像映射到平行坐标上;

S53,比较步骤S51获得的图像上的各个交点的间距以及步骤S52获得的图像上的各个交点的间距,间距相等的点所对应的坐标共同描述了二维码所在的区域。

上述的一种二维码的快速定位方法,其中,所述步骤S4具体包括使用“Canny”算子提取图像的边缘。

上述的一种二维码的快速定位方法,其中,所述步骤S2具体包括:步骤S1获取的图像,用R、G、B分别表示彩色图像中每个像素点的红、绿、蓝分量,转换后的灰度图像对应的像素点的亮度值为I,则:

I=0.3*R+0.59*G+0.11*B。

本发明提供本发明的有益效果在于:通过对图像进行灰度转换、中值滤波、边缘检测后,得到图像的边缘线,使用笛卡尔坐标向平行坐标的转换得到进一步判断边缘线是否正确。其操作简单,不涉及复杂计算,且通过数学模型,提升精度。在复杂背景下,对二维码所在区域进行快速定位,适用范围广。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一种二维码的快速定位方法的流程图;

图2是本发明一种二维码的快速定位方法中一个二维码图像示例;

图3是本发明一种二维码的快速定位方法中与图2对应的边缘线示例;

图4是本发明一种二维码的快速定位方法中的笛卡尔坐标点(0,2)和(2,0)映射到平行坐标的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

如图1所示,一种二维码的快速定位方法,包括如下步骤:

S1,获取待处理二维码图像;设备获取摄像头传输来的彩色图像。

S2,将步骤S1获取的二维码图像转换为灰度图像;灰度图像即图像亮度值在0到255的图像。步骤S1获取的图像,用R、G、B分别表示彩色图像中每个像素点的红、绿、蓝分量,转换后的灰度图像对应的像素点的亮度值为I,则:I=0.3*R+0.59*G+0.11*B。

S3,中值滤波;由于摄像头和传输过程会受到电流不稳定等因素的影响,图像会出现个别的亮点,即椒盐噪声。为了消除椒盐噪声的影响,需要对图像进行中值滤波。中值滤波是一种非线性滤波器。在定义的窗口内,按图像的像素值大小进行排序,取中间位置的数作为滤波器输出的结果。

S4,边缘检测;使用“Canny”算子提取图像的边缘。经过边缘检测后,得到图像的边缘,边缘由线构成。二维码边缘检测后,就是一些平行线,如图2、图3所示。

S5,平行坐标定位;

其中,所述步骤S5具体包括如下步骤:

S51,将步骤S4获取到的边缘图像映射到平行坐标上;根据平行坐标原理,将二维码视为笛卡尔坐标上的图像,那么笛卡尔坐标的直线映射为平行坐标的点,但是只能对负斜率直线映射。笛卡尔坐标点(0,2)和(2,0)映射到平行坐标,如图4所示。

S52,将步骤S4获取到的边缘图像沿Y轴旋转,并将旋转后的边缘图像映射到平行坐标上;因为平行坐标只能检测负斜率的直线,本步骤将边缘图像沿y轴旋转,再映射到平行坐标上,此时可以检测到原图像中正斜率的直线。

S53,比较步骤S51获得的图像上的各个交点的间距以及步骤S52获得的图像上的各个交点的间距,间距相等的点所对应的坐标共同描述了二维码所在的区域。两幅图像中,间距相等的点就是二维码所在区域。步骤S51中检测出图像中负斜率的直线,步骤S52中检测出图像正斜率的直线。另外,各平行线的间距相等,因此,对两幅映射后的图像进行比较,间距相等的点就是两组平行线相交的区域,即可定位为二维码所在区域。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1