图像校正方法及处理器与流程

文档序号:31184027发布日期:2022-08-19 18:33阅读:56来源:国知局
图像校正方法及处理器与流程

1.本技术涉及图像处理技术领域,具体涉及一种图像校正方法及处理器。


背景技术:

2.快速响应矩阵码作为一种常用的矩阵式二维码,不仅可以应用于平面印刷品,还可以应用于各种形状物体的表面等。比如,可以将包含空调相关信息的快速响应矩阵码粘贴在空调表面,供解码设备(如手机、平板电脑等)拍摄解码得到空调相关信息。然而,快速响应矩阵码自身畸变或者解码设备的拍摄能力不足,均可能导致解码设备拍摄到畸变的快速响应矩阵码图像。为实现对畸变的快速响应矩阵码图像的解码,就需要对其进行校正。


技术实现要素:

3.本技术提供了一种图像校正方法及处理器,能够校正快速响应矩阵码图像的畸变。
4.本技术提供一种图像校正方法,包括:对一快速响应矩阵码图像进行特征点搜索,确定出快速响应矩阵码图像中的多个特征点;根据确定出的多个特征点,将快速响应矩阵码图像的编码区域划分为多个子区域;以及根据每一子区域对应的特征点,确定每一子区域的一补偿向量,并根据每一子区域的补偿向量对每一子区域进行补偿校正,得到一校正后的图像。
5.本技术提供一种处理器,所述处理器执行一计算机程序以实施一图像校正方法,其特征在于,所述图像校正方法包括:对一快速响应矩阵码图像进行特征点搜索,确定出所述快速响应矩阵码图像中的多个特征点;根据所述多个特征点,将所述快速响应矩阵码图像的一编码区域划分为多个子区域;以及,根据每一所述子区域对应的特征点,确定每一所述子区域的一补偿向量,并根据每一所述子区域的所述补偿向量对每一所述子区域进行补偿校正,得到一校正后的图像。
6.本技术通过对快速响应矩阵码图像采用分区域的向量补偿方式进行校正,能够避免不同子区域间的干扰,从而更准确地校正快速响应矩阵码图像的畸变。
附图说明
7.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
8.图1为本技术提供的图像校正方法的流程示意图。
9.图2为本技术中对快速响应矩阵码图像进行分区域的向量补偿校正得到校正后的图像的示例图。
10.图3为本技术中搜索出的特征点的示例图。
11.图4是本技术中搜索出图3所示特征点过程中搜索的寻像图形的中心点和外边缘点的示例图。
12.图5是本技术中对编码区域中同一部分的三种不同区域划分方式的示例图。
13.图6是本技术中将编码区域划分为17个子区域的示例图。
14.图7是本技术实施例提供的电子设备01的方块示意图。
具体实施方式
15.应当说明的是,本技术的原理是以实施在一适当的应用环境中来举例说明。以下的说明是通过所例示的本技术具体实施例,其不应被视为限制本技术未在此详述的其它具体实施例。
16.本技术实施例提供的方案涉及图像处理技术领域,具体涉及快速响应矩阵码图像的校正,通过下文中的实施例进行说明。请参照图1,图1为本技术实施例提供的图像校正方法流程示意图,如图1所示,该方法可以包括:
17.步骤s110,对一快速响应矩阵码图像进行特征点搜索,确定出快速响应矩阵码图像中的多个特征点。
18.以下以图像校正方法实施于一电子设备为例进行说明。此处对电子设备的实体展现形式不作具体限制,可以是智能手机、平板电脑等移动式电子设备。
19.本实施例中,电子设备包括一处理器,其藉由执行一计算机程序来实施本发明的图像校正方法,处理器可以按照配置的特征点搜索策略,对一快速响应矩阵码图像进行特征点搜索,从而确定出快速响应矩阵码图像中的多个特征点。应当说明的是,本实施例中对于特征点搜索策略的配置不作具体限制,可由本领域普通技术人员根据实际需要进行配置。比如,处理器可以通过角点检测算法,从快速响应矩阵码图像中搜索出具有角点(角点就是极值点,即某方面属性特别突出的点)特征的点作为特征点。其中,角点检测算法包括但不限于哈里斯(harris)算法、尺度不变特征变换(scale-invariant feature transform,sift)算法、加速稳健特征(speeded up robust features,surf)算法以及带旋转的二元特征(oriented fast and rotated brief,orb)算法等。
20.此外,本实施例中对于以上快速响应矩阵码图像的来源不作具体限制,比如,当电子设备配置有摄像头时,电子设备可以通过配置摄像头对快速响应矩阵码进行拍摄得到,也可由该电子设备从网络获取等。
21.步骤s120,根据多个特征点,将快速响应矩阵码图像的一编码区域划分为多个子区域。
22.其中,处理器根据配置的区域划分策略,以确定出的多个特征点为根据,将快速响应矩阵码图像的一编码区域划分为多个子区域。此处对区域划分策略的配置不作具体限制,可由本领域技术人员根据实际需要进行配置。
23.步骤s130,根据每一子区域对应的特征点,确定每一子区域的一补偿向量,并根据每一子区域的补偿向量对每一子区域进行补偿校正,得到一校正后的图像。
24.其中,处理器针对编码区域的每一子区域,通过确定的补偿向量对畸变导致的偏移进行补偿,最终得到一用于解码的校正后的图像。比如,请参照图2,处理器对一畸变的快速响应矩阵码图像进行分区域的向量补偿校正后,得到补偿了码字偏移的校正后的图像。
25.在一实施例中,搜索快速响应矩阵码图像中的多个寻像图形;以及根据多个寻像图形搜索确定出多个特征点。
26.寻像图形(又称位置探测图形、探测图形等)用于对快速响应矩阵码图像进行定位。目前的快速响应矩阵码通常包括三个寻像图形,分别位于快速响应矩阵码的三个角上,即快速响应矩阵码的左下角、左上角和右上角。比如,请参照图2,其中三个“回”型图形即为寻像图形。
27.应当说明的是,寻像图形的黑白像素比例为1:1:3:1:1,根据该特点,处理器可以搜索到快速响应矩阵码图像中的三个寻像图形。
28.示例性地,为了实现对快速响应矩阵码图像中寻像图形的搜索,处理器首先建立坐标系,比如,以快速响应矩阵码图像的左上角顶点为原点,建立像素坐标系。然后,处理器根据寻像图形的黑白像素比例为1:1:3:1:1的特点,对快速响应矩阵码图像进行扫描,从而得到其中的三个寻像图形。比如,处理器可以对快速响应矩阵码图像进行逐行扫描,也可以对快速响应矩阵码图像进行隔行扫描。其中,行指的是快速响应矩阵码图像的一行像素,此处对隔行的行数不作具体限制,可由本领域普通技术人员根据实际需要进行配置,比如,可以每隔3行对快速响应矩阵码图像进行扫描,以快速搜索出其中的三个寻像图形。
29.在一实施例中,在搜索多个特征点时,处理器以搜索确定出的多个寻像图形为根据,进一步搜索确定出多个特征点。比如,当搜索确定出三个寻像图像时,处理器以三个寻像图形为搜索对象,搜索确定出多个特征点。
30.在一实施例中,在搜索确定出多个寻像图形之后,处理器并不立即根据搜索出的多个图像图形搜索特征点,而是先根据多个寻像图形对快速响应矩阵码图像进行解码。比如,处理器可以采用透视变换的方式对快速响应矩阵码图像进行解码,若解码成功,则相应得到解码结果。若解码失败时,处理器判定快速响应矩阵码图像存在畸变,此时再根据多个寻像图形搜索确定出多个特征点,以用于对快速响应矩阵码图像的畸变校正。
31.在一实施例中,对校正后的图像进行解码,得到解码结果。
32.比如,处理器对图2所示的校正后的图像进行解码,可以得到解码结果“20210113二维码1”。
33.在一实施例中,在根据多个寻像图形搜索确定出多个特征点时,处理器可以搜索每一寻像图形靠近编码区域的多个顶点确定作为特征点,以及搜索快速响应矩阵码图像中一校正参考图形的一中心点确定作为特征点。校正参考图形类似于寻像图形,也是黑白相间的矩形块,但其黑白像素比例为1:1:1:1:1,根据该特点,处理器可以搜索到快速响应矩阵码图像中的校正参考图形,以及搜索到该校正参考图形的中心点。
34.比如,请参照图3,处理器搜索到图示快速响应矩阵码图像中左上角寻像图形靠近编码区域的右上角顶点p1、右下角顶点p4、左下角顶点p3,右上角寻像图形靠近编码区域的左上角顶点p2、左下角顶点p5、右下角顶点p6,左下角寻像图形靠近编码区域的左上角顶点p7、右上角顶点p8、右下角顶点p10,以及右下角校正参考图形的中心点p9,并将p1、p2、p3、p4、p5、p6、p7、p8、p9以及p10作为特征点。
35.应当说明的是,本实施例对于如何进行顶点搜索不作具体限制,可由本领域技术人员根据实际需要配置顶点搜索方式,比如,处理器可以通过形态学腐蚀膨胀,边缘检测和霍夫(hough)变换来搜索出每一寻像图形靠近编码区域的多个顶点,还可以通过对每一寻
像图形的边缘进行定位,计算边界方程推算出每一寻像图形靠近编码区域的多个顶点等。
36.在一实施例中,在搜索每一寻像图形靠近编码区域的多个顶点确定作为特征点时,处理器可以每一寻像图形的中心点为起始点,沿一搜索方向搜索确定每一寻像图形的一外边缘点,并以每一寻像图形的外边缘点为起始点,沿每一寻像图形的外边缘搜索确定出多个顶点。
37.实施上,搜索方向可由本领域技术人员根据实际需要进行配置,比如,可以配置x轴方向或y轴方向中任一方向作为搜索方向。
38.比如,请参照图4,以x轴方向作为搜索方向为例,针对快速响应矩阵码图像中的左上角寻像图形,处理器以该寻像图形的中心点a1为起始点,向负x轴方向搜索,确定一外边缘点b1,然后以该外边缘点b1为起始点,沿该寻像图形的外边缘搜索确定该寻像图形靠近编码区域的顶点p1、p4和p3;针对快速响应矩阵码图像中的右上角寻像图形,处理器以该寻像图形的中心点a2为起始点,向负x轴方向搜索,确定一外边缘点b2,然后以该外边缘点b2为起始点,沿该寻像图形的外边缘搜索确定该寻像图形靠近编码区域的顶点p2、p5和p6;针对快速响应矩阵码图像中的左下角寻像图形,处理器以该寻像图形的中心点a3为起始点,向负x轴方向搜索,确定一外边缘点b3,然后以该外边缘点b3为起始点,沿该寻像图形的外边缘搜索确定该寻像图形靠近编码区域的顶点p7、p8和p10。
39.在一实施例中,在以每一寻像图形的外边缘点为起始点,沿每一寻像图形的外边缘搜索确定出多个顶点时,处理器以每一寻像图形的外边缘点为起始点,通过8邻域边缘跟踪算法沿每一寻像图形的外边缘搜索确定出多个顶点。
40.其中,8邻域边缘跟踪算法也称8邻域边界跟踪算法、摩尔邻域跟踪算法等。本实施例通过采用8邻域边缘跟踪算法来跟踪每一寻像图形的外边缘实现对前前述多个顶点的搜索,能够降低搜索所需的计算量。
41.在一实施例中,多个寻像图形包括左下角寻像图形、左上角寻像图形和右上角寻像图形,在搜索校正参考图形失败时,根据左下角寻像图形的右上角顶点、左上角寻像图形的右下角顶点和右上角寻像图形的左下角顶点,搜索一定位点确定作为特征点,其中,定位点与右上角顶点、右下角顶点和左下角顶点连接构成一矩形。
42.需要说明的是,快速响应矩阵码目前包括40个版本,从21码字*21码字(版本1)到177码字*177码字(版本40),其中后一版本的快速响应矩阵码相较于前一版本的快速响应矩阵码在每边增加4个码字,比如,图2示出的快速响应矩阵码图像对应版本2的快速响应矩阵码,其为25码字*25码字。然而,并不是所有版本的快速响应矩阵码均具有校正参考图形,比如,版本1的快速响应矩阵码就不具备校正参考图形。因此,特征点搜索单元110在搜索校正参考图形时,可能搜索成功,也可能搜索失败。
43.本实施例中,处理器在搜索校正参考图形失败时,可进一步根据左下角寻像图形的右上角顶点、左上角寻像图形的右下角顶点和右上角寻像图形的左下角顶点,搜索一定位点确定作为特征点。其中,定位点与右上角顶点、右下角顶点和左下角顶点连接构成一矩形。
44.在一实施例中,在将快速响应矩阵码图像的一编码区域划分为多个子区域时,处理器以至少一特征点作为一子区域的顶点为约束条件,根据多个特征点将编码区域划分为多个子区域。此处对子区域的划分方式不作具体限制,可由本领域普通技术人员根据实际
需要进行配置。比如,请参照图5,示出了三种不同的划分方式,根据特征点p4、p5、p8以及p9,处理器可以将编码区域的中间部分划分为一个子区域(划分方式1),也可以将编码区域的中间部分划分为两个子区域(划分方式2),还可以将编码区域的中间部分划分为四个子区域(划分方式3)。
45.在一实施例中,在根据每一子区域对应的特征点,确定每一子区域的一补偿向量,并根据每一子区域的补偿向量对每一子区域进行补偿校正时,处理器根据每一子区域对应的特征点,确定每一子区域在一水平方向的一水平单位补偿向量,在一垂直方向的一垂直单位补偿向量;以及根据每一子区域的水平单位补偿向量和垂直单位补偿向量,对每一子区域进行补偿校正。
46.比如,针对一子区域,处理器将该子区域在水平方向对应的两个特征点的坐标向量除以这两个特征点之间的码字数量,得到水平单位补偿向量,及将该子区域在垂直方向对应的两个特征点的坐标向量除以这两个特征点之间的码字数量,得到垂直单位补偿向量。
47.在一实施例中,在根据每一子区域的水平单位补偿向量和垂直单位补偿向量,对每一子区域进行补偿校正时,处理器可以获取对应快速响应矩阵码图像的一匹配模板,并以每一子区域包括的特征点为起始点,根据水平单位补偿向量和垂直单位补偿向量,搜索子区域中的每一码字,并将搜索到的每一码字的像素值映射至匹配模板,得到校正后的图像。
48.其中,处理器可以识别快速响应矩阵码图像对应的快速响应矩阵码的版本号,然后根据该版本号调用对应的匹配模板。比如,请参照图4,处理器可以根据寻像图形计算出一个码字的边长占用的像素数量,再通过寻像图形的中心点a1、a2和a3的坐标计算出图4所示快速响应矩阵码的版本号,表示为:
49.v=(((a1a2+a1a3)/2+7)/s-17)/4;
50.其中,v表示版本号,a1a2表示a1到a2的坐标距离,a1a3表示a1到a3的坐标距离,s表示一个码字的边长占用的像素数量。
51.本实施例中,处理器以每一子区域包括的特征点为起始点,根据水平单位补偿向量和垂直单位补偿向量,搜索子区域中的每一码字,并将搜索到的每一码字的像素值映射至匹配模板,得到校正后的图像。
52.以下以图6所示的子区域划分方式为例,对本技术提供的向量补偿校正方式进行说明。
53.如图6所示的版本2的快速响应矩阵码图像,共搜索出10个特征点,分别为p1、p2、p3、p4、p5、p6、p7、p8、p9以及p10。其中,利用p1、p2、p4以及p5将编码区域的中上部分划分为4个子区域,分别为子区域1、子区域2、子区域3和子区域4;利用p3、p4、p7以及p8将编码区域的左中部分划分为4个子区域,分别为子区域5、子区域6、子区域10以及子区域11;利用p4、p5、p8以及p9将编码区域的中心部分划分为4个子区域,分别为子区域7、子区域8、子区域12以及子区域13;利用p5、p6、p8以及p9将编码区域的右中部分划分为2个子区域,分别为子区域9和子区域14;利用p5、p8、p9以及p10将编码区域的下中部分划分为2个子区域,分别为子区域15和子区域16;利用p5、p8以及p9将编码区域的右下部分划分为1个子区域,即子区域17。
54.以下对子区域7的向量补偿为例进行说明:
55.首先,计算子区域7的水平单位补偿向量和垂直单位补偿向量,其中,子区域7在水平方向(即x轴方向)对应的特征点为p4和p5,p4和p5之间共有11个码字,在垂直方向(即y轴方向)对应的特征点为p4和p8,p4和p8之间共有11个码字,则可以按照如下公式计算得到子区域7的水平单位补偿向量和垂直单位补偿向量:
[0056][0057][0058]
其中,表示子区域7的水平单位补偿向量,表示子区域7的垂直单位补偿向量,px表示特征点的横坐标,py表示特征点的纵坐标。
[0059]
以p4为起始点,根据水平单位补偿向量和垂直单位补偿向量搜索水平方向和垂直方向上的第一个码字spt7,可以表示为:
[0060][0061]
如上搜索到spt7的坐标后,将spt7对应的像素值映射至版本2的匹配模板中,之后继续搜索子区域7中的其它码字ept7,可以表示为:
[0062][0063]
其中,i7∈[1,n
7-1],j7∈[1,m
7-1],n7表示子区域7在水平方向的码字数量,m7表示子区域7在垂直方向的码字数量。
[0064]
如上,每次搜索到ept7后,将ept7对应的像素值映射至版本2的匹配模板中,直至完成对子区域7中所有码字的校正。
[0065]
以下对子区域12的向量补偿为例进行说明:
[0066]
类似于子区域7,区别在于不能直接根据p8和p9确定水平单位补偿向量,而是需要先确定与p9几何对应的新的特征点p11,p11可以理解为p8所在块的中心点,可以通过p4、p7和p8进行搜索,表示为:
[0067][0068][0069][0070]
其中,除了作为子区域7的垂直单位补偿向量之外,还作为子区域12的垂直单位补偿向量,此外,按照如下公式计算得到子区域12的水平单位补偿向量:
[0071][0072]
其中,表示子区域12的水平单位补偿向量。
[0073]
以p8为起始点,根据水平单位补偿向量和垂直单位补偿向量搜索水平方向和垂直方向上的第一个码字spt
12
,可以表示为:
[0074][0075]
如上搜索到spt
12
的坐标后,将spt
12
对应的像素值映射至版本2的匹配模板中,之后继续搜索子区域12中的其它码字ept
12
,可以表示为:
[0076][0077]
其中,i
12
∈[1,n
12-1],j
12
∈[1,m
12-1],n
12
表示子区域12在水平方向的码字数量,m
12
表示子区域12在垂直方向的码字数量。
[0078]
如上,每次搜索到ept
12
后,将ept
12
对应的像素值映射至版本2的匹配模板中,直至完成对子区域12中所有码字的校正。
[0079]
以下对子区域17的向量补偿为例进行说明:
[0080]
类似于子区域12,同样不能直接根据子区域17在水平方向对应的特征点p8和p9确定水平单位补偿向量,也不能根据子区域17在垂直方向对应的特征点p5和p9确定垂直单位补偿向量,而是需要先确定水平方向上与p9几何对应的新的特征点p11,以及确定垂直方向上与p9几何对应的新的特征点p12。
[0081]
p12可以理解为p5所在块的中心点,可以通过p2、p5和p6进行搜索,表示为:
[0082][0083][0084][0085]
由于p11和p9之间有12个码字,p9和p12之间也有12个码字,按照如下公式计算得到子区域17的水平单位补偿向量和垂直单位补偿向量:
[0086][0087][0088]
其中,表示子区域17的水平单位补偿向量,表示子区域17的垂直单位补偿向量。
[0089]
将p9作为第一个码字,将p9对应的像素值映射至版本2的匹配模板中,之后继续搜索子区域17中的其它码字ept
17
,可以表示为:
[0090][0091]
其中,i
17
∈[1,n
17-1],j
17
∈[1,m
17-1],n
17
表示子区域17在水平方向的码字数量,m
17
表示子区域17在垂直方向的码字数量。
[0092]
如上,每次搜索到ept
17
后,将ept
17
对应的像素值映射至版本2的匹配模板中,直至完成对子区域17中所有码字的校正。
[0093]
如上,示出了针对不同类型子区域的具体向量补偿方式,对于其它子区域,可参照以上对应类型子区域的向量补偿方式相应实施,此处不再赘述。
[0094]
应当说明的是,由于寻像图形的位置是固定的,可以直接在匹配模板中的对应填入寻像图形的像素值,最终得到完整的校正后的图像。
[0095]
请参照图7,本技术还提供一种电子设备01,包括一芯片10和一存储器20和一摄像头30,其中,
[0096]
摄像头30至少包括一镜头和图像传感器,其中镜头用于将外界的光信号投射至图像传感器,图像传感器用于将镜头投射的光信号进行光电转换,将光信号转换为可用的电信号,得到数字化的的图像。摄像头30可用于对任一快速响应矩阵码进行拍摄得到的快速响应矩阵码图像。
[0097]
芯片10,包括接口电路200和处理器100。接口电路200用于获取摄像头30拍摄的快速响应矩阵码图像,可为移动产业处理器接口(mobile industry processor interface,mipi)。处理器100可藉由执行存储器20中的计算机程序以实施本发明的图像校正方法,将接口电路200电路获取的快速响应矩阵码图像的编码区域划分为多个子区域进行补偿校正,得到校正后的图像。
[0098]
存储器20可以为高速随机存取存储器,还可以为非易失性存储器,比如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
[0099]
本领域技术人员可以理解的是,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序或指令来完成,或通过指令控制相关的硬件来完成,该计算机程序或指令可以存储于一计算机可读存储介质中,并由芯片进行加载和执行。
[0100]
以上对本技术实施例提供的图像校正方法及处理器进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术。同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1