一种针对光场阵列相机的基于重投影的重聚焦方法及系统与流程

文档序号:14303882阅读:354来源:国知局
一种针对光场阵列相机的基于重投影的重聚焦方法及系统与流程

本发明涉及图像处理,计算成像领域,特别是一种针对光场阵列相机的基于重投影的重聚焦方法及系统。



背景技术:

光作为一种分布在空间中的电磁波,具有多个维度的信息。然而,传统光学成像只能捕获到光辐射在二维平面上的强度,而丢失了其他维度的信息。光场成像利用现代信息处理的手段,可以突破传统成像的某些局限,降低成像对器件和加工的要求。阵列相机作为采集光场的一种方式,它通过一次曝光就可以获得完整的光场数据。通过不同的空间排布,能够获得不同的系统特性,其中大尺度空间排布可用于合成孔径实现“透视”监测,或通过拼接实现大视角全景成像,而紧密排列型可用于获取高性能的动态图像。

在阵列相机获取光场图像之后,对光场图像进行处理,可以实现合成孔径成像,使合成的图像聚焦到任意平面。现有的方法主要是vaish等人提出的方法,他们采用单应性矩阵先将光场获取的图像对准到参考平面,然后对处理后的图像进行移位相加求平均可以得到重聚焦图像。这种方法使光场图像聚焦到某一平面时需要进行两次插值,而插值会对高频带来损失,进而对成像质量造成损失。



技术实现要素:

本发明所要解决的技术问题是,针对现有技术不足,提供一种针对光场阵列相机的基于重投影的重聚焦方法及系统,使用一次插值就可使光场阵列相机重聚焦到任意平面。

为解决上述技术问题,本发明所采用的技术方案是:一种针对光场阵列相机的基于重投影的重聚焦方法,包括以下步骤:

1)对相机阵列进行校正;

2)指定相机阵列中的一个相机为参考相机,通过反投影求解所述参考相机的像素坐标对应的世界坐标网格点;

3)将所述世界坐标网格点通过其他相机重投影为像素坐标,根据所述像素坐标,将对应的图像进行插值,得到对准到指定平面的图像;

4)将插值得到的图像相加求平均值即得到聚焦于指定平面的图像。

步骤1)中,校正的具体实现过程为:首先用相机阵列对棋盘格进行成像,每个相机拍摄十幅图像;拍照完成后,将每个相机拍摄的图像输入matlab中进行校正,得到每个相机的参数,选取每个相机对应于同一棋盘格位置的参数为相机阵列的参数。

步骤2)中,通过求解下式得到世界坐标网格点:

其中,s0为参考相机对应的尺度因子,k0,r0,t0为参考相机的参数,(u0,v0)为参考相机的像素坐标,(xw,yw,zw)为参考相机像素对应的世界坐标系下的点;(a,b,c)为指定平面的法向量,(x0,y0,z0)为指定平面上的一个点。

步骤3)中,对第i个相机求解像素坐标的过程如下式所示:

其中si为第i个相机对应的尺度因子,ki,ri,ti为第i个相机的参数,(ui,vi)为第i个相机的像素坐标。

步骤4)中,所述聚焦于指定平面的图像isap表达式为:

其中,n为相机数目,ii'为插值后得到的图像。

相应地,本发明还提供了一种针对光场阵列相机的基于重投影的重聚焦系统,其包括:

校正模块,用于对相机阵列进行校正;

求解模块,用于指定相机阵列中的一个相机为参考相机,通过反投影求解所述参考相机的像素坐标对应的世界坐标网格点;

插值模块,用于将所述世界坐标网格点通过其他相机重投影为像素坐标,根据所述像素坐标,将对应的图像进行插值,得到对准到指定平面的图像;

均值模块,用于将插值得到的图像相加求平均值即得到聚焦于指定平面的图像。

与现有技术相比,本发明所具有的有益效果为:采用本发明的方法,可以使阵列相机采集的光场图像重聚焦于任意平面,在重聚焦过程中只使用一次插值,对图像质量的损失很小。本发明方法简单灵活,只需要改变聚焦平面的方程就可以得到相应的重聚焦图像,操作方便,易于编程实现。随着阵列相机的不断推广,本发明的方法具有较大的实用价值。

附图说明

