确定单应矩阵的方法及其系统以及图像转换方法及其系统与流程

文档序号:16363289发布日期:2018-12-22 08:17阅读:293来源:国知局
确定单应矩阵的方法及其系统以及图像转换方法及其系统与流程

本发明属于计算机视觉技术领域,具体涉及一种确定单应矩阵的方法及其系统以及图像转换方法及其系统。

背景技术

鱼眼相机所采用的镜头是一种焦距为16mm或更短的并且视角接近或等于180°的镜头,这种摄影镜头的前镜片直径很短且呈抛物状向镜头前部凸出,类似鱼眼,因此这类相机被称为鱼眼相机,所采用的镜头被称为鱼眼镜头。鱼眼镜头属于超广角镜头中的一种特殊镜头,它的视角力求达到或超出人眼所能看到的范围,因此通过鱼眼镜头产生的画面效果超出了人们在实际生活中看见的景物是有规则的固定形态的范畴,导致鱼眼镜头与人们眼中的真实世界的景象存在很大的差别。而普通相机采用的平面镜头产生的画面效果几乎接近于人们眼中的真实世界的景象,因此,鱼眼相机成像的图像与普通相机成像的图像之间也存在很大的差别。

为了将鱼眼相机成像的图像还原成人眼中的正常图像,可以对鱼眼相机成像的图像进行变换处理,使其尽量与普通相机成像的图像重合。这种将鱼眼相机成像的图像还原成人眼中的正常图像的技术,在实际应用中具有很广泛的前景,例如,通过鱼眼图像与普通相机拍摄的照片进行比对来识别目标人脸,或者,通过拼接多幅鱼眼相机成像的图像或者多幅鱼眼相机成像的图像和普通相机成像的图像达到类似全景拍摄的效果。

在计算机视觉中,平面的单应性被定义为从一个平面到另一个平面的投影映射,该映射关系一般采用单应矩阵来表示。目前在对鱼眼相机成像的图像进行转换处理,使其尽量与普通相机成像的图像重合时,主要是通过提取关键点进行匹配来估计一个单一的单应矩阵。虽然通过一个单一的单应矩阵可以得到视觉上看起来效果还不错的变换图像,但是这种变换图像的重合精度很难满足高层次的图像任务,其原因在于鱼眼相机的成像模型。通常鱼眼相机的成像模型以等距投影模型来描述。在工业生产中,鱼眼相机不可能完全按照等距投影模型来生产。鱼眼相机的标定,通常采用多项式来逼近鱼眼相机的真实模型。这种逼近导致标定后的图像总会与普通相机成像的图像存在着差异,而且这种差异很难用一个单一的单应矩阵来弥补,导致鱼眼相机成像的图像重合精准度较低。



技术实现要素:

为了解决上述鱼眼相机成像的图像重合精准度较低的技术问题,本发明实施例提出了一种确定单应矩阵的方法及其系统以及图像转换方法及其系统。

一种确定单应矩阵的方法,该方法包括以下步骤:

图像区域划分步骤:对鱼眼图像和参考图像进行相同的区域划分,并使划分后的鱼眼图像中的子区域与参考图像中的相应子区域的尺寸大小相同,其中,所述鱼眼图像和参考图像成像的场景相同,并且所述鱼眼图像和参考图像的尺寸大小相同;

初始子区域的单应矩阵求解步骤:选择鱼眼图像中的一个子区域作为初始子区域,根据参考图像中与该子区域相应的子区域,计算该初始子区域的单应矩阵;

其余子区域的单应矩阵求解步骤:以初始子区域为中心,依次向外计算其余子区域的单应矩阵。

进一步地,所述鱼眼图像来源于鱼眼相机成像的图像,所述参考图像来源于采用平面镜头的普通相机成像的图像,所述初始子区域为鱼眼相机光轴中心所在的一个子区域;并且在所述其余子区域的单应矩阵求解步骤中,先根据初始子区域的单应矩阵,计算与初始子区域相邻的子区域的单应矩阵;然后再根据已计算出单应矩阵的子区域的单应矩阵,计算与所述已计算出单应矩阵的子区域相邻且需要计算单应矩阵的子区域的单应矩阵;

如果需要计算单应矩阵的子区域存在多个相邻的且已计算出单应矩阵的子区域时,选取其中任意一个相邻的且已计算出单应矩阵的子区域,根据所述选取出的子区域的单应矩阵,计算需要计算单应矩阵的子区域的单应矩阵。

进一步地,以f1(x,y)表示已计算出单应矩阵的子区域,以f1(v,w)表示与该已计算出单应矩阵的子区域f1(x,y)相邻且需要计算单应矩阵的相邻子区域,以i1(v,w)表示参考图像中与子区域f1(v,w)相应的子区域,所述根据已计算出单应矩阵的子区域的单应矩阵,计算与所述已计算出单应矩阵的子区域相邻且需要计算单应矩阵的子区域的单应矩阵包括:

步骤s131:根据子区域f1(x,y)的单应矩阵h(x,y)对子区域f1(v,w)进行变换,得到子区域f2(v,w),计算子区域f2(v,w)及子区域i1(v,w)的均方误差值md;设定迭代次数k、初始最优变换矩阵e和计数器c的初始值;

步骤s132:计数器c的值加1,对最优变换矩阵e进行随机扰动变换,得到随机扰动变换矩阵e’;使用随机扰动变换矩阵e’对子区域f2(v,w)进行变换,生成子区域f3(v,w);计算子区域f3(v,w)及子区域i1(v,w)的均方误差值d;比较均方误差值d和均方误差值md的大小,若d<md,则将均方误差值md更新为均方误差d,将最优变换矩阵e更新为随机扰动变换矩阵e’,执行下一步骤;若d≥md,则直接执行下一步骤;

步骤s133:判断计数器c的值是否小于设定的迭代次数k,如果是,则返回步骤s132继续执行;如果否,则输出最优变换矩阵e;

步骤s134:根据已计算出单应矩阵的子区域的单应矩阵h(x,y)和所述输出的最优变换矩阵e,计算相邻子区域f1(v,w)的单应矩阵h(v,w),h(v,w)=h(x,y)*e。

进一步地,在所述步骤图像区域划分步骤之前,该方法还包括:

鱼眼图像生成步骤:对原始鱼眼图像进行矫正,生成鱼眼图像;

图像粗匹配步骤:以鱼眼图像为基准,对原始参考图像进行匹配变换,生成所述参考图像。

一种图像转换方法,该方法包括:

子区域图像变换步骤:分别根据如前任一项所述确定方法确定的每个子区域的单应矩阵,对鱼眼图像进行变换,得到变换后的图像,在变换后的图像中截取与该子区域相对应的区域,作为该子区域的变换子区域;

子区域边界融合步骤:将各个变换子区域拼接并进行边界融合,生成目标图像。

进一步地,在变换后的图像中截取的区域比子区域的尺寸大。

一种确定单应矩阵的系统,该系统包括:图像区域划分模块、第一单应矩阵求解模块和第二单应矩阵求解模块;

所述图像区域划分模块用于对鱼眼图像和参考图像进行相同的区域划分,并使划分后的鱼眼图像中的子区域与参考图像中的相应子区域的尺寸大小相同,所述鱼眼图像和参考图像成像的场景相同,并且所述鱼眼图像和参考图像的尺寸大小相同;

所述第一单应矩阵求解模块用于选择鱼眼图像中的一个子区域作为初始子区域,根据参考图像中与该子区域相应的子区域,计算该初始子区域的单应矩阵;

所述第二单应矩阵求解模块用于以初始子区域为中心,依次向外计算其余子区域的单应矩阵。

进一步地,所述鱼眼图像来源于鱼眼相机成像的图像,所述参考图像来源于采用平面镜头的普通相机成像的图像,所述初始子区域为鱼眼相机光轴中心所在的一个子区域;并且所述第二单应矩阵求解模块在计算其余子区域的单应矩阵时,先根据初始子区域的单应矩阵,计算与初始子区域相邻的子区域的单应矩阵;然后再根据已计算出单应矩阵的子区域的单应矩阵,计算与所述已计算出单应矩阵的子区域相邻且需要计算单应矩阵的子区域的单应矩阵;

如果需要计算单应矩阵的子区域存在多个相邻的且已计算出单应矩阵的子区域时,选取其中任意一个相邻的且已计算出单应矩阵的子区域,根据所述选取出的子区域的单应矩阵,计算需要计算单应矩阵的子区域的单应矩阵。

进一步地,以f1(x,y)表示已计算出单应矩阵的子区域,以f1(v,w)表示与该已计算出单应矩阵的子区域f1(x,y)相邻且需要计算单应矩阵的相邻子区域,以i1(v,w)表示参考图像中与子区域f1(v,w)相应的子区域,所述第二单应矩阵求解模块根据已计算出单应矩阵的子区域的单应矩阵,计算与所述已计算出单应矩阵的子区域相邻且需要计算单应矩阵的子区域的单应矩阵包括:

首先,根据已计算出单应矩阵的子区域f1(x,y)的单应矩阵h(x,y)对相邻子区域f1(v,w)进行变换,得到子区域f2(v,w),计算子区域f2(v,w)及子区域i1(v,w)的均方误差值md;设定迭代次数k、初始最优变换矩阵e和计数器c的初始值;

其次,计数器c的值加1,对最优变换矩阵e进行随机扰动变换,得到随机扰动变换矩阵e’;使用随机扰动变换矩阵e’对子区域f2(v,w)进行变换,生成子区域f3(v,w);计算子区域f3(v,w)及子区域i1(v,w)的均方误差值d;比较均方误差值d和均方误差值md的大小,若d<md,则将均方误差值md更新为均方误差d,将最优变换矩阵e更新为随机扰动变换矩阵e’,执行下一步骤;若d≥md,则直接执行下一步骤;

