透镜阵列成像方法及装置转让专利

申请号 : CN201611035628.0

文献号 : CN106713707B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李其昌

申请人 : 成都微晶景泰科技有限公司

摘要 :

本发明公开一种透镜阵列成像方法及装置,涉及图像处理技术领域。该透镜阵列成像方法主要包括:S100对该透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取该原始图像的灰度图像,该灰度图像中包括多个与各子透镜一一对应的子图像;S200获取该灰度图像中各子图像的位置信息;S300依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;S400依据各子图像的尺寸,提取各子图像的像圆;S500按照该拼接间距值,拼接该像圆生成场景图像。本发明的透镜阵列成像方法及装置直接对透镜阵列的真实成像结果进行处理,生成的场景图像更接近真实场景,提高了透镜阵列的成像质量。

权利要求 :

1.一种透镜阵列成像方法,所述透镜阵列包括多个呈阵列排布的子透镜,其特征在于,所述透镜阵列成像方法包括以下步骤:S100对所述透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取所述原始图像的灰度图像,所述灰度图像中包括多个与各子透镜一一对应的子图像;

S200获取所述灰度图像中各子图像的位置信息;

S300依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;

S400依据各子图像的尺寸,提取各子图像的像圆;

S500按照所述拼接间距值,拼接所述像圆生成场景图像;

所述步骤S300具体包括:

S310设置所述子图像的像圆直径的初始值;

S320计算任意相邻两个像圆中心之间的位置间距;

S330依据所述位置间距,计算任意相邻两个像圆行中第一行像圆与第二行像圆之间的行拼接间距值,以及任意相邻两个像圆列中第一列像圆与第二列像圆列之间的列拼接间距值;

S350将所获取的各相邻两行之间的行拼接间距计算行拼接间距的行平均值,将所获取的各相邻两列之间的列拼接间距计算列拼接间距的列平均值;

S360分别判断所述行平均值和所述列平均值是否在预设范围内,若在所述预设范围内则进入步骤S340,若不在所述预设范围内,则重新计算所述子图像的初始直径,直至新获得的行平均值与列平均值均在所述预设范围内;

S340依据所述行拼接间距值与所述列拼接间距值,获得任意相邻两个子图像的像圆之间满足所述预设条件的拼接间距值。

2.如权利要求1所述的透镜阵列成像方法,其特征在于,所述步骤S100具体包括:S110控制所述透镜阵列对光源成像,获取参照图像;

S120控制所述透镜阵列对所述场景成像,得到所述场景的原始图像;

S130依据所述参照图像,对所述原始图像进行亮度均一化处理,得到亮度均一的中间图像;

S140获取所述中间图像的灰度图像。

3.如权利要求2所述的透镜阵列成像方法,其特征在于,所述步骤S200具体包括:S210获取所述参照图像中对应各子透镜的参照子图像;

S220获取对应各子透镜的参照子图像的位置信息;

S230将各参照子图像的位置信息转换为所述灰度图像中对应各子图像的位置信息。

4.如权利要求1所述的透镜阵列成像方法,其特征在于,所述步骤S400具体包括:S410获取各子图像的直径;

S420依据各子图像的直径,提取各子图像的像圆。

5.如权利要求4所述的透镜阵列成像方法,其特征在于,所述步骤S500具体包括:S510判断所述场景经由一主透镜后所成的图像位于所述透镜阵列的靠近所述主透镜一侧还是背离所述主透镜一侧;

S520若经由所述主透镜后所成的图像位于所述透镜阵列的靠近所述主透镜一侧,则每一子图像的像圆围绕其中心旋转180°;

S530若经由所述主透镜后所成的图像位于所述透镜阵列的背离所述主透镜一侧,则每一子图像的像圆无需旋转;

S540获取任意相邻两个子图像的像圆之间满足所述预设条件的拼接间距值,拼接所述像圆生成场景图像。

6.如权利要求3所述的透镜阵列成像方法,其特征在于,所述步骤S220具体包括:S221建立对应所述参照图像的平面坐标系,计算所述参照图像在X方向和Y方向上的投影;

S222初步确定所述参照图像中各子图像中心点的X坐标值和Y坐标值;

S223精确计算所述参照图像中各子图像中心点的X坐标值和Y坐标值。

7.如权利要求1所述的透镜阵列成像方法,其特征在于,所述步骤S330具体包括:S331计算任意相邻的第一行像圆和第二行像圆之间的行拼接间距;

S332计算任意相邻的第一列像圆和第二列像圆之间的列拼接间距。

8.一种透镜阵列成像装置,所述透镜阵列成像装置包括:主透镜单元和图像传感器,设于所述主透镜单元与所述图像传感器单元之间的透镜阵列,所述透镜阵列包括多个呈阵列排布的子透镜,其特征在于,所述透镜阵列成像装置还包括:灰度图像获取模块,用于对所述透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取所述原始图像的灰度图像,所述灰度图像中包括多个与各子透镜一一对应的子图像;

位置信息获取模块,用于获取所述灰度图像中各子图像的位置信息;

拼接间距值获取模块,用于依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;

像圆提取模块,用于依据各子图像的尺寸,提取各子图像的像圆;

场景图像生成模块,用于按照所述拼接间距值,拼接所述像圆生成场景图像;

所述拼接间距值获取模块具体包括:

初始设置单元,用于设置所述子图像的像圆直径的初始值;

计算单元,用于计算任意相邻两个像圆中心之间的位置间距;

初始拼接间距值获取单元,用于依据所述位置间距,计算任意相邻两个像圆行中第一行像圆与第二行像圆之间的行拼接间距值,以及任意相邻两个像圆列中第一列像圆与第二列像圆列之间的列拼接间距值;

成像拼接间距值获取单元,用于依据所述行拼接间距值与所述列拼接间距值,获得任意相邻两个子图像的像圆之间满足预设条件的拼接间距值。

9.如权利要求8所述的透镜阵列成像装置,其特征在于,所述灰度图像获取模块包括:参照图像获取单元,用于通过所述透镜阵列对光源成像,获取参照图像;

原始图像获取单元,用于通过所述透镜阵列对所述场景成像,得到所述场景的原始图像;

亮度均一化处理单元,用于依据所述参照图像,对所述原始图像进行亮度均一化处理,得到亮度均一的中间图像;

灰度图像获取单元,用于获取所述中间图像的灰度图像。

10.如权利要求9所述的透镜阵列成像装置,其特征在于,所述位置信息获取模块包括:参照子图像获取单元,用于获取所述参照图像中对应各子透镜的参照子图像;

位置信息获取单元,用于获取对应各子透镜的参照子图像的位置信息;

