一种包含二维码图像的矫正方法和装置与流程

文档序号:18903373发布日期:2019-10-18 22:17阅读:420来源:国知局
一种包含二维码图像的矫正方法和装置与流程

本发明涉及计算机技术领域,特别涉及一种包含二维码图像的矫正方法和装置。



背景技术:

在人工智能发展的浪潮当中,将重复且机械的工作用机器替代人类是一个必然的趋势。在目前已有的人工智能应用中,文字识别正处于发展阶段。若使文字识别更加智能化和自动化,在文字识别之前,还要有一步图像的规范化,如图像的视角矫正和去畸变。当图像中视角倾斜时,文字也会随之倾斜,而往往文字识别的训练数据中都是规范的文字。如果考虑倾斜的情况,训练集的大小可能会成倍的增加,训练时间和训练效果也会随之下降。因此,对图像做矫正可以保证文字的规范性,有助于提升后续文字识别的效果。

目前用于ocr识别中的主流的图像矫正技术仍集中于提取图像中的感兴趣区域(roi,regionofinterests)的边缘并做一系列直线拟合、模式识别等工作,找到四边形区域,并做矫正。这样做处理不了没有明显边界或边界与背景区分度不足的图像。



技术实现要素:

本发明实施例提供了一种包含二维码图像的矫正方法和装置,无需通过图像边界进行矫正,实现了对没有明显边界或边界与背景区分度不足的图像进行矫正。

一种包含二维码图像的矫正方法,构建三维坐标系和规范区域,其中,所述规范区域位于一个二维平面上;还包括:

定位所述包含二维码图像中的二维码区域,并确定所述二维码区域的四个角点在所述坐标系上的原坐标;

将所述二维码区域投影到所述规范区域,并确定所述四个角点的投影坐标;

将所述四个角点的原坐标和所述四个角点的投影坐标转换为投影矩阵;

将所述包含二维码图像的各个顶点的坐标转换为齐次坐标,并利用所述齐次坐标和所述投影矩阵将所述包含二维码图像投影到所述二维平面上,以得到矫正后的包含二维码图像。

优选地,

所述规范区域为正方形;

所述将所述二维码区域投影到所述规范区域,并确定所述四个角点的投影坐标,包括:

将所述二维码区域的四个角点分别投影到所述正方形的四个顶点上,使所述四个角点的投影坐标分别对应所述正方形的四个顶点的坐标。

优选地,上述包含二维码图像的矫正方法,进一步包括:

将所述包含二维码图像二值化;

对二值化后的包含二维码图像进行膨胀或者闭操作,并将所述二值化后的包含二维码图像的空洞填白;

分析出至少一个连通域;预设的二维码模板与所述至少一个连通域进行匹配;

确定能够与所述二维码模板匹配的连通域为二维码区域。

优选地,所述二维码模板,包括:

二维码匹配角点图,其中所述二维码匹配角点图为由一个二维码中的至少三个角点对应的特征匹配描述子组成。

优选地,所述预设的二维码模板与所述至少一个连通域进行匹配,确定能够与所述二维码模板匹配的连通域为二维码区域包括:

针对所述二维码匹配角点图中的每一个特征匹配描述子,执行:

通过最近邻搜索方式从所述连通域提取出的特征描述子中查找到与所述特征匹配描述子相匹配的k个相似特征描述子;

针对k个相似特征描述子循环执行下述n1至n3,直至找到所述特征匹配描述子对应的目标特征描述子;

循环执行下述n1至n3直至确定出目标特征描述子:

n1:计算任意相邻的两个相似特征描述子的相似度;

n2:当所述相似度不大于预设的近似系数时,从所述相邻的两个相似特征描述子中舍弃任一相似特征描述子,并判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;

n3:当所述相似度大于预设的近似系数时,计算所述相邻的两个相似特征描述子的平均特征描述子,并将所述平均特征描述子作为相似特征描述子,判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;

所述二维码匹配角点图中的所有的特征匹配描述子对应的目标特征描述子所属于的连通域为二维码区域。