再次,判断计数器c的值是否小于设定的迭代次数k,如果是,则返回上一步骤继续执行;如果否,则输出最优变换矩阵e;

然后,根据已计算出单应矩阵的子区域的单应矩阵h(x,y)和所述输出的最优变换矩阵e,计算相邻子区域f1(v,w)的单应矩阵h(v,w),h(v,w)=h(x,y)*e。

一种图像转换系统,所述系统包括:

子区域图像变换模块,用于分别根据如前任一项所述的确定方法确定的每个子区域的单应矩阵,对鱼眼图像进行变换,得到变换后的图像,在变换后的图像中截取与该子区域相对应的区域,作为该子区域的变换子区域;

子区域边界融合模块,用于将各个变换子区域拼接并进行边界融合,生成目标图像。

进一步地,所述系统还包括如前所述的确定单应矩阵的系统,用于确定每个子区域的单应矩阵。

本发明的有益效果:

本发明实施例提出的确定单应矩阵的方法及其系统以及图像转换方法及其系统,采用分区域并且每个子区域各自对应一个单应矩阵的方式,图像重合精准度高,避免了现有技术中整幅鱼眼图像只采用一个单应矩阵,导致鱼眼相机成像的图像重合精准度较低的问题。

本发明实施例通过对鱼眼图像进行分区,以普通相机成像的图像为参考图像,计算每个子区域的单应矩阵,可以有效提高图像重合精准度。

本发明实施例以已计算出单应矩阵的子区域作为基准,求解其相邻的需要计算单应矩阵的子区域的单应矩阵的方式,不断向外传播,直到每个子区域的单应矩阵都被求解出,这种求解方式有效减少了计算量,并且有助于提高计算准确度。另外,由于相邻子区域的单应矩阵相差不大,因此本发明实施例通过单位矩阵扰动来估计需要计算单应矩阵的子区域的单应矩阵,既简化了计算过程,又提高了图像重合精准度。

本发明实施例在所有子区域都求解得到相应的单应矩阵后,按区域对鱼眼图像进行变换,并截取相应的尺寸略大于子区域的变换子区域,通过拼接融合,生成重合精准度高的图像。

附图说明

图1是本发明实施例提出的确定单应矩阵的方法流程图;

图2是本发明实施例提出的单应矩阵求解方法的流程示意图;

图3是本发明实施例提出的确定单应矩阵的系统的结构框图;

图4是本发明实施例提出的图像转换方法的流程图;

图5是本发明实施例提出的图像转换系统的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。但本领域技术人员知晓,本发明并不局限于附图和以下实施例。

实施例1:

本发明实施例1提出了一种确定单应矩阵的方法,如图1所示,该方法包括以下步骤:

步骤s11、图像区域划分:对鱼眼图像f1和参考图像i1进行相同的区域划分,并使划分后的鱼眼图像f1中的子区域与参考图像i1中的相应子区域的尺寸大小相同,其中,鱼眼图像f1来源于鱼眼相机成像的图像,参考图像i1来源于采用平面镜头的普通相机成像的图像,鱼眼图像f1和参考图像i1成像的内容相同,并且鱼眼图像f1和参考图像i1的尺寸大小相同。

假设将鱼眼图像f1和参考图像i1分别划分为m行n列,那么每个图像按行列计算共有m*n个尺寸大小相同的子区域,m和n均为大于等于1的自然数,但m和n不同时为1;采用i1(i,j)表示参考图像i1上第i行第j列的子区域,采用f1(i,j)表示鱼眼图像f1上第i行第j列的子区域,其中,1≤i≤m,1≤j≤n。

步骤s12、初始子区域的单应矩阵求解:选择鱼眼图像f1中的一个子区域作为初始子区域,根据参考图像中与该子区域相应的子区域,计算该初始子区域的单应矩阵。

由于鱼眼相机光轴中心区域的成像畸变最小,匹配计算的精度最高,因此优选地,选择鱼眼相机光轴中心所在的一个子区域作为初始子区域,如果鱼眼相机光轴中心仅位于一个子区域中,则该子区域为初始子区域;如果鱼眼相机光轴中心位于多个子区域,选择其中一个子区域作为初始子区域即可。鱼眼相机光轴在鱼眼图像f1中的位置,可以根据鱼眼相机参数得到。

假设初始子区域为f1(p,q),以子区域i1(p,q)为基准,计算初始子区域f1(p,q)和子区域i1(p,q)的单应矩阵h(p,q),其中,1≤p≤m,1≤q≤n。初始子区域f1(p,q)的单应矩阵h(p,q)可以通过现有的匹配技术或者通过手动标点计算获得。