转换单元,用于将各参照子图像的位置信息转换为所述灰度图像中对应各子图像的位置信息。

11.一种透镜阵列成像装置,其特征在于,所述透镜阵列成像装置包括:主透镜;

图像传感器,用于将光学信号转换为电信号;

透镜阵列,设于所述主透镜与所述图像传感器之间;

图像处理器以及存储器;其中,

所述图像处理器分别连接所述图像传感器、所述透镜阵列以及所述存储器,调用所述存储器中存储的一段程序指令以执行如权利要求1至7任一项所述的透镜阵列成像方法。

说明书 :

透镜阵列成像方法及装置

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及一种透镜阵列成像方法以及透镜阵列成像装置。

背景技术

[0002] 透镜阵列是一种包含有多个呈阵列排布的子透镜的光学器件,现已广泛应用于光场相机、复眼相机以及大视野的显微相机中。其子透镜在透镜阵列内以有序的、等间隔的方形\矩形阵列形式排布。每个子透镜都可以对自身视野范围内的物体成像,每个子透镜所呈图像称作子图像。因此透镜阵列在一次成像中得到的像图(通过透镜阵列后成像得到的原始图像)内包含了多个子图像,且子图像在像图内的排布形式对应子透镜在透镜阵列内的排布形式。透镜阵列成像的任务是对包含有多个子图像的像图进行处理,最终输出的结果是由子图像拼接形成的完整图像,因此在像图中正确定位子图像是透镜阵列成像的关键步骤之一。
[0003] 虽然通过光学仿真可以获取像图中子图像的位置,但由于理想环境中的光学仿真与实际复杂环境中的真实成像之间的误差、以及实际加工精度的限制导致透镜阵列在加工、组装过程中产生器件误差,光学仿真得到的子图像的位置往往与实际成像中子图像的位置有一定偏差。从上述描述可知,现有技术中采用透镜阵列实现成像时由于像图的子图像定位不准确严重影响了成像质量。
[0004] 此外,对比文件1(CN105704402A)公开一种微透镜阵列的成像方法与成像装置,其主要技术方案是采用对单一光源成像生成底图,然后在该光源条件下对实际场景进行成像,以获取像图,之后通过底图和像图进行亮度配准,为所述像图中的第一象素建立背景概率模型;以及根据所述第一象素的背景概率模型,对所述像图中的第一象素进行亮度均一化处理。上述消除微透镜阵列成像的亮度分布不均的现象。
[0005] 然而上述微透镜阵列虽然对微透镜阵列成像的亮度不均问题进行了解决,然而其没有考虑用微透镜阵列的各微透镜之间存在一定的间距以及各微透镜拍摄到的子图像存在交叠,导致后续生成的图像较为模糊,图像质量较差。

发明内容