一种包含二维码图像的矫正装置,包括:构建单元、投影矩阵转换单元以及矫正单元,其中,

所述构建单元,用于构建三维坐标系和规范区域,其中,所述规范区域位于一个二维平面上;

所述投影矩阵转换单元,用于定位所述包含二维码图像中的二维码区域,并确定所述二维码区域的四个角点在所述构建单元构建出的所述坐标系上的原坐标;将所述二维码区域投影到所述构建单元构建出的所述规范区域,并确定所述四个角点的投影坐标;将所述四个角点的原坐标和所述四个角点的投影坐标转换为投影矩阵;

所述矫正单元,用于将所述包含二维码图像的各个顶点的坐标转换为齐次坐标,并利用所述齐次坐标和所述投影矩阵转换单元转换出的所述投影矩阵将所述包含二维码图像投影到所述二维平面上,以得到矫正后的包含二维码图像。

优选地,

所述规范区域为正方形;

所述投影矩阵转换单元,用于将所述二维码区域的四个角点分别投影到所述正方形的四个顶点上,使所述四个角点的投影坐标分别对应所述正方形的四个顶点的坐标。

优选地,所述投影矩阵转换单元,进一步用于:

将所述包含二维码图像二值化;

对二值化后的包含二维码图像进行膨胀或者闭操作,并将所述二值化后的包含二维码图像的空洞填白;

分析出至少一个连通域;预设的二维码模板与所述至少一个连通域进行匹配;

确定能够与所述二维码模板匹配的连通域为二维码区域。

优选地,

所述二维码模板,包括:二维码匹配角点图,其中所述二维码匹配角点图为由一个二维码中的至少三个角点对应的特征匹配描述子组成。

优选地,所述投影矩阵转换单元,进一步用于:

针对所述二维码匹配角点图中的每一个特征匹配描述子,执行:

通过最近邻搜索方式从所述连通域提取出的特征描述子中查找到与所述特征匹配描述子相匹配的k个相似特征描述子;

针对k个相似特征描述子循环执行下述n1至n3,直至找到所述特征匹配描述子对应的目标特征描述子;

循环执行下述n1至n3直至确定出目标特征描述子:

n1:计算任意相邻的两个相似特征描述子的相似度;

n2:当所述相似度不大于预设的近似系数时,从所述相邻的两个相似特征描述子中舍弃任一相似特征描述子,并判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;

n3:当所述相似度大于预设的近似系数时,计算所述相邻的两个相似特征描述子的平均特征描述子,并将所述平均特征描述子作为相似特征描述子,判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;

所述二维码匹配角点图中的所有的特征匹配描述子对应的目标特征描述子所属于的连通域为二维码区域。

本发明实施例提供了一种包含二维码图像的矫正方法和装置,该包含二维码图像的矫正方法包括:构建三维坐标系和规范区域,其中,规范区域位于一个二维平面上;定位包含二维码图像中的二维码区域,并确定二维码区域的四个角点在所述坐标系上的原坐标;将二维码区域投影到所述规范区域,并确定四个角点的投影坐标;将四个角点的原坐标和四个角点的投影坐标转换为投影矩阵;将包含二维码图像的各个顶点的坐标转换为齐次坐标,并利用齐次坐标和投影矩阵将包含二维码图像投影到二维平面上,以得到矫正后的包含二维码图像。由于二维码一般具有比较清晰的边界,基于二维码进行矫正,无需通过图像边界进行矫正,实现了对没有明显边界或边界与背景区分度不足的图像进行矫正。

附图说明

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

图1是本发明一个实施例提供的包含二维码图像的矫正方法的流程图;

图2是本发明另一个实施例提供的包含二维码图像的矫正方法的流程图;

图3是本发明实施例提供的包含二维码图像的矫正装置的结构图。

具体实施方式

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

如图1所示,本发明实施例提供了一种包含二维码图像的矫正方法,该方法可以包括以下步骤:

步骤101:构建三维坐标系和规范区域,其中,规范区域位于一个二维平面上;