步骤s13、其余子区域的单应矩阵求解:以初始子区域f1(p,q)为中心,依次向外计算其余子区域的单应矩阵,即,先根据初始子区域的单应矩阵,计算与初始子区域相邻的子区域的单应矩阵;然后再根据已计算出单应矩阵的子区域的单应矩阵,计算与所述已计算出单应矩阵的子区域相邻且需要计算单应矩阵的子区域的单应矩阵。为节约计算资源,提高求解效率,原则上每个子区域的单应矩阵一般来说只计算一次,因此,如果需要计算单应矩阵的子区域存在多个相邻的且已计算出单应矩阵的子区域时,选取其中任意一个相邻的且已计算出单应矩阵的子区域,根据所述选取出的子区域的单应矩阵,计算需要计算单应矩阵的子区域的单应矩阵。

为方便描述,以f1(x,y)表示鱼眼图像f1中已计算出单应矩阵的子区域,以f1(v,w)表示鱼眼图像f1中与该已计算出单应矩阵的子区域f1(x,y)相邻且需要计算单应矩阵的子区域,以i1(v,w)表示参考图像i1中与子区域f1(v,w)相应的子区域,来说明所述根据已计算出单应矩阵的子区域的单应矩阵,计算与所述已计算出单应矩阵的子区域相邻且需要计算单应矩阵的子区域的单应矩阵的方法,这里的x与v相等或者相差为1,y与w相等或者相差为1,但x和y不能同时分别与v和w相等。该方法如图2所示,包括:

步骤s131:根据已计算出单应矩阵的子区域f1(x,y)的单应矩阵h(x,y)对子区域f1(v,w)进行变换,得到子区域f2(v,w),计算子区域f2(v,w)及子区域i1(v,w)的均方误差值md;设定迭代次数k、初始最优变换矩阵e和计数器c的初始值,其中,迭代次数可以由系统设定,也可以由使用者设定,k为自然数,初始最优变换矩阵e为单位矩阵,计数器c的初始值一般设为0;

步骤s132:计数器c的值加1,对最优变换矩阵e进行随机扰动变换,得到随机扰动变换矩阵e’;使用随机扰动变换矩阵e’对子区域f2(v,w)进行变换,生成子区域f3(v,w);计算子区域f3(v,w)及子区域i1(v,w)的均方误差值d;比较均方误差值d和均方误差值md的大小,若d<md,则将均方误差值md更新为均方误差d,将最优变换矩阵e更新为随机扰动变换矩阵e’,执行下一步骤;若d≥md,则直接执行下一步骤;

原则上,相邻两个子区域的单应矩阵相差较小,因此可以通过单位矩阵扰动来计算需要计算的相邻子区域的单应矩阵。

步骤s133:判断计数器c的值是否小于设定的迭代次数k,如果是,表明未达到设定的迭代次数,需要继续迭代,则返回步骤s132继续执行;如果否,表明达到设定的迭代次数,终止迭代,则输出最优变换矩阵e;

步骤s134:根据已计算出单应矩阵的子区域的单应矩阵h(x,y)和所述输出的最优变换矩阵e,计算相邻子区域f1(v,w)的单应矩阵h(v,w),h(v,w)=h(x,y)*e。

经过以上求解步骤,可以求解出每个其余子区域的单应矩阵。

在本实施例中,鱼眼图像f1被划分m*n个子区域,每个子区域对应一个单应矩阵,因此,对鱼眼图像f1来说,就存在m*n个单应矩阵。

进一步地,在所述步骤s11之前,该确定单应矩阵的方法还可以包括步骤s01、鱼眼图像生成:对原始鱼眼图像f0进行矫正,生成鱼眼图像f1。原始鱼眼图像f0是由鱼眼相机成像得到的图像。

所述鱼眼图像矫正可以采用相机标定算法对鱼眼相机进行标定,根据鱼眼相机的标定参数对原始鱼眼图像f0进行矫正,生成鱼眼图像f1。

更进一步地,为了让鱼眼图像f1和参考图像i1尽可能重合,在步骤s01之后,所述步骤s11之前,该确定单应矩阵的方法还可以包括步骤s02、图像粗匹配:以鱼眼图像f1为基准,对原始参考图像i0进行匹配变换,生成参考图像i1。

所述图像粗匹配主要是图像内容的粗匹配,例如可以采用提取关键点及特征描述子的方法,对鱼眼图像f1与原始参考图像i0进行匹配,计算变换矩阵t;以鱼眼图像f1为基准,根据变换矩阵t对原始参考图像i0进行变换,生成参考图像i1;通过边界裁剪,使得参考图像i1与鱼眼图像f1的尺寸大小相同。

本发明实施例提出的确定单应矩阵的方法,采用分区域并且每个子区域各自对应一个单应矩阵的方式,避免了现有技术中整幅鱼眼图像只采用一个单应矩阵,导致鱼眼相机成像的图像重合精准度较低的问题。