图1为相机成像模型。

图2为相机校正结果展示图,(a)为相机拍摄的棋盘格图像,(b)为提取的角点图像,(c)为相机校正的误差及其分布。

图3为本发明的方法获得的重聚焦图像,(a)为相机拍摄的一幅原图,(b)为重聚焦在第一个日历的结果,(c)为重聚焦在中间水瓶的结果,(d)为聚焦在后面一个日历的结果,(e)为聚焦在棋盘格上的结果,(f)为聚焦在斜面上的结果,(g)聚焦于日历水瓶所在的斜面。

图4为基于重投影的重聚焦算法的算法框图。

具体实施方式

本发明首先通过校正的到相机的参数,然后选取参考相机,通过求解参考相机成像模型与指定的聚焦平面方程,可以得到参考相机像素对应的空间点,接着将空间点通过其余相机的成像模型可以重投影到像素平面,将对应的图像进行插值,就可以得到新的图像;最后将新的图像相加求和取平均就可以得到重聚焦到指定平面的图像。当改变平面的方程时,就可以得到重聚焦于不同平面的图像。这里的聚焦平面既可以是平行于阵列相机平面的也可以是与阵列相机平面相交的。

如图4,本发明具体实现步骤如下:

1.对相机阵列进行校正,相机校正包括相机成像模型的建立,参数初值求解,参数优化,以及考虑畸变参数进行校正。这里采用matlab的cameracalibrationtoolbox来对相机进行校正,棋盘格为相机校正的参照物。校正时首先用相机阵列对棋盘格进行成像,为保证校正精度,每个相机需要拍摄十幅左右的图像,所以需要变换棋盘格与相机的相对位置多次成像。拍照完成后,将每个相机拍摄的图像输入matlab的cameracalibrationtoolbox中进行校正,这样就可以得到每个相机的参数。选取每个相机对应于同一棋盘格位置的参数为相机阵列的参数,为重聚焦做准备;

2.指定相机矩阵中的一个相机为参考相机,通过反投影求解参考相机的像素坐标对应的世界坐标网格点。反投影是指根据像素坐标以及指定的平面求解每个像素对应在指定平面上的世界坐标,这个步骤可以通过联解相机模型与平面方程得到世界坐标网格来完成。

其中相机成像模型为:

相机成像模型是在其次坐标下进行表示的,其中s为相机对应的尺度因子,(u,v)为像素坐标,k,r,t为相机参数,由相机校正可以得到,k为相机内参,r为3×3的旋转矩阵,t为3×1的平移矩阵,r,t统称为相机外参,(x,y,z)为世界坐标系下的点。相机成像模型表示的是相机将世界坐标的点投影到像素点的过程。

平面方程为:

a(x-x0)+b(y-y0)+c(z-z0)=0

(a,b,c)为平面的法向量,(x0,y0,z0)为平面上的一个点。指定平面的法向与平面上的一点,平面也就确定了。

选取相机阵列中的一个相机为参考相机,通过联解成像模型方程和平面方程,如下式所示,即可得到参考相机像素坐标对应的世界坐标网格点。

其中s0为参考相机对应的尺度因子,k0,r0,t0为参考相机的参数,(u0,v0)为参考相机的像素坐标,(xw,yw,zw)为参考相机像素对应的世界坐标系下的点。通过联解上式即可求得参考相机像素对应的世界坐标点。

3.将世界坐标网格点通过其他相机重投影为像素坐标,即通过成像模型利用相机各自的参数求解像素坐标。根据求解出的像素坐标,将对应的图像进行插值,可以得到对准到指定平面的图像。对第i个相机求解像素坐标的过程如下式所示:

其中si为第i个相机对应的尺度因子,ki,ri,ti为第i个相机的参数,(ui,vi)为第i个相机的像素坐标,(xw,yw,zw)为第二步中求解的参考相机像素对应的世界坐标点。通过求解可以得到世界坐标点在每幅图像中的像素位置。根据重投影求解得到的像素坐标,将对应的图像进行插值,可以得到对准到指定聚焦平面的图像。

4.将插值得到的图像相加并且求其平均值即可得到聚焦于指定平面的图像。

其中n为相机数目,ii'为插值后得到的图像,isap为合成后的图像。

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