步骤102:定位包含二维码图像中的二维码区域,并确定二维码区域的四个角点在坐标系上的原坐标;

步骤103:将二维码区域投影到规范区域,并确定四个角点的投影坐标;

步骤104:将四个角点的原坐标和四个角点的投影坐标转换为投影矩阵;

步骤105:将包含二维码图像的各个顶点的坐标转换为齐次坐标,并利用齐次坐标和投影矩阵将包含二维码图像投影到所述二维平面上,以得到矫正后的包含二维码图像。

其中,可采用sift算法从包含二维码图像图提取特征描述子,该sift算法是针对图像的局部特征生成描述子进行描述,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也较稳定。它所生成的描述子是以候选特征点为中心取16x16的邻域作为窗口,将特征点和它的方向通过高斯加权后放入8个bin的方向直方图,以此获得128的描述子。

在图1提供的方法中,通过构建三维坐标系和规范区域,其中,规范区域位于一个二维平面上;定位包含二维码图像中的二维码区域,并确定二维码区域的四个角点在所述坐标系上的原坐标;将二维码区域投影到所述规范区域,并确定四个角点的投影坐标;将四个角点的原坐标和四个角点的投影坐标转换为投影矩阵;将包含二维码图像的各个顶点的坐标转换为齐次坐标,并利用齐次坐标和投影矩阵将包含二维码图像投影到二维平面上,以得到矫正后的包含二维码图像。由于二维码一般具有比较清晰的边界,基于二维码进行矫正,无需通过图像边界进行矫正,实现了对没有明显边界或边界与背景区分度不足的图像进行矫正。

在本发明另一实施例中,上述规范区域为正方形;则上述步骤103的具体实施方式可为,将二维码区域的四个角点分别投影到正方形的四个顶点上,使四个角点的投影坐标分别对应正方形的四个顶点的坐标。该过程简化了二维码区域角点投影坐标的确定。

上述方法步骤可进一步包括:将包含二维码图像二值化;对二值化后的包含二维码图像进行膨胀或者闭操作,并将二值化后的包含二维码图像的空洞填白;分析出至少一个连通域;预设的二维码模板与至少一个连通域进行匹配;确定能够与二维码模板匹配的连通域为二维码区域,通过将包含二维码图像二值化可以去除不必要的干扰,能够更加准确地找到所有的连通域。

上述二维码模板为二维码匹配角点图,其中二维码匹配角点图为由一个二维码中的至少三个角点对应的特征匹配描述子组成。

在本发明另一实施例中,为了尽可能的保证匹配的准确性,从而保证对二维码区域定位的准确性,上述预设的二维码模板与所述至少一个连通域进行匹配,确定能够与二维码模板匹配的连通域为二维码区域的具体实施方式可包括:针对二维码匹配角点图中的每一个特征匹配描述子,执行:通过最近邻搜索方式从连通域提取出的特征描述子中查找到与特征匹配描述子相匹配的k个相似特征描述子;针对k个相似特征描述子循环执行下述n1至n3,直至找到特征匹配描述子对应的目标特征描述子;循环执行下述n1至n3直至确定出目标特征描述子:n1:计算任意相邻的两个相似特征描述子的相似度;n2:当相似度不大于预设的近似系数时,从相邻的两个相似特征描述子中舍弃任一相似特征描述子,并判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;n3:当相似度大于预设的近似系数时,计算相邻的两个相似特征描述子的平均特征描述子,并将平均特征描述子作为相似特征描述子,判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;二维码匹配角点图中的所有的特征匹配描述子对应的目标特征描述子所属于的连通域为二维码区域。

如图2所示,本发明实施例提供一种包含二维码图像的矫正方法,该包含二维码图像的矫正方法,可包括如下步骤:

步骤201:构建三维坐标系和规范区域,其中,规范区域位于一个二维平面上,该规范区域为正方形;

步骤202:将包含二维码图像二值化;

步骤203:对二值化后的包含二维码图像进行膨胀或者闭操作,并将二值化后的包含二维码图像的空洞填白;

该步骤可选用适当参数的图像形态学方法进行膨胀或者闭操作。