本发明实施例通过对鱼眼图像进行分区,以普通相机成像的图像为参考图像,计算每个子区域的单应矩阵,可以有效提高图像重合精准度。

本发明实施例以鱼眼图像中畸变最小的子区域作为初始子区域,可以有效提高匹配计算的精度和图像重合精准度。并且本发明实施例以已计算出单应矩阵的子区域作为基准,求解其相邻的需要计算单应矩阵的子区域的单应矩阵的方式,不断向外传播,直到每个子区域的单应矩阵都被求解出,这种求解方式有效减少了计算量,并且有助于提高计算准确度。另外,由于相邻子区域的单应矩阵相差不大,因此本发明实施例通过单位矩阵扰动来估计需要计算单应矩阵的子区域的单应矩阵,既简化了计算过程,又提高了图像重合精准度。

本发明实施例1还提出了一种确定单应矩阵的系统,如图3所示,该系统包括:图像区域划分模块31、第一单应矩阵求解模块32和第二单应矩阵求解模块33。

所述图像区域划分模块31用于对鱼眼图像f1和参考图像i1进行相同的区域划分,并使划分后的鱼眼图像f1中的子区域与参考图像i1中的相应子区域的尺寸大小相同,其中,鱼眼图像f1来源于鱼眼相机成像的图像,参考图像i1来源于采用平面镜头的普通相机成像的图像,鱼眼图像f1和参考图像i1成像的内容相同,并且鱼眼图像f1和参考图像i1的尺寸大小相同。

假设将鱼眼图像f1和参考图像i1分别划分为m行n列,那么每个图像按行列计算共有m*n个尺寸大小相同的子区域,m和n均为大于等于1的自然数,但m和n不同时为1;采用i1(i,j)表示参考图像i1上第i行第j列的子区域,采用f1(i,j)表示鱼眼图像f1上第i行第j列的子区域,其中,1≤i≤m,1≤j≤n。

所述第一单应矩阵求解模块32用于选择鱼眼图像f1中的一个子区域作为初始子区域,根据参考图像中与该子区域相应的子区域,计算该初始子区域的单应矩阵。

由于鱼眼相机光轴中心区域的成像畸变最小,匹配计算的精度最高,因此优选地,选择鱼眼相机光轴中心所在的一个子区域作为初始子区域,如果鱼眼相机光轴中心仅位于一个子区域中,则该子区域为初始子区域;如果鱼眼相机光轴中心位于多个子区域,选择其中一个子区域作为初始子区域即可。鱼眼相机光轴在鱼眼图像f1中的位置,可以根据鱼眼相机参数得到。

假设初始子区域为f1(p,q),以子区域i1(p,q)为基准,计算初始子区域f1(p,q)和子区域i1(p,q)的单应矩阵h(p,q),其中,1≤p≤m,1≤q≤n。初始子区域f1(p,q)的单应矩阵h(p,q)可以通过现有的匹配技术或者通过手动标点计算获得。

所述第二单应矩阵求解模块33用于以初始子区域f1(p,q)为中心,依次向外计算其余子区域的单应矩阵,即,先根据初始子区域的单应矩阵,计算与初始子区域相邻的子区域的单应矩阵;然后再根据已计算出单应矩阵的子区域的单应矩阵,计算与所述已计算出单应矩阵的子区域相邻且需要计算单应矩阵的子区域的单应矩阵。为节约计算资源,提高求解效率,原则上每个子区域的单应矩阵一般来说只计算一次,因此,如果需要计算单应矩阵的子区域存在多个相邻的且已计算出单应矩阵的子区域时,选取其中任意一个相邻的且已计算出单应矩阵的子区域,根据所述选取出的子区域的单应矩阵,计算需要计算单应矩阵的子区域的单应矩阵。

为方便描述,以f1(x,y)表示鱼眼图像f1中已计算出单应矩阵的子区域,以f1(v,w)表示鱼眼图像f1中与该已计算出单应矩阵的子区域f1(x,y)相邻且需要计算单应矩阵的子区域,以i1(v,w)表示参考图像i1中与子区域f1(v,w)相应的子区域,来说明所述第二单应矩阵求解模块33根据已计算出单应矩阵的子区域的单应矩阵,计算与所述已计算出单应矩阵的子区域相邻且需要计算单应矩阵的子区域的单应矩阵的过程,可参考图2,这里的x与v相等或者相差为1,y与w相等或者相差为1,但x和y不能同时分别与v和w相等。

首先,根据已计算出单应矩阵的子区域f1(x,y)的单应矩阵h(x,y)对子区域f1(v,w)进行变换,得到子区域f2(v,w),计算子区域f2(v,w)及子区域i1(v,w)的均方误差值md;设定迭代次数k、初始最优变换矩阵e和计数器c的初始值,其中,迭代次数可以由系统设定,也可以由使用者设定,k为自然数,初始最优变换矩阵e为单位矩阵,计数器c的初始值一般设为0;