[0006] 本发明提供一种透镜阵列成像方法及透镜阵列成像装置,用于解决现有技术中未考虑透镜阵列成像时各子透镜所拍摄到的图像存在交叠,导致成像质量不佳的问题。
[0007] 本发明提供一种透镜阵列成像方法,所述透镜阵列包括多个呈阵列排布的子透镜,其中,所述透镜阵列成像方法包括以下步骤:
[0008] S100对所述透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取所述原始图像的灰度图像,所述灰度图像中包括多个与各子透镜一一对应的子图像;
[0009] S200获取所述灰度图像中各子图像的位置信息;
[0010] S300依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;
[0011] S400依据各子图像的尺寸,提取各子图像的像圆;
[0012] S500按照所述拼接间距值,拼接所述像圆生成场景图像。
[0013] 较佳地,所述步骤S100具体包括:
[0014] S110控制所述透镜阵列对光源成像,获取参照图像;
[0015] S120控制所述透镜阵列对所述场景成像,得到所述场景的原始图像;
[0016] S130依据所述参照图像,对所述原始图像进行亮度均一化处理,得到亮度均一的中间图像;
[0017] S140获取所述中间图像的灰度图像。
[0018] 较佳地,所述步骤S200具体包括:
[0019] S210获取所述参照图像中对应各子透镜的参照子图像;
[0020] S220获取对应各子透镜的参照子图像的位置信息;
[0021] S230将各参照子图像的位置信息转换为所述灰度图像中对应各子图像的位置信息。
[0022] 较佳地,所述步骤S300具体包括:
[0023] S310设置所述子图像的像圆直径的初始值;
[0024] S320计算任意相邻两个像圆中心之间的位置间距;
[0025] S330依据所述位置间距,计算任意相邻两个像圆行中第一行像圆与第二行像圆之间的行拼接间距值,以及任意相邻两个像圆列中第一列像圆与第二列像圆列之间的列拼接间距值;
[0026] S340依据所述行拼接间距值与所述列拼接间距值,获得任意相邻两个子图像的像圆之间满足预设条件的拼接间距值。
[0027] 较佳地,所述步骤S400具体包括:
[0028] S410获取各子图像的直径;
[0029] S420依据各子图像的直径,提取各子图像的像圆。
[0030] 较佳地,所述步骤S500具体包括:
[0031] S510判断所述场景经由一主透镜后所成的图像位于所述透镜阵列的靠近所述主透镜一侧还是背离所述主透镜一侧;
[0032] S520若经由所述主透镜后所成的图像位于所述透镜阵列的靠近所述主透镜一侧,则每一子图像的像圆围绕其中心旋转180°;
[0033] S530若经由所述主透镜后所成的图像位于所述透镜阵列的背离所述主透镜一侧,则每一子图像的像圆无需旋转;
[0034] S540获取任意相邻两个子图像的像圆之间满足所述预设条件的拼接间距值,拼接所述像圆生成场景图像。
[0035] 较佳地,所述步骤S220具体包括:
[0036] S221建立对应所述参照图像的平面坐标系,计算所述参照图像在X方向和Y方向上的投影;
[0037] S222初步确定所述参照图像中各子图像中心点的X坐标值和Y坐标值;
[0038] S223精确计算所述参照图像中各子图像中心点的X坐标值和Y坐标值。
[0039] 较佳地,所述步骤S330具体包括:
[0040] S331计算任意相邻的第一行像圆和第二行像圆之间的行拼接间距;
[0041] S332计算任意相邻的第一列像圆和第二列像圆之间的列拼接间距。
[0042] 较佳地,所述步骤S300在所述步骤S330与步骤S340之间还包括:
[0043] S350将所获取的各相邻两行之间的行拼接间距计算行拼接间距的行平均值,将所获取的各相邻两列之间的列拼接间距计算列拼接间距的列平均值;
[0044] S360分别判断所述行平均值和所述列平均值是否在预设范围内,若在所述预设范围内则进入步骤S340,若不在所述预设范围内,则重新计算所述子图像的初始直径,直至新获得的行平均值与列平均值均在所述预设范围内。
[0045] 本发明还提供一种透镜阵列成像装置,所述透镜阵列成像装置包括:主透镜单元和图像传感器,设于所述主透镜单元与所述图像传感器单元之间的透镜阵列,所述透镜阵列包括多个呈阵列排布的子透镜,其中,所述透镜阵列成像装置还包括:
[0046] 灰度图像获取模块,用于对所述透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取所述原始图像的灰度图像,所述灰度图像中包括多个与各子透镜一一对应的子图像;
[0047] 位置信息获取模块,用于获取所述灰度图像中各子图像的位置信息;
[0048] 拼接间距值获取模块,用于依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;
[0049] 像圆提取模块,用于依据各子图像的尺寸,提取各子图像的像圆;
[0050] 场景图像生成模块,用于按照所述拼接间距值,拼接所述像圆生成场景图像。
[0051] 较佳地,所述灰度图像获取模块包括:
[0052] 参照图像获取单元,用于通过所述透镜阵列对光源成像,获取参照图像;
[0053] 原始图像获取单元,用于通过所述透镜阵列对所述场景成像,得到所述场景的原始图像;
[0054] 亮度均一化处理单元,用于依据所述参照图像,对所述原始图像进行亮度均一化处理,得到亮度均一的中间图像;
[0055] 灰度图像获取单元,用于获取所述中间图像的灰度图像。
[0056] 较佳地,所述位置信息获取模块包括:
[0057] 参照子图像获取单元,用于获取所述参照图像中对应各子透镜的参照子图像;
[0058] 位置信息获取单元,用于获取对应各子透镜的参照子图像的位置信息;
[0059] 转换单元,用于将各参照子图像的位置信息转换为所述灰度图像中对应各子图像的位置信息。
[0060] 较佳地,所述拼接间距值获取模块具体包括:
[0061] 初始设置单元,用于设置所述子图像的像圆直径的初始值;
[0062] 计算单元,用于计算任意相邻两个像圆中心之间的位置间距;
[0063] 初始拼接间距值获取单元,用于依据所述位置间距,计算任意相邻两个像圆行中第一行像圆与第二行像圆之间的行拼接间距值,以及任意相邻两个像圆列中第一列像圆与第二列像圆列之间的列拼接间距值;
[0064] 成像拼接间距值获取单元,用于依据所述行拼接间距值与所述列拼接间距值,获得任意相邻两个子图像的像圆之间满足预设条件的拼接间距值。
[0065] 本发明又提供一种透镜阵列成像装置,包括:
[0066] 主透镜;
[0067] 图像传感器,用于将光学信号转换为电信号;
[0068] 透镜阵列,设于所述主透镜与所述图像传感器之间;
[0069] 图像处理器以及存储器;其中,
[0070] 所述图像处理器分别连接所述图像传感器、所述透镜阵列以及所述存储器,调用所述存储器中存储的一段程序指令以执行如前面所述的透镜阵列成像方法。这个透镜阵列成像方法至少包括以下步骤:
[0071] S100对所述透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取所述原始图像的灰度图像,所述灰度图像中包括多个与各子透镜一一对应的子图像;
[0072] S200获取所述灰度图像中各子图像的位置信息;
[0073] S300依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;
[0074] S400依据各子图像的尺寸,提取各子图像的像圆;
[0075] S500按照所述拼接间距值,拼接所述像圆生成场景图像。
[0076] 为达成上述目的,本发明提出的透镜阵列成像方法及透镜阵列成像装置,通过对透镜阵列所成原始图像进行处理,然后计算任意相邻两子图像像圆之间的拼接间距,按照子图像大小,提取出像圆进行拼接,生成场景图像,由于是直接对透镜阵列的真实成像结果进行处理,不受光学仿真与实际成像之间存在偏差、器件加工组装误差等问题的影响,因此生成的场景图像更接近真实场景,提高了透镜阵列的成像质量。

附图说明

[0077] 图1为本发明较佳实施方式的透镜阵列成像方法的流程示意图。
[0078] 图2为图1中步骤S100的流程示意图。
[0079] 图3为图1中步骤S200的流程示意图。
[0080] 图4为图1中步骤S300的流程示意图。
[0081] 图5为图1中步骤S400的流程示意图。
[0082] 图6为图1中步骤S500的流程示意图。
[0083] 图7为本发明一较佳实施方式的透镜阵列成像装置的结构示意图。
[0084] 图8为本发明另一较佳实施方式的透镜阵列成像装置的结构示意图。

具体实施方式

