蒙板矩阵的生成方法、泊车图像的合成方法及装置
技术领域
本发明涉及矩阵的生成方法、图像的融合方法及装置,尤其涉及一种蒙板矩阵的生成方法、泊车图像的融合方法及装置。
背景技术
近年来,随着人们对安全驾驶的要求不断提高,常见的普通倒车后视***已经越来越无法满足人们日常的需求。因此能够直观地向驾驶员展现车辆四周360度无死角场景画面的全景泊车***应运而生。然而,目前市面上的全景泊车***的全景图像大多只是简单地对各个方向的鸟瞰图进行图像合成,即把采集到的图像进行简单校正和变换后进行位置匹配,然后直接合成为一幅图像。然而,在各个摄像头之间的图像重叠区域,会有明显的拼接痕迹,影响用户体验。
现有技术也提出过一些针对泊车图像的合成处理方法,但是由于涉及的算法计算量很大,在实时在线的泊车图像的合成处理过程中,经常会出现处理效率低下的,导致泊车***无法实现真正的实时工作。
发明内容
本发明的目的在于提供一种蒙板矩阵的生成方法、泊车图像的合成方法及装置,以提高泊车图像的合成处理的效率。
为了实现上述发明目的,本发明提供了一种蒙板矩阵的生成方法,包括:
获取待合成的多幅第一鸟瞰图像,其中,每幅所述第一鸟瞰图像分别与一个泊车摄像机对应,所述第一鸟瞰图像的分辨率与预设的目标全景泊车图像的分辨率相同;
通过如下处理,生成与多个所述第一鸟瞰图像对应的多个蒙板矩阵:识别各所述第一鸟瞰图像的有效像素区域之间的重叠区域,计算位于重叠区域中的各所述第一鸟瞰图像的像素点的重叠权重值,并将所述蒙板矩阵中与该像素点对应的矩阵元素的元素值设为该重叠权重值,所述有效像素区域为具有实际拍摄图像的像素区域;存储生成的所述多个蒙板矩阵作为后续泊车图像合成用的***调用文件。
本发明还提供了一种泊车图像的合成方法,包括:
获取待合成的多幅相同的第二鸟瞰图像,每幅第二鸟瞰图像分别与一个泊车摄像机对应,所述第二鸟瞰图像的分辨率与预设的目标全景图像的分辨率相同;
调用预先存储的多个蒙板矩阵,在所述蒙板矩阵的矩阵元素中,存储有与所述第二鸟瞰图像的像素点对应重叠权重值,所述重叠权重值表示在最终合成的全景泊车图像中,有效像素区域之间的重叠区域的各第二鸟瞰图像的像素点的像素值所占的比重,所述有效像素区域为具有实际拍摄图像的像素区域;
将多幅所述第二鸟瞰图像中的像素值分别与所述多个蒙板矩阵对应的元素值相乘,生成多幅第三鸟瞰图像;
将所述多幅第三鸟瞰图像进行叠加合成,生成所述全景泊车图像。
本发明又提供了一种蒙板矩阵的生成装置,包括:
第一获取模块,用于获取待合成的多幅第一鸟瞰图像,其中,每幅第一鸟瞰图像分别与一个泊车摄像机对应,所述第一鸟瞰图像的分辨率与预设的目标全景泊车图像的分辨率相同;
矩阵生成模块,用于通过如下处理,生成与多个所述第一鸟瞰图像对应的多个蒙板矩阵:识别各所述第一鸟瞰图像的有效像素区域之间的重叠区域,计算位于重叠区域中的各所述第一鸟瞰图像的像素点的重叠权重值,并将所述蒙板矩阵中与该像素点对应的矩阵元素的元素值设为该重叠权重值,所述有效像素区域为具有实际拍摄图像的像素区域;
存储模块,用于存储生成的所述多个蒙板矩阵作为后续泊车图像合成用的***调用文件。
本发明再提供了泊车图像的合成装置,包括:
第二获取模块,用于获取待合成的多幅相同的第二鸟瞰图像,每幅第二鸟瞰图像分别与一个泊车摄像机对应,所述第二鸟瞰图像的分辨率与预设的目标全景图像的分辨率相同;
调用模块,用于调用预先存储的多个蒙板矩阵,在所述蒙板矩阵的矩阵元素中,存储有与所述第二鸟瞰图像的像素点对应重叠权重值,所述重叠权重值表示在最终合成的全景泊车图像中,有效像素区域之间的重叠区域的各第二鸟瞰图像中的像素点的像素值所占的比重,所述有效像素区域为具有实际拍摄图像的像素区域;
乘法模块,用于将多幅所述第二鸟瞰图像中的像素值分别与所述多个蒙板矩阵对应的元素值相乘,生成多幅第三鸟瞰图像;
合成模块,用于将所述多幅第三鸟瞰图像进行叠加合成,生成全景泊车图像。
本发明的蒙板矩阵的生成方法、泊车图像的合成方法及装置,通过在离线状态下预先生成用于泊车图像合成处理的蒙板矩阵,并将其作为***文件存储后,在后续的在线实时合成时进行应用,能够大幅度提高在线状态下的泊车图像的合成处理的效率。
附图说明
图1为本发明的全景泊车***的图像合成原理示意图之一。
图2为本发明的全景泊车***的图像合成原理示意图之二。
图3为本发明实施例一的蒙板矩阵的生成方法的流程示意图。
图4为本发明实施例一的重叠权重值计算原理示意图。
图5为本发明实施例二的泊车图像的合成方法的流程示意图。
图6为本发明实施例二的泊车图像合成处理的原理示意图;
图7为本发明实施例三的蒙板矩阵的生成装置的结构示意图;
图8为本发明实施例四的泊车图像合成处理装置的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
本发明的原理在于:在进行在线状态下的泊车图像合成处理的之前,先在离线状态下,生成用于泊车图像合成处理的蒙板矩阵,然后将该蒙板矩阵进行存储。当进行在线状态下的实时的泊车图像合成处理时,调用存储的蒙板矩阵进行图像合成处理,从而提高在线状态下泊车图像合成处理的效率。在本发明的实施例中,在线状态是指实时***运行时的工作状态,而离线状态是指测试、调试或者设置等状态,例如在出厂前或者***第一次使用时进行的初始化模式,或者调试模式等。
泊车图像的合成处理主要的应用场景如图1所示,以将4台泊车摄像机拍摄的4幅图像合成为全景泊车图像为例,4台泊车摄像机所拍摄的图像经过处理后能够生成环绕汽车四周的鸟瞰图像(中间部分为车辆的固有图像,可以认为不需要进行合成或者拼接处理),为了便于说明,将各个区域进行分别标记为区域1至4。
图像合成的基本过程如下:将4幅原始图像经过预处理后生成4幅鸟瞰图像,然后按照最终的要生成的目标全景泊车图像的大小(即目标全景图像尺寸),对4幅鸟瞰图像进行图像填充处理,生成与最终的全景泊车图像的大小相同的图像。由于4幅鸟瞰图像的任意一副都不可能拍摄到全景泊车图像中的全部内容,但是为了生成与最终的全景泊车图像的尺寸一样的图像,就需要将没有拍摄到的部分进行填充(一般填充为黑色,如图2所示),从而才能生成与全景泊车图像的尺寸相同的图像。例如,以前置的泊车摄像头为例,其拍摄到的图像仅仅为前方的区域1,但是为了生成与全景泊车图像的尺寸相同的图像,将其他几个区域对应的部分填充了黑色。同理,其他三幅图像也进行了同样的填充处理,从而形成4幅与最终全景图像待合成的图像,然后,将4张图片进行叠加融合,就能生成如图1所示的环绕汽车四周的全景泊车图像了。
此外,为了便于本发明实施例对技术方案的描述,将离线状态下处理的鸟瞰图像称作第一鸟瞰图像,将在线状态下处理的鸟瞰图像称作第二鸟瞰图像。
实施例一
如图3所示,其为本发明实施例一的蒙板矩阵的生成方法的流程示意图,本实施例的蒙板矩阵的生成方法,包括:
步骤101:获取待合成的多幅第一鸟瞰图像,其中,每幅第一鸟瞰图像分别与一个泊车摄像机对应,第一鸟瞰图像的分辨率与预设的目标全景泊车图像的分辨率相同。
步骤102:通过如下处理,生成与多个第一鸟瞰图像对应的多个蒙板矩阵:识别各第一鸟瞰图像的有效像素区域之间的重叠区域,计算位于重叠区域中的各第一鸟瞰图像的像素点的重叠权重值,并将蒙板矩阵中与该像素点对应的矩阵元素的元素值设为该重叠权重值。本发明实施例中的重叠权重值主要表示在最终合成的全景泊车图像中,各个第二鸟瞰图像中重叠的像素点的像素值所占的比重,这里所说的有效像素区域为具有实际拍摄图像的像素区域,例如图2中的区域1。
本发明实施例的蒙板矩阵,其主要的作用在于对重叠区域的像素点的像素值按照重叠权重值进行图像合成,而对于重叠区域以外的像素点不需要进行图像合成处理,因此,这部分像素点对应的蒙板矩阵上值设置为1即可,即将第一鸟瞰图像与蒙板矩阵相乘后,只改变重叠区域的像素点的像素值。
在该步骤中,重叠权重值可以平均权重法或距离权重法或角度权重法来计算。其中,角度权重法计算原理如图4所示,预设的空间排布的标定点为P1至P4,结合图1可以大致看出,图4中的点P位于前方摄像头能够拍摄的区域1和右侧摄像头能够拍摄的区域3的重叠区域中,在这种情况下,在点P处,前方摄像头拍摄第一鸟瞰图像中的像素点的重叠权重值M1(P)=sinθ,M3(P)=cosθ。距离权重法可以采用像素点距离指定边界的距离的比例值来计算权重,再如图4所示,点P距离P3和P2连线的延长线的垂直距离用L1表示,点P距离P1和P2连线的延长线的垂直距离用L2,此时,在点P处,前方摄像头拍摄第一鸟瞰图像中的像素点的重叠权重值可以为平均权重法是将点P处对应的像素点的重叠权重值等分,即M1(P)=0.5,M3(P)=0.5。以上示例性地示出了重叠权重值的几种计算方法,对于每种计算方法,可以根据实际情况进行调整,不受上述示例的限制。另外,图4所示的情形为仅有两个摄像头的拍摄区域重叠的情形,实际上,在两个以上的摄像头的拍摄区域重叠的情形也能够计算重叠权重值,只要保证同一个像素点处对应的所有像素点的重叠权重值相加等于1即可。
步骤103:存储生成的多个蒙板矩阵作为后续泊车图像合成用的***调用文件。
通过上述的步骤101至103能够生成可以重复使用的多个蒙板矩阵,这些蒙板矩阵被存储在汽车的***中后,在之后进行在线状态下的实时的泊车图像合成处理时,就可以立即调用,而不需要再重复执行图像重叠区域的识别以及图像融合处理了,从而能够提高在线状态的图像合成效率。
在实际应用中,上述的步骤102中,生成与多个第一鸟瞰图像对应的多个蒙板矩阵的处理可以具体为如下处理过程:
遍历所有第一鸟瞰图像的所有像素点进行如下处理,以生成与多幅第一鸟瞰图像分别对应的多个蒙板矩阵:
1)如果当前进行判断的第一像素点的像素值为0(该像素点呈黑色),则将与该第一鸟瞰图像对应的蒙板矩阵中的对应位置的元素值设为0或者1。
这种情况存在两种可能,一种是该像素位于被填充为黑色的区域(例如图2中的区域2至4),另一种可能是该部分对应的实际拍摄到的图像的点就是黑色。由于该像素点像素值为0,因此,蒙板矩阵对应的元素值无论设置为什么值都不会对该点像素造成影响,不过按照一般的图像处理方式,可以将元素值设为0或者1。
2)如果第一像素点的像素值不为0,且在其他所有第一鸟瞰图像中与该第一像素点的位置相同的所有第二像素点的像素值均为0,则将元素值设为1。这种情况下,该第一像素点是处于重叠区域以外的有效像素区域中。
3)如果所述第一像素点的像素值不为0,且存在像素值不为0的第二像素点,则计算该第一像素点的像素值相对于其他所述第二像素点的像素值的重叠权重值,并将第一元素值设为该重叠权重值。这种情况下,第一像素点处于重叠区域中。
上述步骤102的处理也可用如下数学模型描述:
假设步骤101中获取到N幅分辨率大小为H×W的第一幅鸟瞰图像I1(x,y),I2(x,y),…,IN(x,y),与之对应的N个蒙板矩阵分别表示为M1(x,y),M2(x,y),…,MN(x,y),其中,x,y分别为代表图像对应像素或矩阵对应的矩阵元素的行和列的坐标值,且x∈[0,H),y∈[0,W);
对于其中任一蒙板矩阵Mn(x,y),n∈[1,N],需要遍历所有第一幅鸟瞰图像In(x,y)的所有像素点,x∈[0,H],y∈[0,W],按照如下规则,对该蒙板矩阵Mn(x,y)的矩阵元素进行求值:
A)若In(x,y)=0,则令Mn(x,y)=0或者Mn(x,y)=1。在图像处理中,像素值为0代表该处为黑色。
B)若In(x,y)≠0,且其他所有Im(x,y)=0,m∈[1,N],m≠n,则令Mn(x,y)=1。
C)若In(x,y)≠0,且存在Im(x,y)≠0,则计算该幅第一鸟瞰图像在该像素点处的权重值P,并令Mn(x,y)=P。
步骤103:存储生成的多个蒙板矩阵作为后续泊车图像合成用的***文件。
进一步地,在上述步骤101中,获取待合成的多幅第一鸟瞰图像的处理可以包括:接收多个泊车摄像机拍摄的多幅第一原始图像,然后,对多幅第一原始图像进行畸变校正处理,最后,根据预设的空间排布的标定点坐标以及预设的目标全景泊车图像的分辨率和大小,对畸变校正处理后的多幅第一原始图像进行角度透视变换和图像填充处理,生成多幅第一鸟瞰图像。
本实施例的处理流程主要应用于离线状态,例如,在出厂前或者***第一次使用时进行的初始化模式下,或者在调试模式下,运行本实施例的处理流程,从而生成供在线状态使用的蒙板矩阵文件。
实施例二
图5为本发明实施例二的泊车图像的合成方法的流程示意图,如图5所示,本实施例的泊车图像的合成方法包括:
步骤201:获取待合成的多幅相同的第二鸟瞰图像,每幅第二鸟瞰图像分别与一个泊车摄像机对应,第二鸟瞰图像的分辨率与预设的目标全景图像的分辨率相同。例如,表示为I1(x,y),I2(x,y),…,IN(x,y)。
步骤202:调用预先存储的多个蒙板矩阵,在蒙板矩阵的矩阵元素中,存储有与第二鸟瞰图像的像素点对应重叠权重值,重叠权重值表示在最终合成的全景泊车图像中,有效像素区域之间的重叠区域的各第二鸟瞰图像中的像素点的像素值所占的比重。其中,这里的蒙板矩阵可以是通过上述实施例一的蒙板矩阵生成方法所生成的蒙板矩阵。具体地,结合实施例一中的示例,蒙板矩阵文件可以表示为M1(x,y),M2(x,y),…,MN(x,y)。
步骤203:将多幅第二鸟瞰图像中的像素值分别与多个蒙板矩阵对应的元素值相乘,生成多幅第三鸟瞰图像。
步骤204:将多幅第三鸟瞰图像进行叠加合成,生成全景泊车图像。上述的步骤203和步骤204的处理可以表示为:最终全景泊车图像=M1(x,y)×I1(x,y)+M2(x,y)×I2(x,y)+…+MN(x,y)×IN(x,y)。本发明实施例中所说的矩阵乘法处理只是将蒙板矩阵的各个矩阵元素与第二鸟瞰图像中的像素点进行一对一的乘法处理。
如图6所示,其为本发明实施例二的泊车图像合成处理的原理示意图,图6更加形象地示出了本实施例的处理过程,在在线处理过程中,主要应用蒙板矩阵与各个第二鸟瞰图像进行乘法处理,然后再进行合成,从而生成最终的全景泊车图像。
本实施例的泊车图像的合成方法,在在线状态下,通过调用预先生成的蒙板矩阵来进行泊车图像合成处理,其中,绝大部分工作都是矩阵乘法,不需要进行复杂的图像合成算法,因此,减小了***资源的消耗,保证了算法的实时性。
进一步地,步骤201中的获取待合成的多幅分辨率相同的第二鸟瞰图像的处理可以包括:接收多个泊车摄像机拍摄的多幅第二原始图像;对多幅第二原始图像进行畸变校正处理;根据预设的空间排布的标定点坐标以及预设的目标全景泊车图像的分辨率,对畸变校正处理后的多幅第二原始图像进行透视变换和图像填充处理,生成多幅分辨率相同的第二鸟瞰图像。
实施例三
如图7所示,其为本发明实施例三的蒙板矩阵的生成装置的结构示意图,如图7所示,本实施例的蒙板矩阵的生成装置包括:
第一获取模块11,用于获取待合成的多幅第一鸟瞰图像,其中,每幅第一鸟瞰图像分别与一个泊车摄像机对应,第一鸟瞰图像的分辨率与预设的目标全景泊车图像的分辨率相同;
矩阵生成模块12,用于通过如下处理,生成与多个第一鸟瞰图像对应的多个蒙板矩阵:识别各第一鸟瞰图像的有效像素区域之间的重叠区域,计算位于重叠区域中的各第一鸟瞰图像的像素点的重叠权重值,并将蒙板矩阵中与该像素点对应的矩阵元素的元素值设为该重叠权重值;
存储模块13,用于存储生成的多个蒙板矩阵作为后续泊车图像合成用的***调用文件。
其中,第一获取模块可以包括:
第一接收单元,用于接收多个泊车摄像机拍摄的多幅第一原始图像;
第一畸变校正单元,用于对多幅第一原始图像进行畸变校正处理;
第一鸟瞰图像生成单元,用于根据预设的空间排布的标定点坐标以及预设的目标全景泊车图像的分辨率,对畸变校正处理后的多幅第一原始图像进行透视变换和图像填充处理,生成多幅第一鸟瞰图像。
通过本实施例的蒙板矩阵的生成装置能够在离线状态下生成多个蒙板矩阵,这些蒙板矩阵被存储在汽车的***中后,在之后进行在线状态下的实时的泊车图像合成处理时,就可以立即调用,而不需要再重复执行图像重叠区域的识别以及图像融合处理了,从而能够提高在线状态的图像合成效率。
实施例四
如图8所示,其为本发明实施例四的泊车图像合成处理装置的结构示意图,如图8所示,本实施例的泊车图像合成处理装置包括:
第二获取模块21,用于获取待合成的多幅相同的第二鸟瞰图像,每幅第二鸟瞰图像分别与一个泊车摄像机对应,第二鸟瞰图像的分辨率与预设的目标全景图像的分辨率相同;
调用模块22,用于调用预先存储的多个蒙板矩阵,在蒙板矩阵的矩阵元素中,存储有与第二鸟瞰图像的像素点对应重叠权重值,有效像素区域之间的重叠权重值表示在最终合成的全景泊车图像中,重叠区域的各第二鸟瞰图像中的像素点的像素值所占的比重;
乘法模块23,用于将多幅第二鸟瞰图像中的像素值分别与多个蒙板矩阵对应的元素值相乘,生成多幅第三鸟瞰图像;
合成模块24,用于将多幅第三鸟瞰图像进行叠加合成,生成全景泊车图像。
其中,第二获取模块可以包括:
第二接收单元,用于接收多个泊车摄像机拍摄的多幅第二原始图像;
第二畸变校正单元,用于对多幅第二原始图像进行畸变校正处理;
第三鸟瞰图像生成单元,用于根据预设的空间排布的标定点坐标以及预设的目标全景泊车图像的分辨率,对畸变校正处理后的多幅第二原始图像进行透视变换和图像填充处理,生成多幅分辨率相同的第二鸟瞰图像。
本实施例的泊车图像的合成装置,在在线状态下,通过调用预先生成的蒙板矩阵来进行泊车图像合成处理,其中,绝大部分工作都是矩阵乘法,不需要进行复杂的图像合成算法,因此,减小了***资源的消耗,保证了算法的实时性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。