其次,计数器c的值加1,对最优变换矩阵e进行随机扰动变换,得到随机扰动变换矩阵e’;使用随机扰动变换矩阵e’对子区域f2(v,w)进行变换,生成子区域f3(v,w);计算子区域f3(v,w)及子区域i1(v,w)的均方误差值d;比较均方误差值d和均方误差值md的大小,若d<md,则将均方误差值md更新为均方误差d,将最优变换矩阵e更新为随机扰动变换矩阵e’,执行下一步骤;若d≥md,则直接执行下一步骤;

原则上,相邻两个子区域的单应矩阵相差较小,因此可以通过单位矩阵扰动来计算需要计算的相邻子区域的单应矩阵。

再次,判断计数器c的值是否小于设定的迭代次数k,如果是,表明未达到设定的迭代次数,需要继续迭代,则返回上一步骤继续执行;如果否,表明达到设定的迭代次数,终止迭代,则输出最优变换矩阵e;

然后,根据已计算出单应矩阵的子区域的单应矩阵h(x,y)和所述输出的最优变换矩阵e,计算相邻子区域f1(v,w)的单应矩阵h(v,w),h(v,w)=h(x,y)*e。

所述第二单应矩阵求解模块33可以求解出每个其余子区域的单应矩阵。

在本实施例中,鱼眼图像f1被划分m*n个子区域,每个子区域对应一个单应矩阵,因此,对鱼眼图像f1来说,就存在m*n个单应矩阵。

进一步地,该确定单应矩阵的系统还可以包括鱼眼图像生成模块a,用于对原始鱼眼图像f0进行矫正,生成鱼眼图像f1。原始鱼眼图像f0是由鱼眼相机成像得到的图像。

所述鱼眼图像生成模块a可以采用相机标定算法对鱼眼相机进行标定,根据鱼眼相机的标定参数对原始鱼眼图像f0进行矫正,生成鱼眼图像f1。

更进一步地,为了让鱼眼图像f1和参考图像i1尽可能重合,该确定单应矩阵的方法还可以包括图像粗匹配模块b,用于以鱼眼图像f1为基准,对原始参考图像i0进行匹配变换,生成参考图像i1。

所述图像粗匹配模块b主要是对图像内容的粗匹配,例如可以采用提取关键点及特征描述子的方法,对鱼眼图像f1与原始参考图像i0进行匹配,计算变换矩阵t;以鱼眼图像f1为基准,根据变换矩阵t对原始参考图像i0进行变换,生成参考图像i1;通过边界裁剪,使得参考图像i1与鱼眼图像f1的大小相同。

本发明实施例提出的确定单应矩阵的系统,采用分区域并且每个子区域各自对应一个单应矩阵的方式,避免了现有技术中整幅鱼眼图像只采用一个单应矩阵,导致鱼眼相机成像的图像重合精准度较低的问题。

本发明实施例通过对鱼眼图像进行分区,以普通相机成像的图像为参考图像,计算每个子区域的单应矩阵,可以有效提高图像重合精准度。

本发明实施例以鱼眼图像中畸变最小的子区域作为初始子区域,可以有效提高匹配计算的精度和图像重合精准度。并且本发明实施例以已计算出单应矩阵的子区域作为基准,求解其相邻的需要计算单应矩阵的子区域的单应矩阵的方式,不断向外传播,直到每个子区域的单应矩阵都被求解出,这种求解方式有效减少了计算量,并且有助于提高计算准确度。另外,由于相邻子区域的单应矩阵相差不大,因此本发明实施例通过单位矩阵扰动来估计需要计算单应矩阵的子区域的单应矩阵,既简化了计算过程,又提高了图像重合精准度。

实施例2:

本发明实施例2还提出了一种图像转换方法,如图4所示,该方法包括以下步骤:

步骤s41、确定单应矩阵:确定鱼眼图像f1中每个子区域的单应矩阵;

所述步骤s41确定单应矩阵的方法与实施例1中记载的确定单应矩阵的方法的内容相同,在此不再赘述。

步骤s42、子区域图像变换:分别根据每个子区域的单应矩阵,对鱼眼图像f1进行变换,得到变换后的图像f4,在变换后的图像f4中截取与该子区域相对应的区域,作为该子区域在变换子区域。为了避免各个截取的区域在拼接时,在边界处的图像内容不能顺利衔接,优选地,截取的区域比子区域的尺寸大,使得截取的区域在边界处的图像内容有重叠,从而可以通过后续的边界融合处理,来消除边界处图像内容不能顺利衔接的问题。