[0085] 下面结合附图和实施例对本发明进行详细说明。需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。
[0086] 请参见图1,图1为本发明较佳实施方式的透镜阵列成像方法的流程示意图。如图1所示,本发明提供一种透镜阵列成像方法,所述透镜阵列包括多个呈阵列排布的子透镜,这里的透镜阵列优选液晶透镜阵列,液晶透镜阵列中的各子透镜按照阵列的方式排布,各子透镜分别受电压驱动改变液晶分子偏向形成折射率分布。所述透镜阵列成像方法包括以下步骤:
[0087] S100对所述透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取所述原始图像的灰度图像,所述灰度图像中包括与所述子透镜一一对应的子图像;这里的原始图像(也叫像图)是通过透镜阵列直接拍摄后经图像传感器光电转换后获得的未经处理的图像。之后对这个原始图像进行亮度均一化处理,消除原始图像内各子图像亮度不均的现象,得到亮度均一的初始场景图像(或者叫中间图像)。
[0088] S200获取所述灰度图像中各子图像的位置信息;
[0089] S300依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;
[0090] S400依据各子图像的尺寸,提取各子图像的像圆;
[0091] S500按照所述拼接间距值,拼接所述像圆生成场景图像。
[0092] 本发明提出的透镜阵列成像方法,通过对透镜阵列所成原始图像进行处理,然后计算任意相邻两子图像像圆之间的拼接间距,按照子图像大小,提取出像圆进行拼接,生成场景图像,由于是直接对透镜阵列的真实成像结果进行处理,不受光学仿真与实际成像之间存在偏差、器件加工组装误差等问题的影响,因此生成的场景图像更接近真实场景,提高了透镜阵列的成像质量。
[0093] 请参见图2,图2为图1中步骤S100的流程示意图。如图2所示,在一个具体实施例中,所述步骤S100具体包括:
[0094] S110控制所述透镜阵列对光源成像,获取参照图像(或称作光照模型);上述参照图像用于校正通过透镜阵列实际拍摄场景图像时各子图像内亮度不均的问题。在一个具体实施例中,获取参照图像的方法如下:
[0095] S111控制透镜阵列对单一均匀发光光源成像,得到一张仅有光源的光照图像(可以是均匀发光板),记作I0,光照图像I0的分辨率与透镜阵列的分辨率相同,假设透镜阵列的分辨率为横向一行n个像素,竖向一列m个像素,即分辨率为n*m个像素,则光照图像I0的分辨率也是n*m个像素,其被用于计算该透镜阵列的参考图像(或光照模型)。这里,可以事先确定获得清晰的仅有光源的光照图像的对焦面(即在该位置,透镜阵列清晰对焦),发光板安置在该对焦面位置即可。
[0096] 在通过该透镜阵列成像时,需注意控制曝光时间在合适的范围内,曝光不足或曝光过度都会导致计算得到的光照模型失真。
[0097] 若获取到的光照图像I0不是灰度图像(即黑白图像),如为RGB彩色图像,则需将其转为灰度图像。
[0098] 光照图像I0中存在的噪声会对后续步骤造成干扰。为了达到降噪的目的,在拍摄光照图像的过程中,可在相同的拍摄条件下(相同的光源、相同的物距、相同的曝光时间等),对同一光源重复拍摄若干张图像。一般的,需要5张或以上数量,这些图像的平均值即为一幅低噪的光照图像I0,用这幅低噪的光照图像I0来获得该透镜阵列的光照模型(参考图像)。
[0099] S112扫描光照图像I0内所有像素的灰度值,找出光照图像I0中的最大灰度值,记为maxGrayscale。
[0100] S113计算该透镜阵列的光照模型Im,光照模型Im是一张最大灰度值为1的灰度图像,其分辨率与透镜阵列的分辨率相同,光照模型Im中第i行、第j列的像素灰度值为光照图像I0中同一位置的像素灰度值除以最大灰度值maxGrayscale,即:
[0101]
[0102] 由于透镜阵列定型后,其光照模型就被固定,所以此步骤仅需要在透镜阵列定型时进行一次,可以是成像设备在出厂前进行,也可以是用户在实际拍摄场景之前进行,主要目的是为获得透镜阵列中各子透镜对光源成像方面表现的光学特性差异。从所获取的仅有单一均匀发光光源的图像中提取出透镜阵列的参考图像(光照模型)后,将参考图像(光照模型)存入成像设备的存储器中。在实际拍摄场景图像时,直接从存储器中读取透镜阵列的光照模型(参考图像)的相关数据来对原始图像进行图像处理。
[0103] 当然上述获取参照图像的方法只是较为场景的一种,本领域技术人员为获得亮度均一图像,也可以采用其它方法,比如用光学传感器测量各子透镜的亮度等,然后根据亮度值通过计算获得各子透镜的光学特性。
[0104] S120通过所述透镜阵列对所述场景成像,得到所述场景的原始图像;场景的原始图像也即像图,是通过透镜阵列直接拍摄后经图像传感器光电转换后获得的未经处理的图像。
[0105] S130依据所述参照图像,对所述原始图像进行亮度均一化处理,得到亮度均一的中间图像;具体来说是通过透镜阵列,对实际场景进行拍摄,得到原始图像I1,其分辨率亦与透镜阵列的分辨率相同,原始图像I1中各个子图像内存在亮度不均的现象,使用透镜阵列的光照模型(参考图像)Im对原始图像I1作亮度均一处理,消除各子图像内的亮度不均现象,得到亮度均一的中间图像Iu。其中,亮度均一处理的方式如下(按照原始图像I1是否为灰度图像进行区分):
[0106] 1)若原始图像I1为灰度图像:亮度均一的中间图像Iu中第i行、第j列的像素灰度值为原始图像I1中同一位置的像素灰度值除以光照模型Im中同一位置的像素灰度值,即:
[0107]
[0108] 通过以上公式即可获得亮度均一的中间图像Iu。
[0109] 2)若原始图像I1为彩色图像,需分别对R、G、B三个通道进行亮度均一处理:
[0110] 取原始图像I1的R分量,按 计算,得到亮度均一的中间图像Iu的R分量IuR;
[0111] 取原始图像I1的G分量,按 计算,得到亮度均一的中间图像Iu的G分量IuG;
[0112] 取原始图像I1的B分量,按 计算,得到亮度均一的中间图像Iu的B分量IuB;
[0113] 合成R分量IuR、G分量IuG、B分量IuB,得到亮度均一的中间图像Iu。
[0114] S140获取所述中间图像的灰度图像Ig。按照原始图像I1是否为灰度图像进行区分:
[0115] 1)若原始图像I1为灰度图像,则中间图像Iu亦为灰度图像,Ig=Iu;
[0116] 2)若原始图像I1为彩色(R、G、B)图像,则中间图像Iu亦为彩色(R、G、B)图像。可按照以下下两种方式计算Iu的灰度图像Ig:
[0117] 方法一、Ig=(IuR+IuG+IuB)/3,即依据亮度均一的中间图像Iu的R分量IuR、B分量IuB以及G分量IuG进行加权平均获得灰度图像Ig;
[0118] 方法二、依据经验公式Ig=0.299*IuR+0.587*IuG+0.114*IuB获得灰度图像Ig。
[0119] 进一步地,请参见图3,图3为图1中步骤S200的流程示意图。如图3所示,所述步骤S200具体包括:
[0120] S210获取所述参照图像中对应各子透镜的参照子图像;每一参照子图像与各子透镜一一对应。
[0121] S220获取对应各子透镜的参照子图像的位置信息;这里,参照子图像的位置信息,可以是获得各参照子图像的中心位置信息,也可是获得各参照子图像的边缘位置信息。较佳方式是获得各参照子图像的中心位置信息,子图像的中心位置呈现有序的、等间隔的阵列排布形式(如呈方形或矩形)。要定位各参照子图像的中心位置,可以有较多算法来获得,例如采用K-means算法(K均值聚类算法)、Blob分析算法,也可以直接用已知位置信息的模板来获得各参照子图像的中心位置。在一个透镜阵列成像中定位子图像中心位置的方法详细描述如下:
[0122] S221计算上述参照图像(因仅包括光源,也称作空白图像)在x方向(即水平方向)上的投影,得到一个投影数列:
[0123] Xprof={x1,x2,x3,...,xn}
[0124] 其长度n等于空白图像的水平宽度。
[0125] 具体来说,对空白图像中每一竖直的像素列,对该像素列中的每一个像素的灰度值作累加求和,其总和作为投影数列中对应项的值。例如,计算空白图像中第一列像素灰度值的总和,作为投影数列第一项的值,计算空白图像中第二列像素灰度值的总和,作为投影数列第二项的值,以此类推,直至计算完空白图像所有的像素列。
[0126] S222使用Kmeans方法(即K均值聚类算法)对投影数列Xprof进行聚类,初步估计子图像中心位置的横轴x的坐标值Xappr。
[0127] Kmeans方法聚类的类别数目K设置为空白图像中子图像的列数c(亦即:空白图像中一行子图像所包含的子图像个数),聚类得到的K个聚类中心{C1,C2,C3,...,CK}即为对子图像中心位置的x坐标值Xappr的初步估计,子图像共c列,故一共有c个不同的x坐标值,此次聚类K=c。
[0128] Kmeans均值聚类算法的具体过程表述如下:
[0129] S2221设置聚类算法的收敛阈值T及K个聚类中心{C1,C2,C3,...,CK}的初始值。设置聚类算法的停止条件:最大迭代次数达到maxIter次或者在阈值T下聚类算法已经收敛。设置迭代计数器为1。
[0130] K个聚类中心的初始值可以有多种设置方式,例如下述的a、b、c三种方式中任意一种都是可行的:
[0131] a、从1~n中任意选取K个互不相同的数;
[0132] b、考虑到子图像与相应子透镜的排布形式一致,在空白图像内以有序的、等间隔的方形\矩形阵列形式排布,可以将K个聚类中心的初始值直接设置为等间隔的数列:
[0133]
[0134] C、如果从光学仿真中获得了子图像的位置,也可以将这些子图像的x坐标设为K个聚类中心的初始值。
[0135] S2222对投影数列Xprof={x1,x2,x3,...,xn},计算每一项的聚类类别标号,得到数列Xprof的聚类类别标号序列Xidx={idx1,idx2,idx3,...,idxn},具体如下:
[0136] 对于数列Xprof={x1,x2,x3,...,xn}中的每一项xi,计算其下标i到K个聚类中心的距离,并找出与它距离最近的那个聚类中心,该聚类中心的序号就是xi对应的聚类类别标号idxi。例如(|C1-1|表示对C1-1取绝对值)。
[0137] 对于x1,其下标1到K个聚类中心的距离依次是|C1-1|,|C2-1|,|C3-1|,...,|CK-1|,假设这K个距离值中最小的是
[0138]
[0139] 则x1对应的聚类类别标号idx1是a1;
[0140] 对于x2,其下标2到K个聚类中心的距离依次是|C1-2|,|C2-2|,|C3-2|,...,|CK-2|,假设这K个距离值中最小的是 则x2对应的聚类类别标号idx2是a2;
[0141] ……
[0142] 对于xn,其下标n到K个聚类中心的距离依次是|C1-n|,|C2-n|,|C3-n|,...,|CK-n|,假设这K个距离值中最小的是 则xn对应的聚类类别标号idxn是an;
[0143] S2223逐一计算新的K个聚类中心{C′1,C′2,C′3,...,C′K}的值,计算方式如下:
[0144] 计算新的C′j:找出聚类类别标号序列Xidx={idx1,idx2,idx3,...,idxn}中所有值为j的项(即聚类类别标号为j的项),获取这些项的下标,根据下标找到这些项在投影数列中对应Xprof={x1,x2,x3,...,xn}的项,根据下面的公式计算C′j;
[0145]
[0146] 上式中,idxi=j表示在聚类类别标号序列Xidx={idx1,idx2,idx3,...,idxn}中所有值为j的项的下标。
[0147] 例如:要计算新的C′1,则需先找出在聚类类别标号序列xidx={idx1,idx2,idx3,...,idxn}中所有值为1的项(即聚类类别标号为1的项),假设{idx1,idx2,idx3,idx4,idx5}是Xidx中值为1的项,这些项的下标是{1,2,3,4,5},则在投影数列Xprof中对应的项就是{x1,x2,x3,x4,x5},根据下面的公式计算C′1;
[0148]
[0149] S2224判断聚类算法是否收敛,方法是逐一比较|C1-C′1|,|C2-C′2|,|C3-C′3|,...,|CK-C′K|是否小于收敛阈值T,若存在某个
[0150] |Cj-C′j|≥T
[0151] ,跳转到下一步S2225;若所有|Cj-C′j|的均小于T,则聚类算法已经收敛,跳出聚类算法的流程;
[0152] S2225逐一更新K个聚类中心的值:
[0153] {C1,C2,C3,...,CK}={C′1,C′2,C′3,...,C′K};
[0154] S2226判断聚类算法的迭代次数是否已经达到maxIter次,若尚未达到,将迭代次数增加1,跳转到S2222;若已达到,跳出聚类算法的流程;至此,Kmeans聚类算法结束。
[0155] S2227对聚类得到的K个聚类中心{C1,C2,C3,...,CK}按从小到大排序,将排序的结果赋给子图像中心位置的x坐标值Xappr。
[0156]
[0157] 其中的c是原始图像中子图像的列数。
[0158] S223计算空白图像在y方向(即竖直方向)上的投影,得到一个投影数列Yprof={y1,y2,y3,...,ym},其长度m等于空白图像的竖直高度。
[0159] 具体来说,对空白图像中每一条水平的像素行,对该行中的每一个像素的灰度值作累加求和,其总和作为投影数列中对应项的值。例如,计算空白图像中第一行像素灰度值的总和,作为投影数列第一项的值,计算空白图像中第二行像素灰度值的总和,作为投影数列第二项的值,以此类推,直至计算完空白图像所有的像素行。
[0160] S224使用Kmeans方法(K均值聚类)对投影数列Yprof进行聚类,初步估计子图像中心位置的y坐标值Yappr。
[0161] Kmeans聚类的类别数目K设置为空白图像中子图像的行数r(亦即:空白图像中一列子图像所包含的子图像个数),聚类得到的K个聚类中心{C1,C2,C3,...,CK}即为对子图像中心位置的y坐标值Yappr的初步估计(子图像共r行,故一共有r个不同的y坐标值,此次聚类K=r)。聚类算法的具体过程与前面描述的步骤使用Kmeans方法(K均值聚类)对投影数列Xprof进行聚类”类似,在此不再赘述。
[0162] 对聚类得到的K个聚类中心{C1,C2,C3,...,CK}按从小到大进行排序,将排序的结果赋给子图像中心位置的y坐标值Yappr。
[0163]
[0164] 其中的r是子图像的行数。
[0165] 需要说明的是,虽然在前面的步骤中,聚类的类别数目都以“K”标记,并且聚类中心均采用了同样的记号{C1,C2,C3,...,CK},但这只是一种约定俗成的记法(Kmeans的K即意味着K个类别,mean意味着均值,聚类中心的C意味着中心(即Centroid的首字母),事实上在前述步骤中的聚类类别数目K分别有着不同的赋值(步骤3中的K是子图像的列数目,步骤5中的K是子图像的行数目),步骤3)和步骤5)中的{C1,C2,C3,...,CK}也有着不同的数列长度和值,分别代表着初步估计的子图像中心位置的x坐标值Xappr、y坐标值Yappr。
[0166] S225结合Xappr与Yappr,精确估计子图像中心位置的x坐标值Xaccu、y坐标值Yaccu。这是由于子图像与子透镜的排布形式一致,在空白图像内以有序的、等间隔的方形\矩形阵列形式排布,具体方式如下:
[0167] S2251计算Xappr的第二项到倒数第二项的平均值xmean,计算Yappr的第二项到倒数第二项的平均值ymean,即:
[0168]
[0169]
[0170] 其中c是子图像的列数,r是子图像的行数。
[0171] 计算中去除Xappr与Yappr的首、尾两项的原因是:Xappr与Yappr的首项和尾项均代表了空白图像最外围一圈的子图像的中心位置,由于光学成像的最外围图像往往畸变较大、且最外围图像有可能部分缺失等因素,初步估计得到的最外围一圈的子图像中心位置往往准确度较低,去除掉这些数据可以避免将误差引入到子图像中心位置的精确估计中。
[0172] S2252从Xappr的第二项到倒数第二项,每一项均减去平均值xmean,得到一个均值为0的新数列 从Yappr的第二项到倒数第二项,每一项均减去平均值ymean,得到一个均值为0的新数列
即:
[0173] 其中i的取值范围是{2,3,...,c-1}
[0174] 其中j的取值范围是{2,3,...,r-1}
[0175] S2253将Xappr与Yappr合并,利用最小二乘法估计下式中的系数p0,p1,两个系数p1和p0分别是一个直线方程的斜率和截距,其中的斜率就是透镜阵列中相邻两个子图像中心点的间距:
[0176]
[0177] S2254利用上面得到的p1、p0和xmean及ymean,精确估计子图像中心位置的x坐标值Xaccu、y坐标值Yaccu,具体方式如下:
[0178]
[0179]
[0180] 上述式中,
[0181]
[0182] 其中i的取值范围为{1,2,3,...,c}
[0183]
[0184] 其中j的取值范围为{1,2,3,...,r}
[0185] S230将各参照子图像的位置信息转换为所述灰度图像中对应各子图像的位置信息。当获取到各参照子图像的位置信息后,灰度图像Ig中各子图像与各参照子图像按照一一对应关系,即可获得灰度图像中的各子图像的位置信息。
[0186] 请参见图4,图4为图1中步骤S300的流程示意图。如图4所示,在一个具体的实施例中,所述步骤S300具体包括:
[0187] S310设置所述子图像的像圆直径的初始值;
[0188] 在灰度图像Ig中,为各子图像选择一个初始的直径b0,在本发明中,一幅灰度图像Ig内的所有子图像均使用同一直径,提取出每个子图像的像圆,即:
[0189] 对于灰度图像Ig内的每个子图像,以子图像的中心位置为圆心、以b0为直径(b0≤e,其中e表示相邻两个子图像中心位置的间距),提取出一个圆形区域(以下将这个圆形区域称为像圆),该像圆将被用于后续的自适应图像拼接。
[0190] 像圆的初始直径b0可以从光学仿真的结果中获得;另外,也可以根据经验选择初始直径b0,一般的,0.45*e≤b0≤0.85*e。
[0191] S320计算任意相邻两个像圆中心之间的位置间距;
[0192] 根据像圆直径b0,确定拼接图像时相邻两个像圆的中心位置间距d0,间距d0与像圆直径b0满足下面的关系
[0193]
[0194] S330依据所述位置间距,计算任意相邻两个像圆行中第一行像圆与第二行像圆之间的行拼接间距值,以及任意相邻两个像圆列中第一列像圆与第二列像圆列之间的列拼接间距值;具体来说,对于像图中的每两个相邻的像圆行、每两个相邻的像圆列,按照下面的方式计算其最佳拼接间距,其中,像圆行、像圆列的计算顺序可以打乱,但不会影响到最终结果:假设像图中的子图像有R行、C列,则上述行拼接间距值与上述列拼接间距值按以下步骤获得:
[0195] S331对于第1行像圆与第2行像圆(每一行像圆均包含有本行的C个像圆),依以下步骤计算其最佳拼接间距
[0196] (a)当第1行像圆与第2行像圆的中心位置的上、下间距为d0时,计算每两个上下相邻的像圆的重叠区域;
[0197] (b)计算在第1行的C个像圆与第2行的C个像圆的所有重叠区域内,像素灰度值的标准差std(d0)。这个标准差std(d0)可以采用下面这个公式获得:
[0198]
[0199] (c)按照一定的步长s改变第1行像圆与第2行像圆中心位置的上、下间距,例如,s=1即代表每次将间距改变一个像素。依次计算当两行像圆中心位置的上、下间距d':
[0200] d'={d0–s,d0-2s,d0-3s,…,d0–k*s,d0+2s,d0+s,d0+2s,d0+3s,…,d0+k*s}时,在所有的上、下相邻的像圆的重叠区域内,像素灰度值的标准差std(d'),其中,k为整数,并且使得k*s<0.4d0,一般可以选择使k*s<0.2d0的k值与s值。
[0201] (d)比较当第1行像圆与第2行像圆中心位置的上、下间距为{d0,d0–s,d0-2s,d0-3s,…,d0–k*s,d0+s,d0+2s,d0+3s,…,d0+k*s}时,对应的所有上、下相邻像圆的重叠区域内像素灰度值的标准差std,找出使标准差std最小的间距值,将这个使标准差std最小的间距值记为
[0202] S332对于第2行像圆与第3行像圆,计算其最佳拼接间距 对于第3行像圆与第4行像圆,计算其最佳拼接间距 ……;对于第R-1行像圆与第R行像圆,计算其最佳拼接间距
[0203] S333对于第1列像圆与第2列像圆(每一列像圆均包含有本行的R个像圆),依以下步骤计算其最佳拼接间距
[0204] (A)当第1列像圆与第2列像圆的中心位置的左、右间距为d0时,计算每两个左右相邻的像圆的重叠区域;
[0205] (B)计算第1列的R个像圆与第2列的R个像圆的所有重叠区域内,像素灰度值的标准差std(d0)。这个标准差可以按以下公式计算:
[0206]
[0207] (C)按照一定的步长s改变第1列像圆与第2列像圆中心位置的左、右间距,例如,s=1即代表每次将间距改变一个像素。依次计算当两列像圆中心位置的左、右间距:
[0208] d″={d0–s,d0-2s,d0-3s,…,d0–k*s,d0+2s,d0+s,d0+2s,d0+3s,…,d0+k*s}时,在所有的左、右相邻的像圆的重叠区域内,像素灰度值的标准差std(d″)。其中,k为整数,并且使得k*s<0.4d0,一般可以选择使k*s<0.2d0的k值与s值。
[0209] (D)比较当第1列像圆与第2列像圆中心位置的左、右间距为{d0,d0–s,d0-2s,d0-3s,…,d0–k*s,d0+s,d0+2s,d0+3s,…,d0+k*s}时,对应的所有左、右相邻像圆的重叠区域内像素灰度值的标准差std,找出使标准差std最小的间距值,将这个使标准差std最小的间距值记为
[0210] S334对于第2列像圆与第3列像圆,计算其最佳拼接间距 对于第3列像圆与第4列像圆,计算其最佳拼接间距 ……;对于第C-1列像圆与第C列像圆,计算其最佳拼接间距
[0211] S350将上面步骤S330中得到的R-1个行间最佳拼接间距 (其中i=1,2,3,...,R-1)及C-1个列间最佳拼接间距 (其中j=1,2,3,...,C-1)分别计算行拼接间距的平均值 和列拼接间距的平均值。
[0212] S360判断上述平均值(包括行拼接间距的平均值和列拼接间距的平均值)的大小是否在预设范围内;这个预设范围依据实际需要设定。较佳地,这里的预设范围为:各平均值小于等于d0+0.75*k*s、并且大于等于d0-0.75*k*s,进入步骤S340。
[0213] 若平均值大于d0+0.75*k*s或小于d0-0.75*k*s,则重新计算子图像的初始直径b0[0214]
[0215] 将上式中计算得到的b0作为子图像的初始直径,重新执行步骤S310、S320、S330和S350以及S360直至R-1个行间最佳拼接间距 (其中i=1,2,3,...,R-1)及C-1个列间最佳拼接间距 (其中j=1,2,3,...,C-1)各自的平均值小于等于d0+0.75*k*s、并且大于等于d0-0.75*k*s为止,进入下一步骤。
[0216] S340依据所述行拼接间距值与所述列拼接间距值,获得任意相邻两个子图像的像圆之间满足预设条件的拼接间距值。这里的预设条件依据产品性能由用户根据实际需要来设置。具体来说,对于R-1个行间最佳拼接间距 (其中i=1,2,3,...,R-1)及C-1个列间最佳拼接间距 (其中j=1,2,3,...,C-1),计算这些行间、列间最佳拼接间距与平均值的差的绝对值,若这些绝对值中存在着大于0.25*k*s(预设条件)的,找出对应的最佳拼接间距,并将其修改成平均值。
[0217] 请参见图5,图5为图1中步骤S400的流程示意图。如图5所示,在一个具体实施例中,所述步骤S400具体包括:
[0218] S410获取各子图像的直径;计算子图像的直径b采用以下公式:
[0219]
[0220] (其中b向上取整)
[0221] 在亮度均一的场景图像Iu中,以子图像的中心位置为圆心、以整数b为直径。
[0222] S420依据各子图像的直径,提取各子图像的像圆。
[0223] 本发明提出了一种在微透镜阵列成像中定位子图像中心位置的方法,该方法只需要微透镜阵列的一次真实成像,即可从得到的像图中获取子图像的中心位置,操作方法简便,精度高。且由于该方法直接对微透镜阵列的真实成像结果进行分析,不受光学仿真与实际成像之间存在偏差、器件加工组装误差等问题的影响,因此可信度极高。
[0224] 因为透镜阵列定型后,各子图像在像图中的中心位置就被固定,所以此方法仅需要在透镜阵列定型时进行一次操作,将得到的子图像的中心位置存入存储器中,在实际拍摄时直接从存储器中读取子图像的中心位置进行后续拼图,而无需再次进行此操作。
[0225] 请参见图6,图6为图1中步骤S500的流程示意图。如图6所示,上述步骤S500具体包括以下步骤:
[0226] S510判断经由主透镜所成的图像位于透镜阵列面向所述主透镜的一侧还是背离所述主透镜的一侧。
[0227] S520若主透镜所成的图像位于透镜阵列的前方(即主透镜所成的图像位于透镜阵列面向主透镜的一侧,亦即主透镜与透镜阵列之间),则每个子图像的像圆需要围绕其中心旋转180°。将拼接好的图像围绕其中心旋转180°(因为主透镜所成的像是实像,存在180°的旋转)。前述主透镜所成的图像通过所述透镜阵列后即为原始图像。
[0228] S530若主透镜所成的图像位于透镜阵列的后方(即主透镜所成的图像位于透镜阵列背离主透镜的一侧),则每个子图像的像圆无需旋转。
[0229] S540获取任意相邻两个子图像的像圆之间满足所述预设条件的拼接间距值,拼接所述像圆生成场景图像。
[0230] 通过判断主透镜所成的图像与透镜阵列的位置关系,从而保证生成的场景图像不会出现颠倒等情况,进一步保证了场景图像的成像质量。
[0231] 本发明还提供一种基于上述透镜阵列成像方法的透镜阵列成像装置。请参见图7,图7为本发明一较佳实施方式的透镜阵列成像装置的结构示意图。如图7所示,本发明较佳实施方式的透镜阵列成像装置,所述透镜阵列成像装置包括:主透镜单元和图像传感器,设于所述主透镜单元与所述图像传感器单元之间的透镜阵列,所述透镜阵列包括多个呈阵列排布的子透镜,其中,所述透镜阵列成像装置还包括:
[0232] 灰度图像获取模块100,用于对所述透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取所述原始图像的灰度图像,所述灰度图像中包括多个与各子透镜一一对应的子图像;
[0233] 位置信息获取模块200,用于获取所述灰度图像中各子图像的位置信息;
[0234] 拼接间距值获取模块300,用于依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;
[0235] 像圆提取模块400,用于依据各子图像的尺寸,提取各子图像的像圆;
[0236] 场景图像生成模块500,用于按照所述拼接间距值,拼接所述像圆生成场景图像。
[0237] 较佳地,所述灰度图像获取模块100包括:
[0238] 参照图像获取单元,用于通过所述透镜阵列对光源成像,获取参照图像;
[0239] 原始图像获取单元,用于通过所述透镜阵列对所述场景成像,得到所述场景的原始图像;
[0240] 亮度均一化处理单元,用于依据所述参照图像,对所述原始图像进行亮度均一化处理,得到亮度均一的中间图像;
[0241] 灰度图像获取单元,用于获取所述中间图像的灰度图像。
[0242] 较佳地,所述位置信息获取模块200包括:
[0243] 参照子图像获取单元,用于获取所述参照图像中对应各子透镜的参照子图像;
[0244] 位置信息获取单元,用于获取对应各子透镜的参照子图像的位置信息;
[0245] 转换单元,用于将各参照子图像的位置信息转换为所述灰度图像中对应各子图像的位置信息。
[0246] 较佳地,所述拼接间距值获取模块300具体包括:
[0247] 初始设置单元,用于设置所述子图像的像圆直径的初始值;
[0248] 计算单元,用于计算任意相邻两个像圆中心之间的位置间距;
[0249] 初始拼接间距值获取单元,用于依据所述位置间距,计算任意相邻两个像圆行中第一行像圆与第二行像圆之间的行拼接间距值,以及任意相邻两个像圆列中第一列像圆与第二列像圆列之间的列拼接间距值;
[0250] 成像拼接间距值获取单元,用于依据所述行拼接间距值与所述列拼接间距值,获得任意相邻两个子图像的像圆之间满足预设条件的拼接间距值。
[0251] 请参见图8,图8为本发明另一较佳实施方式的透镜阵列成像装置的结构示意图。如图8所示,本发明另一种透镜阵列成像装置,包括:
[0252] 主透镜10,可以是包括多个玻璃透镜,用于拍摄场景图像;主透镜还可以是无变焦功能的相机摄像镜头。
[0253] 图像传感器30,用于将光学信号转换为电信号,较常见的是CMOS传感器和CCD传感器;
[0254] 透镜阵列20,设于所述主透镜10与所述图像传感器30之间;
[0255] 图像处理器40以及存储器50;其中,
[0256] 所述图像处理器40分别连接所述图像传感器30、所述透镜阵列20以及所述存储器50,调用所述存储器50中存储的一段程序指令以执行以下的透镜阵列成像方法:
[0257] S100对所述透镜阵列拍摄一场景得到的原始图像进行亮度均一化处理,并获取所述原始图像的灰度图像,所述灰度图像中包括多个与各子透镜一一对应的子图像;
[0258] S200获取所述灰度图像中各子图像的位置信息;
[0259] S300依据各子图像的位置信息,获取任意相邻两个子图像的像圆之间满足预设条件的拼接间距值;
[0260] S400依据各子图像的尺寸,提取各子图像的像圆;
[0261] S500按照所述拼接间距值,拼接所述像圆生成场景图像。
[0262] 在一个具体实施例中,所述步骤S100具体包括:
[0263] S110控制所述透镜阵列对光源成像,并获取参照图像;
[0264] S120控制所述透镜阵列对所述场景成像,得到所述场景的原始图像;
[0265] S130依据所述参照图像,对所述原始图像进行亮度均一化处理,得到亮度均一的中间图像;
[0266] S140获取所述中间图像的灰度图像。
[0267] 在一个具体实施例中,所述步骤S200具体包括:
[0268] S210获取所述参照图像中对应各子透镜的参照子图像;
[0269] S220获取对应各子透镜的参照子图像的位置信息;
[0270] S230将各参照子图像的位置信息转换为所述灰度图像中对应各子图像的位置信息。
[0271] 在一个具体实施例中,所述步骤S300具体包括:
[0272] S310设置所述子图像的像圆直径的初始值;
[0273] S320计算任意相邻两个像圆中心之间的位置间距;
[0274] S330依据所述位置间距,计算任意相邻两个像圆行中第一行像圆与第二行像圆之间的行拼接间距值,以及任意相邻两个像圆列中第一列像圆与第二列像圆列之间的列拼接间距值;
[0275] S340依据所述行拼接间距值与所述列拼接间距值,获得任意相邻两个子图像的像圆之间满足预设条件的拼接间距值。
[0276] 在一个具体实施例中,所述步骤S400具体包括:
[0277] S410获取各子图像的直径;
[0278] S420依据各子图像的直径,提取各子图像的像圆。
[0279] 较佳地,所述步骤S500具体包括:
[0280] S510判断所述场景经由一主透镜后所成的图像位于所述透镜阵列的靠近所述主透镜一侧还是背离所述主透镜一侧;
[0281] S520若经由所述主透镜后所成的图像位于所述透镜阵列的靠近所述主透镜一侧,则每一子图像的像圆围绕其中心旋转180°;
[0282] S530若经由所述主透镜后所成的图像位于所述透镜阵列的背离所述主透镜一侧,则每一子图像的像圆无需旋转;
[0283] S540获取任意相邻两个子图像的像圆之间满足所述预设条件的拼接间距值,拼接所述像圆生成场景图像。
[0284] 在一个具体实施例中,所述步骤S220具体包括:
[0285] S221建立对应所述参照图像的平面坐标系,计算所述参照图像在X方向和Y方向上的投影;
[0286] S222初步确定所述参照图像中各子图像中心点的X坐标值和Y坐标值;
[0287] S223精确计算所述参照图像中各子图像中心点的X坐标值和Y坐标值。
[0288] 在一个具体实施例中,所述步骤S330具体包括:
[0289] S331计算任意相邻的第一行像圆和第二行像圆之间的行拼接间距;
[0290] S332计算任意相邻的第一列像圆和第二列像圆之间的列拼接间距。
[0291] 在一个具体实施例中,所述步骤S300在所述步骤S330与步骤S340之间还包括:
[0292] S350将所获取的各相邻两行之间的行拼接间距加权计算行拼接间距的行平均值,将所获取的各相邻两列之间的列拼接间距加权计算列拼接间距的列平均值;
[0293] S360分别判断所述行平均值和所述列平均值是否在预设范围内,若在所述预设范围内则进入步骤S340,若不在所述预设范围内,则重新计算所述子图像的初始直径,直至新获得的行平均值与列平均值均在所述预设范围内。
[0294] 本发明所采用的上述透镜阵列成像装置可应用于胶囊型医疗设备、航空拍摄设备、智能汽车、机器人、智能穿戴设备、监视设备、医学显微镜、微创医疗设备、AR/VR设备以及带摄像头的导弹等电子设备中。
[0295] 以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。