步骤204:分析出至少一个连通域;

步骤205:预设的二维码模板与至少一个连通域进行匹配;

预设的二维码模板为二维码匹配角点图,其中二维码匹配角点图为由一个二维码中的至少三个角点对应的特征匹配描述子组成。

步骤206:确定能够与二维码模板匹配的连通域为二维码区域;

上述步骤205和步骤206的具体实施方式可为:

针对二维码匹配角点图中的每一个特征匹配描述子,执行:

通过最近邻搜索方式从所述连通域提取出的特征描述子中查找到与特征匹配描述子相匹配的k个相似特征描述子;该k为不小于2的正整数,优选地k=2。提取特征匹配描述子和特征描述子的过程均可sift算法来完成。该sift算法是针对图像的局部特征生成描述子进行描述,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也较稳定。它所生成的描述子是以候选特征点为中心取16x16的邻域作为窗口,将特征点和它的方向通过高斯加权后放入8个bin的方向直方图,以此获得128的描述子。

针对k个相似特征描述子循环执行下述n1至n3,直至找到特征匹配描述子对应的目标特征描述子;

循环执行下述n1至n3直至确定出目标特征描述子:

n1:计算任意相邻的两个相似特征描述子的相似度;

n2:当相似度不大于预设的近似系数时,从相邻的两个相似特征描述子中舍弃任一相似特征描述子,并判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;

n3:当相似度大于预设的近似系数时,计算相邻的两个相似特征描述子的平均特征描述子,并将平均特征描述子作为相似特征描述子,判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;

二维码匹配角点图中的所有的特征匹配描述子对应的目标特征描述子所属于的连通域为二维码区域。

找到二维码区域后,将二维码区域的二值图像提取出来,其余区域的值都设为0.因为二维码区域一般情况下都比较规则,所以提出来的区域应该是一个比较规范的四边形区域。这时我们可以使用多边形拟合的方法,对该区域进行拟合。在开源的opencvlibrary中,有approxpolydp和convexhull两种方法可以使用。

步骤207:定位包含二维码图像中的二维码区域,并确定二维码区域的四个角点在坐标系上的原坐标;

步骤208:将二维码区域的四个角点分别投影到正方形的四个顶点上,使四个角点的投影坐标分别对应正方形的四个顶点的坐标;

该步骤实现了将不规则的四边形投影到标准矩形中。

步骤209:将四个角点的原坐标和四个角点的投影坐标转换为投影矩阵;

步骤210:将包含二维码图像的各个顶点的坐标转换为齐次坐标,并利用齐次坐标和投影矩阵将包含二维码图像投影到二维平面上,以得到矫正后的包含二维码图像。

上述包含二维码图像的矫正方法以及下述的包含二维码图像的矫正装置可以作为ocr的插件应用于智能设备如手机、平板或其他扫码设备中。

如图3所示,本发明实施例提供包含二维码图像的矫正装置,该包含二维码图像的矫正装置包括:构建单元301、投影矩阵转换单元302以及矫正单元303,其中,

构建单元301,用于构建三维坐标系和规范区域,其中,规范区域位于一个二维平面上;

投影矩阵转换单元302,用于定位包含二维码图像中的二维码区域,并确定二维码区域的四个角点在构建单元301构建出的坐标系上的原坐标;将二维码区域投影到构建单元301构建出的规范区域,并确定四个角点的投影坐标;将四个角点的原坐标和四个角点的投影坐标转换为投影矩阵;

矫正单元303,用于将包含二维码图像的各个顶点的坐标转换为齐次坐标,并利用齐次坐标和投影矩阵转换单元302转换出的投影矩阵将包含二维码图像投影到二维平面上,以得到矫正后的包含二维码图像。

在本发明另一实施例中,规范区域为正方形;相应地,投影矩阵转换单元302,用于将二维码区域的四个角点分别投影到正方形的四个顶点上,使四个角点的投影坐标分别对应正方形的四个顶点的坐标。