例如,初始子区域f1(p,q)的单应矩阵为h(p,q),假设根据h(p,q)对鱼眼图像f1进行变换,得到变换后的图像f4。通过裁剪,使得变换后的图像f4与鱼眼图像f1的尺寸大小相同,当然,由于变换后的图像f4与鱼眼图像f1的尺寸差异并不会影响后续的操作,因此此处的裁剪步骤也可以省略。在变换后的图像f4中截取与初始子区域f1(p,q)相对应且尺寸略大于初始子区域f1(p,q)的一个区域,作为初始子区域f1(p,q)的变换子区域n(p,q)。因为截取的区域比子区域的尺寸大,所以变换子区域n(p,q)与相邻的变换子区域在图像内容上有重叠,这样就可以通过后续的边界融合处理,来消除边界处图像内容不能顺利衔接的问题。

步骤s43、子区域边界融合:将各个变换子区域拼接并进行边界融合,使得生成的目标图像能够尽量与参考图像i1重合。

所述边界融合是为了防止因每个子区域各自采用一个单应矩阵进行变换而可能导致变换子区域的边界处图像不协调,而采取的处理手段。所述边界融合可以采用传统的羽化操作对区域边界进行融合,生成边界处图像协调的目标图像。

本发明实施例提出的图像转换方法,采用分区域并且每个子区域各自对应一个单应矩阵的方式,避免了现有技术中整幅鱼眼图像只采用一个单应矩阵,导致鱼眼相机成像的图像重合精准度较低的问题。

本发明实施例通过对鱼眼图像进行分区,以普通相机成像的图像为参考图像,计算每个子区域的单应矩阵,可以有效提高图像重合精准度。

本发明实施例以鱼眼图像中畸变最小的子区域作为初始子区域,可以有效提高匹配计算的精度和图像重合精准度。并且本发明实施例以已计算出单应矩阵的子区域作为基准,求解其相邻的需要计算单应矩阵的子区域的单应矩阵的方式,不断向外传播,直到每个子区域的单应矩阵都被求解出,这种求解方式有效减少了计算量,并且有助于提高计算准确度。另外,由于相邻子区域的单应矩阵相差不大,因此本发明实施例通过单位矩阵扰动来估计需要计算单应矩阵的子区域的单应矩阵,既简化了计算过程,又提高了图像重合精准度。

本发明实施例在所有子区域都求解得到相应的单应矩阵后,按区域对鱼眼图像进行变换,并截取相应的尺寸略大于子区域的变换子区域,通过拼接融合,生成高精度重合参考图像的目标图像。

本发明实施例提出的图像转换方法可以应用于训练图像增强的样本。

本发明实施例2还提出了一种图像转换系统,如图5所示,该图像转换系统包括实施例1提出的确定单应矩阵的系统51,还包括子区域图像变换模块52和子区域边界融合模块53。

所述确定单应矩阵的系统51的内容与实施例1中记载的确定单应矩阵的系统的内容相同,在此不再赘述。

所述子区域图像变换模块52用于分别根据每个子区域的单应矩阵,对鱼眼图像f1进行变换,得到变换后的图像f4,在变换后的图像f4中截取与该子区域相对应的区域,作为该子区域在变换子区域。为了避免各个截取的区域在拼接时,在边界处的图像内容不能顺利衔接,优选地,截取的区域比子区域的尺寸大,使得截取的区域在边界处的图像内容有重叠,从而可以通过后续的边界融合处理,来消除边界处图像内容不能顺利衔接的问题。

例如,初始子区域f1(p,q)的单应矩阵为h(p,q),假设根据h(p,q)对鱼眼图像f1进行变换,得到变换后的图像f4。通过裁剪,使得变换后的图像f4与鱼眼图像f1的尺寸大小相同,当然,由于变换后的图像f4与鱼眼图像f1的尺寸差异并不会影响后续的操作,因此此处的裁剪步骤也可以省略。在变换后的图像f4中截取与初始子区域f1(p,q)相对应且尺寸略大于初始子区域f1(p,q)的一个区域,作为初始子区域f1(p,q)的变换子区域n(p,q)。因为截取的区域比子区域的尺寸大,所以变换子区域n(p,q)与相邻的变换子区域在图像内容上有重叠,这样就可以通过后续的边界融合处理,来消除边界处图像内容不能顺利衔接的问题。

所述子区域边界融合53用于将各个变换子区域拼接并进行边界融合,使得生成的目标图像能够尽量与参考图像i1重合。

所述边界融合是为了防止因每个子区域各自采用一个单应矩阵进行变换而可能导致变换子区域的边界处图像不协调,而采取的处理手段。所述边界融合可以采用传统的羽化操作对区域边界进行融合,生成边界处图像协调的目标图像。

本发明实施例提出的图像转换系统,采用分区域并且每个子区域各自对应一个单应矩阵的方式,避免了现有技术中整幅鱼眼图像只采用一个单应矩阵,导致鱼眼相机成像的图像重合精准度较低的问题。

本发明实施例通过对鱼眼图像进行分区,以普通相机成像的图像为参考图像,计算每个子区域的单应矩阵,可以有效提高图像重合精准度。

本发明实施例以鱼眼图像中畸变最小的子区域作为初始子区域,可以有效提高匹配计算的精度和图像重合精准度。并且本发明实施例以已计算出单应矩阵的子区域作为基准,求解其相邻的需要计算单应矩阵的子区域的单应矩阵的方式,不断向外传播,直到每个子区域的单应矩阵都被求解出,这种求解方式有效减少了计算量,并且有助于提高计算准确度。另外,由于相邻子区域的单应矩阵相差不大,因此本发明实施例通过单位矩阵扰动来估计需要计算单应矩阵的子区域的单应矩阵,既简化了计算过程,又提高了图像重合精准度。

本发明实施例在所有子区域都求解得到相应的单应矩阵后,按区域对鱼眼图像进行变换,并截取相应的尺寸略大于子区域的变换子区域,通过拼接融合,生成与参考图像高精度重合的目标图像。

本发明实施例提出的图像转换系统可以应用于训练图像增强的样本。

实施例3:

本发明实施例3还提出了一种图像转换系统,本实施例3提出的图像转换系统与实施例2提出的图像转换系统的不同在于,本实施例3中的图像转换系统可以不包括确定单应矩阵的系统,实施例2中图像转换系统包括确定单应矩阵的系统。

本发明实施例3提出的该图像转换系统包括子区域图像变换模块和子区域边界融合模块。

所述子区域图像变换模块用于分别根据前述确定单应矩阵的方法确定的每个子区域的单应矩阵,对鱼眼图像f1进行变换,得到变换后的图像f4,在变换后的图像f4中截取与该子区域相对应的区域,作为该子区域在变换子区域。为了避免各个截取的区域在拼接时,在边界处的图像内容不能顺利衔接,优选地,截取的区域比子区域的尺寸大,使得截取的区域在边界处的图像内容有重叠,从而可以通过后续的边界融合处理,来消除边界处图像内容不能顺利衔接的问题。

例如,初始子区域f1(p,q)的单应矩阵为h(p,q),假设根据h(p,q)对鱼眼图像f1进行变换,得到变换后的图像f4。通过裁剪,使得变换后的图像f4与鱼眼图像f1的尺寸大小相同,当然,由于变换后的图像f4与鱼眼图像f1的尺寸差异并不会影响后续的操作,因此此处的裁剪步骤也可以省略。在变换后的图像f4中截取与初始子区域f1(p,q)相对应且尺寸略大于初始子区域f1(p,q)的一个区域,作为初始子区域f1(p,q)的变换子区域n(p,q)。因为截取的区域比子区域的尺寸大,所以变换子区域n(p,q)与相邻的变换子区域在图像内容上有重叠,这样就可以通过后续的边界融合处理,来消除边界处图像内容不能顺利衔接的问题。

所述子区域边界融合用于将各个变换子区域拼接并进行边界融合,使得生成的目标图像能够尽量与参考图像i1重合。

所述边界融合是为了防止因每个子区域各自采用一个单应矩阵进行变换而可能导致变换子区域的边界处图像不协调,而采取的处理手段。所述边界融合可以采用传统的羽化操作对区域边界进行融合,生成边界处图像协调的目标图像。

所述确定单应矩阵的方法可以参考实施例1的具体描述,在此不再赘述。

本发明实施例提出的图像转换系统,采用分区域并且每个子区域各自对应一个单应矩阵的方式,避免了现有技术中整幅鱼眼图像只采用一个单应矩阵,导致鱼眼相机成像的图像重合精准度较低的问题。

本发明实施例通过对鱼眼图像进行分区,以普通相机成像的图像为参考图像,计算每个子区域的单应矩阵,可以有效提高图像重合精准度。

本发明实施例以鱼眼图像中畸变最小的子区域作为初始子区域,可以有效提高匹配计算的精度和图像重合精准度。并且本发明实施例以已计算出单应矩阵的子区域作为基准,求解其相邻的需要计算单应矩阵的子区域的单应矩阵的方式,不断向外传播,直到每个子区域的单应矩阵都被求解出,这种求解方式有效减少了计算量,并且有助于提高计算准确度。另外,由于相邻子区域的单应矩阵相差不大,因此本发明实施例通过单位矩阵扰动来估计需要计算单应矩阵的子区域的单应矩阵,既简化了计算过程,又提高了图像重合精准度。

本发明实施例在所有子区域都求解得到相应的单应矩阵后,按区域对鱼眼图像进行变换,并截取相应的尺寸略大于子区域的变换子区域,通过拼接融合,生成与参考图像高精度重合的目标图像。

本发明实施例提出的图像转换系统可以应用于训练图像增强的样本。

本发明实施例还提出一种存储介质,该存储介质中存储有执行前述方法的计算机程序。

本发明实施例还提出一种处理器,所述处理器运行执行如前所述方法的计算机程序。

本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上,对本发明的实施方式进行了说明。但是,本发明不限定于上述实施方式。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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