在本发明另一实施例中,投影矩阵转换单元302,进一步用于将包含二维码图像二值化;对二值化后的包含二维码图像进行膨胀或者闭操作,并将二值化后的包含二维码图像的空洞填白;分析出至少一个连通域;预设的二维码模板与至少一个连通域进行匹配;确定能够与二维码模板匹配的连通域为二维码区域。

其中,二维码模板可包括:二维码匹配角点图,其中所述二维码匹配角点图为由一个二维码中的至少三个角点对应的特征匹配描述子组成。

在本发明另一实施例中,投影矩阵转换单元302,进一步用于:

针对二维码匹配角点图中的每一个特征匹配描述子,执行:

通过最近邻搜索方式从连通域提取出的特征描述子中查找到与所述特征匹配描述子相匹配的k个相似特征描述子;

针对k个相似特征描述子循环执行下述n1至n3,直至找到特征匹配描述子对应的目标特征描述子;

循环执行下述n1至n3直至确定出目标特征描述子:

n1:计算任意相邻的两个相似特征描述子的相似度;

n2:当相似度不大于预设的近似系数时,从相邻的两个相似特征描述子中舍弃任一相似特征描述子,并判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;

n3:当相似度大于预设的近似系数时,计算相邻的两个相似特征描述子的平均特征描述子,并将平均特征描述子作为相似特征描述子,判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;

二维码匹配角点图中的所有的特征匹配描述子对应的目标特征描述子所属于的连通域为二维码区域。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。

本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。

综上所述,本发明以上各个实施例至少具有如下有益效果:

1、在本发明实施例中,通过构建三维坐标系和规范区域,其中,规范区域位于一个二维平面上;定位包含二维码图像中的二维码区域,并确定二维码区域的四个角点在所述坐标系上的原坐标;将二维码区域投影到所述规范区域,并确定四个角点的投影坐标;将四个角点的原坐标和四个角点的投影坐标转换为投影矩阵;将包含二维码图像的各个顶点的坐标转换为齐次坐标,并利用齐次坐标和投影矩阵将包含二维码图像投影到二维平面上,以得到矫正后的包含二维码图像。由于二维码一般具有比较清晰的边界,基于二维码进行矫正,无需通过图像边界进行矫正,实现了对没有明显边界或边界与背景区分度不足的图像进行矫正。

2、在本发明实施例中,由于规范区域为正方形;通过将二维码区域的四个角点分别投影到正方形的四个顶点上,使四个角点的投影坐标分别对应正方形的四个顶点的坐标,通过使二维码区域投影的规整,保证包含二维码图像矫正比较规整,从而避免图像中字体变形。另外,简化了投影后的目标坐标的确定过程。

3、在本发明实施例中,由于将包含二维码图像二值化,对二值化后的包含二维码图像进行膨胀或者闭操作,并将二值化后的包含二维码图像的空洞填白;分析出至少一个连通域;预设的二维码模板与至少一个连通域进行匹配;确定能够与二维码模板匹配的连通域为二维码区域,能够保证二维码区域定位的准确性。

4、在本发明实施例中,通过针对所述二维码匹配角点图中的每一个特征匹配描述子,执行:通过最近邻搜索方式从目标图提取出的特征描述子中查找到与特征匹配描述子相匹配的k个相似特征描述子;针对k个相似特征描述子循环执行下述n1至n3,直至找到特征匹配描述子对应的目标特征描述子;n1:计算任意相邻的两个相似特征描述子的相似度;n2:当相似度不大于预设的近似系数时,从相邻的两个相似特征描述子中舍弃任一相似特征描述子,并判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子;n3:当相似度大于预设的近似系数时,计算相邻的两个相似特征描述子的平均特征描述子,并将平均特征描述子作为相似特征描述子,判断相似特征描述子的个数是否不小于1个,如果是,则执行n1;否则,将剩余的一个相似特征描述子作为目标特征描述子,即从k个相似特征描述子中找到目标特征描述子,以使目标特征描述子与待定位出的二维码的角点的特征描述子最接近,从而保证匹配的准确性,以进一步保证二维码定位的准确性。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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