本发明涉及图像处理领域,尤其涉及一种获取全景图像的方法及装置。
背景技术:
鱼眼镜头是模拟水下鱼类仰视水面效果的一种超广角镜头,其典型视场角为180°,还有的超过180°、大于220°,甚至达到270°。鱼眼镜头的好处很多:视角大,可容纳场景多,且可以适应狭小空间拍摄,因此在虚实景技术、机器人导航、视觉监控等许多计算机视觉领域中被广泛应用。
由于鱼眼镜头拍摄的图像视角较大,因此拼接成360°的全景图像只需要鱼眼镜头拍摄2-3张图像即可,因此,在全景内容制作,例如全景虚拟现实VR(Virtual Reality)视频制作中,鱼眼镜头得到了越来越多的使用。但是,采用鱼眼镜头拍摄的图像由于视角超广,因此其桶形弯曲畸变非常大,画面周边的成像呈现严重变形,直线弯曲,只有镜头中心部分的内容可以保持原来的状态。所以这类鱼眼图像虽能够包含较多的场景信息,但却不能显示重要的细节问题,因此使用这些畸变鱼眼图像进行全景图像拼接时需要进行畸变校正处理。
目前在利用鱼眼镜头图像进行全景图像拼接时,图片处理软件一般都是在平面坐标系下根据待拼接图像估计鱼眼镜头参数,然后建立模型进行矫正拼接获取平面的全景图像,最后把拼接后的平面的全景图像进行球面映射即将平面的全景图像贴在球上进行全景显示。由于相机镜头参数估计的不准确性,导致平面坐标系下存在的畸形很难被矫正,从而后面拼接融合后的图像有接缝拼不上的情况,拼接精度较低,拼接的图像效果会受到很大影响。
技术实现要素:
本发明实施例提供一种获取全景图像的方法及装置,用以提高鱼眼镜头全景图像的拼接精度。
本发明方法包括一种获取全景图像的方法,该方法包括:
利用双鱼眼镜头拍摄得到两幅鱼眼图像,其中,所述双鱼眼镜头为背对设置的两个镜头,且两个镜头的视场角之和大于等于360度;
将所述两幅鱼眼图像从平面坐标系映射到各自的球面模型中;
从映射后的每个鱼眼图像中提取特征点,并将提取到的特征点进行匹配得到特征点匹配对;
利用所述特征点匹配对确定映射后的两幅鱼眼图像之间的变换矩阵;
利用所述变换矩阵将映射后的两幅鱼眼图像转换到同一个球面模型中;
将同一个球面模型中的两幅鱼眼图像进行拼接,获取拼接后的球面全景图像。
进一步地,所述双鱼眼镜头包括第一鱼眼镜头和第二鱼眼镜头;
所述两幅鱼眼图像包括所述第一鱼眼镜头拍摄得到的第一鱼眼图像,所述第二鱼眼镜头拍摄得到的第二鱼眼图像;
将所述两幅鱼眼图像从平面坐标系映射到各自的球面模型中之前,还包括:
利用种子生长法对所述两幅鱼眼图像进行扫描,确定所述第一鱼眼图像和所述第二鱼眼图像的有效圆形区域;
所述将所述两幅鱼眼图像从平面坐标系映射到各自的球面模型中,包括:
根据平面坐标系与球面坐标系之间的映射关系,将所述第一鱼眼图像的有效圆形区域从平面坐标系映射到第一球面模型中,并所述第二鱼眼图像的有效圆形区域从平面坐标系映射到第二球面模型中。
进一步地,所述从映射后的每个鱼眼图像中提取特征点,包括:
构建Hessian矩阵,基于Hessian矩阵行列式的判别式det(H)取值的符号确定出H(f(x,y))处的极值点和极值点的坐标,其中,(x,y)为鱼眼图像的像素点的坐标;
所述将提取到的特征点进行匹配得到特征点匹配对,包括:
利用最近邻匹配法判定当一对极值点的欧氏距离小于设定阈值时,将该对极值点作为一组特征点匹配对。
进一步地,所述利用所述特征点匹配对确定映射后的两幅鱼眼图像之间的变换矩阵,包括:
根据确定出来的多个特征点匹配对的坐标,按照公式一进行求解,得到所述两幅鱼眼图像之间的变换矩阵;
所述公式一为:
其中,(x,y,z)、(x’,y’,z’)为每组特征点匹配对的球面坐标,为待求解的变换矩阵。
进一步地,所述将同一个球面模型中的两幅鱼眼图像进行拼接,获取拼接后的球面全景图像,包括:
用K-D树搜索同一个球面模型中的两幅鱼眼图像的最近邻和次近邻距离,并将搜素得到的距离作为权重,采用加权平均的方法对所述两幅图像的特征点进行配准,从而实现对两幅鱼眼图像进行拼接,得到拼接后的球面全景图像。
进一步地,在所述获取拼接后的球面全景图像后,所述方法还包括:根据获取的球面全景图像,进行虚拟现实VR显示。
基于同样的发明构思,本发明实施例进一步地提供一种获取全景图像的装置,该装置包括:
拍摄单元,用于利用双鱼眼镜头拍摄得到两幅鱼眼图像,其中,所述双鱼眼镜头为背对设置的两个镜头,且两个镜头的视场角之和大于等于360度;
映射单元,用于将所述两幅鱼眼图像从平面坐标系映射到各自的球面模型中
提取单元,用于从映射后的每个鱼眼图像中提取特征点;
匹配单元,用于并将提取到的特征点进行匹配得到特征点匹配对;
运算单元,用于利用所述特征点匹配对确定映射后的两幅鱼眼图像之间的变换矩阵;
转换单元,用于利用所述变换矩阵将映射后的两幅鱼眼图像转换到同一个球面模型中;
拼接单元,用于将同一个球面模型中的两幅鱼眼图像进行拼接,获取拼接后的球面全景图像。
进一步地,所述双鱼眼镜头包括第一鱼眼镜头和第二鱼眼镜头;
所述两幅鱼眼图像包括所述第一鱼眼镜头拍摄得到的第一鱼眼图像,所述第二鱼眼镜头拍摄得到的第二鱼眼图像;
所述装置还包括:
扫描单元,用于利用种子生长法对所述两幅鱼眼图像进行扫描,确定所述第一鱼眼图像和所述第二鱼眼图像的有效圆形区域;
所述映射单元具体用于:根据平面坐标系与球面坐标系之间的映射关系,将所述第一鱼眼图像的有效圆形区域从平面坐标系映射到第一球面模型中,并所述第二鱼眼图像的有效圆形区域从平面坐标系映射到第二球面模型中。
进一步地,所述提取单元具体用于:
构建Hessian矩阵,基于Hessian矩阵行列式的判别式det(H)取值的符号确定出H(f(x,y))处的极值点和极值点的坐标,其中,(x,y)为鱼眼图像的像素点的坐标;
所述匹配单元具体用于:利用最近邻匹配法判定当一对极值点的欧氏距离小于设定阈值时,将该对极值点作为一组特征点匹配对。
进一步地,所述运算单元具体用于:
根据确定出来的多个特征点匹配对的坐标,按照公式一进行求解,得到所述两幅鱼眼图像之间的变换矩阵;
所述公式一为:
其中,(x,y,z)、(x’,y’,z’)为每组特征点匹配对的球面坐标,为待求解的变换矩阵。
进一步地,所述拼接单元具体用于:用K-D树搜索同一个球面模型中的两幅鱼眼图像的最近邻和次近邻距离,并将搜素得到的距离作为权重,采用加权平均的方法对所述两幅图像的特征点进行配准,从而实现对两幅鱼眼图像进行拼接,得到拼接后的球面全景图像。
进一步地,显示单元,用于根据获取的球面全景图像,进行虚拟现实VR显示。
一方面,本发明实施例提供一种电子设备,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下方法:
针对利用双鱼眼镜头拍摄得到两幅鱼眼图像,其中,所述双鱼眼镜头为背对设置的两个镜头,且两个镜头的视场角之和大于等于360度;
将所述两幅鱼眼图像从平面坐标系映射到各自的球面模型中;
从映射后的每个鱼眼图像中提取特征点,并将提取到的特征点进行匹配得到特征点匹配对;
利用所述特征点匹配对确定映射后的两幅鱼眼图像之间的变换矩阵;
利用所述变换矩阵将映射后的两幅鱼眼图像转换到同一个球面模型中;
将同一个球面模型中的两幅鱼眼图像进行拼接,获取拼接后的球面全景图像。
另一方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任一项所述的获取全景图像的方法。
再一方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项所述的获取全景图像的方法。
本发明实施例提供的获取全景图像的方法及装置、电子设备、计算机可读存储介质,通过将鱼眼图像从平面坐标系直接映射到球面模型,再进行拼接,能够有效校正鱼眼图像产生的径向畸变,使鱼眼图像映射到自身所在单位球面上的映射的相对位置得到校正,边缘区域的变形得到有效的校正。另外,通过在单位球面上的配准,使得球面上的绝对位置得到有效的配准,因此图像重合区域中匹配的图像点间的拼接误差大幅度减小,因此使得全景图像中由匹配点间的拼接误差引起的重影、错位、模糊等问题也相应得到了解决。本发明实施例提供的图像拼接方法得到的全景图像中完全没有空白图像区域,重叠区域图像误差小,因此图像拼接精度得到大幅提高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种获取全景图像的方法流程示意图;
图2为本发明实施例提供的一种鱼眼图像在平面上的直角坐标系示意图;
图3为本发明实施例提供的一种平面坐标系与球面坐标系的映射示意图;
图4为本发明实施例提供的图像融合区域示意图;
图5为本发明实施例提供的一种获取全景图像的装置结构示意图;
图6为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
鱼眼镜头是一种焦距为16mm或者更短,并且视角接近或等于180°的镜头,双鱼眼镜头具有两个镜头,且两个镜头前后对称,通常一次可以拍摄得到两幅鱼眼图像,理论上只要两幅鱼眼图像就可以通过拼接获得双鱼眼镜头周围的景物信息。但同时由于鱼眼图像会在边缘产生扭曲,直接将两幅鱼眼图像进行拼接可能会产生较大误差。因此,本发明实施例提供一种获取全景图像的方法,可以实现将双鱼眼镜头的两幅鱼眼图像处理后进行拼接,使得得到的球面全景图像精度较高。
参见图1所示,本发明实施例提供一种获取全景图像的方法流程示意图,具体地实现方法包括:
步骤S101,利用双鱼眼镜头拍摄得到两幅鱼眼图像,其中,所述双鱼眼镜头为背对设置的两个镜头,且两个镜头的视场角之和大于等于360度。
步骤S102,将所述两幅鱼眼图像从平面坐标系映射到各自的球面模型中。
步骤S103,从映射后的每个鱼眼图像中提取特征点,并将提取到的特征点进行匹配得到特征点匹配对。
步骤S104,利用所述特征点匹配对确定映射后的两幅鱼眼图像之间的变换矩阵。
步骤S105,利用所述变换矩阵将映射后的两幅鱼眼图像转换到同一个球面模型中。
步骤S106,将同一个球面模型中的两幅鱼眼图像进行拼接,获取拼接后的球面全景图像。
其中,所述双鱼眼镜头包括第一鱼眼镜头和第二鱼眼镜头;所述两幅鱼眼图像包括所述第一鱼眼镜头拍摄得到的第一鱼眼图像,所述第二鱼眼镜头拍摄得到的第二鱼眼图像,在执行步骤S101之前,还需要利用种子生长法对所述两幅鱼眼图像进行一次扫描,得到每幅鱼眼图像的有效圆形区域。具体地,根据鱼眼图像的特征,使用种子生长法,求得鱼眼有效圆形区域,为映射到球面做准备。
其中,种子生长法是指通过指定一个原始点即所谓的种子,圆形区域即为一个像素,然后通过区域生长的方法,把跟种子具有一定阈值范围内的像素归入圆形区域,这样不断的扩大圆形区域,完成圆形区域的寻找。传统的区域生长法都是使用两次扫描完成,本算法是一次扫描全图完成,有效的提高了运算速度。算法核心代码如下:
由于每一款双鱼眼镜头的有效鱼眼区域是固定的,因此通过一次扫描查找,将查到到坐标记录下来,后续的就不需要再进行种子生长。
按照上述算法得到两幅鱼眼图像的有效区域之后,就可以将鱼眼图像从平面坐标系映射到球面坐标系,主要是利用了平面坐标系与球面坐标系的映射关系,其中,双鱼眼镜头拍摄得到的鱼眼图像一般为平面图像,鱼眼图像对应的直角坐标系如图2所示,其中,图2中半径R和鱼眼图像拍摄的最大角度α表示方式如下:
其中,平面坐标系到球面坐标系的映射方式如图3所示,球面坐标(x,y,z)与角度α和角度θ的关系公式3所示。
基于上述映射关系,把双鱼眼镜头拍摄得到的两幅鱼眼图像分别从平面坐标系映射到各自的球面模型中。具体地,根据平面坐标系与球面坐标系之间的映射关系,将双鱼眼镜头的第一鱼眼镜头拍摄得到的第一鱼眼图像的有效圆形区域从平面坐标系映射到第一球面模型中,并将双鱼眼镜头的的第二鱼眼镜头拍摄得到的第二鱼眼图像的有效圆形区域从平面坐标系映射到第二球面模型中。
当完成上述映射之后,需要从映射后的每个鱼眼图像中提取特征点,提取方法是首先构建Hessian矩阵,基于Hessian矩阵行列式的判别式det(H)取值的符号确定出H(f(x,y))处的极值点和极值点的坐标,其中,(x,y)为鱼眼图像的像素点的坐标。
一般来说,根据图像特征点计算出的不同特性,可以将图像特征点分为角点,高曲率点,线段末端,边缘轮廓,闭合区域,重心等。这些类型的像素点能够在图像亮度,尺度,旋转等因素的影响下,尽可能保持不变性。对于一幅图像中的某个像素点,能在不同条件下重复检测出,说明这一特征点具有显著性,独特性好的优点,则在后续图像配准和拼接的过程中能提高图像拼接的效率和拼接精确度。本发明实施例主要是利用判别式的值是Hessian矩阵的特征值,可以利用判定结果的符号将所有点分类,根据判别式det(H)的取值正负,来判别该像素点是或不是极值点,当判别式的值为负时,则证明该点是极值点,一般极值点也是角点,记录该极值点的坐标。
进一步地,将提取到的特征点进行匹配得到特征点匹配对,具体地,利用最近邻匹配法判定当一对极值点的欧氏距离小于设定阈值时,将该对极值点作为一组特征点匹配对。
具体步骤为:对第一鱼眼图像的有效区域中的每个特征点,以第二鱼眼图像的有效区域中的特征点集为搜索空间,以特征向量间的欧式距离为相似性度量,在搜索空间内搜索与其距离最小的特征点,作为其匹配点,组成匹配对。得到两幅图像的特征点匹配对集φ={Xi,i=1,2,...,N},其中Xi为第i对特征点匹配对,N为匹配对个数。
进一步地,为了使基于特征点匹配对所进行的图像配准更为准确,需要对特征点匹配对进行筛选,排除错误的匹配对,筛选算法的具体步骤包括:
步骤a,初始化选择匹配对集S为空集,即S=φ;
步骤b,选取最小采样集,从匹配对集φ中随机选取K个最小采样集{C1,C2,...,CK},其中每个最小采样集包括4个特征点匹配对,这是因为在计算变换矩阵时至少需要4个特征点匹配对。计算每个最小采样集对应的单应矩阵,得到K个单应矩阵集{T1,T2,…,TK},其中Tk表示第k个最小采样集对应的单应矩阵,k=1,2,…,K。
本发明实施例中所采用的随机选取最小采样集的策略为:在匹配对集φ随机选取一个特征点匹配对Xi作为最小采样集中的第一个匹配对,以匹配对Xi中一个特征点为中心、预设边长的矩形范围作为邻域范围,在同属一幅图像特征点落入该邻域范围内的匹配对中随机和选取3个特征点匹配对,构成一个最小采样集。K的大小和邻域范围的边长可以根据需要进行设置,本发明实施例中K=500,边长为50。
步骤c,计算残差向量,即计算匹配对集φ中每个匹配对Xi与单应矩阵集{T1,T2,…,TK}中每个单应矩阵的残差,每个匹配对Xi对应的K个残差组成一个残差向量di=[di1di2...diK],其中dik表示匹配对Xi与单应矩阵Hk的残差。
步骤d,计算相似度:对于匹配对集φ中所有匹配对两两计算相似度,任意两个匹配对Xi和Xj的相似度f(Xi,Xj)的计算公式为:
其中,其中,Xi属于φ,Xj属于φ,Xi不等于Xj,的定义为
其中,dik表示匹配对Xi与单应矩阵Tk的残差,djk为匹配对Xj与单应矩阵Tk的残差,ξ为预设的残差阈值,可以根据实际需要进行设置,经实验得到ξ较优的取值范围为3≤ξ≤8,本实施例中设置ξ=5。
步骤e,选择匹配对:计算匹配对集φ中的每个匹配对Xi与其他所有匹配对的相似度f(Xi,Xj)之和F(Xi)=Σjf(Xi,Xj),选择F(Xi)最大的匹配对Xi′作为本次筛选的关键匹配对,计算匹配对Xi′与其他匹配对相似度f(Xi′,Xj)的平均值筛选f(Xi′,Xj)>favg的匹配对,与关键匹配对Xi′一起构成匹配对集S′,将匹配对集S′加入选择匹配对集S中,即令S=S+S′,并从匹配对集φ中删除这些匹配对,即令φ=φ-S′。
步骤f,判断是否|S′|<τ|||φ|<τ,其中|S′|表示本次筛选匹配对集S′匹配对数量,|φ|表示匹配对集φ中匹配对数量,τ表示预设数量阈值。也就是说,判断是否本次筛选的匹配对数量或本次筛选剩下的匹配对数量小于τ,当任意一项小于τ,则结束筛选,否则返回步骤b。
进一步地,当求得特征点匹配对之后,根据确定出来的多个特征点匹配对的坐标按照如下公式进行求解,得到所述两幅鱼眼图像的变换矩阵;
其中,(x,y,z)、(x’,y’,z’)和为每组特征点匹配对的球面坐标,为待求解的变换矩阵。
变换矩阵的主要目的就是根据配准后的图像根据匹配的特征点对的位置关系,计算图像之间的变换矩阵,将两幅图像投影到一个成像上,也就是说,根据上述步骤c筛选得到的选择匹配对集S中的匹配对来计算两幅待拼接图像的变换矩阵,利用变换矩阵将两幅待拼接图像变换至同一坐标系。变换矩阵具有9个参数,归一化后,变换模型公式6,在求解变换矩阵时,主要利用重复区域特征点匹配对。根据变换矩阵将两幅图像转换到同一个图像上,形成可以图像拼接的条件。
进一步地,用K-D树搜索同一个球面模型中的两幅鱼眼图像的最近邻和次近邻距离,并将搜素得到的距离作为权重,采用加权平均的方法对所述两幅图像的特征点进行配准,从而实现对两幅鱼眼图像进行拼接,得到拼接后的球面全景图像。
也就是对两幅鱼眼图像进行图像融合,其中,基于graph-cut(图像分割)的最优缝合线算法的原理和具体过程可以参考文献“Graphcut textures:image and video synthesis using graph cuts”。根据最优缝合线L对变换到同一坐标系下的两幅待拼接图像进行融合。由于待拼接的两幅图像可能因为曝光不同等因素有一定的颜色差异,为了使拼接后图像颜色在缝合线处平滑过渡,本发明实施例采用加权平均法在最优缝合线L周围对待拼接的图像像素值进行融合。具体方法如下:
计算该像素点(x,y)与最优缝合线L在融合方向上的距离D(x,y),如果D(x,y)≥d,则计算像素点(x,y)与中心点C1和C2在融合方向上的距离D1和D2,如果D1>D2,则令融合图像中像素点(x,y)的像素值P(x,y)取其在图像1中的像素值,否则令融合图像中像素点(x,y)的像素值P(x,y)取其在图像2中的像素值,如果D(x,y)<d,则计算像素点(x,y)与边界L1和边界L2在融合方向上的距离d1和d2,那么融合图像中像素点(x,y)的像素值P(x,y)按照以下公式计算:
其中,P1(x,y)、P2(x,y)为像素点(x,y)在两幅鱼眼图像的像素值。
可见,根据边界L1和边界L2可以将图像重合区域分为3个区域,边界L1和边界L2之外的两个区域内的像素点不进行融合,边界L1和边界L2里面的区域进行加权融合。图4是图像融合区域示意图。如图4所示,沿水平方向融合时,图像重合区域从左至右分为三个区域,两侧区域(区域1和区域2)的像素点像素值分别来源于对应的图像,中间区域(区域3)的像素值采用加权平均;沿垂直方向融合时,图像重合区域从上至下分为三个区域,上下区域(区域1和区域2)的像素点像素值分别来源于对应的图像,中间区域(区域3)的像素值采用加权平均。经过上述方法融合拼接之后的图像,图像重合区域中匹配的图像点间的拼接误差大幅度减小,因此使得全景图像中由匹配点间的拼接误差引起的重影、错位、模糊等问题也相应得到了解决。
当生成了球面全景图像之后,就可以利用VR(Virtual Reality,虚拟现实设备)进行显示,因为图像是经过本发明实施例提供的方法处理之后的全景图像,这样图像的拼接的精确度高,所以在VR显示时的图像更加清晰,解决显示时重影、错误的问题。
基于相同的技术构思,本发明实施例还提供一种获取全景图像的装置,该装置可执行上述方法实施例。本发明实施例提供的装置如图5所示,包括:拍摄单元401、映射单元402、提取单元403、匹配单元404、运算单元405、转换单元406、拼接单元407,其中:
拍摄单元401,用于利用双鱼眼镜头拍摄得到两幅鱼眼图像,其中,所述双鱼眼镜头为背对设置的两个镜头,且两个镜头的视场角之和大于等于360度;
映射单元402,用于将所述两幅鱼眼图像从平面坐标系映射到各自的球面模型中;
提取单元403,用于从映射后的每个鱼眼图像中提取特征点;
匹配单元404,用于并将提取到的特征点进行匹配得到特征点匹配对;
运算单元405,用于利用所述特征点匹配对确定映射后的两幅鱼眼图像之间的变换矩阵;
转换单元406,用于利用所述变换矩阵将映射后的两幅鱼眼图像转换到同一个球面模型中;
拼接单元407,用于将同一个球面模型中的两幅鱼眼图像进行拼接,获取拼接后的球面全景图像。
其中,所述双鱼眼镜头包括第一鱼眼镜头和第二鱼眼镜头;
所述两幅鱼眼图像包括所述第一鱼眼镜头拍摄得到的第一鱼眼图像,所述第二鱼眼镜头拍摄得到的第二鱼眼图像;
进一步地,还包括:扫描单元408,用于利用种子生长法对所述两幅鱼眼图像进行一次扫描,得到每幅鱼眼图像的有效圆形区域。
进一步地,所述映射单元402具体用于:用于利用种子生长法对所述两幅鱼眼图像进行扫描,确定所述第一鱼眼图像和所述第二鱼眼图像的有效圆形区域;
所述映射单元具体用于:根据平面坐标系与球面坐标系之间的映射关系,将所述第一鱼眼图像的有效圆形区域从平面坐标系映射到第一球面模型中,并所述第二鱼眼图像的有效圆形区域从平面坐标系映射到第二球面模型中。
进一步地,所述提取单元403具体用于:构建Hessian矩阵,基于Hessian矩阵行列式的判别式det(H)取值的符号确定出H(f(x,y))处的极值点和极值点的坐标,其中,(x,y)为鱼眼图像的像素点的坐标;
所述匹配单元404具体用于:利用最近邻匹配法判定当一对极值点的欧氏距离小于设定阈值时,将该对极值点作为一组特征点匹配对。
进一步地,所述运算单元405具体用于:根据确定出来的多个特征点匹配对的坐标,按照公式一进行求解,得到所述两幅鱼眼图像之间的变换矩阵,公式一如上文所述,不再赘述。
进一步地,所述拼接单元407具体用于:用K-D树搜索同一个球面模型中的两幅鱼眼图像的最近邻和次近邻距离,并将搜素得到的距离作为权重,采用加权平均的方法对所述两幅图像的特征点进行配准,从而实现对两幅鱼眼图像进行拼接,得到拼接后的球面全景图像。
进一步地,还包括,显示单元409,用于根据获取的球面全景图像,进行虚拟现实VR显示。
进一步地,本发明实施方式涉及一种电子设备,如图6所示,本实施方式的电子设备可以包括:处理器501、存储器502、显示器503和收发器504。
其中,处理器501为系统的核心,其可以为CPU(中央处理器)、DSP(Digital Signal Processor,数字信号处理器)等,其主要负责电子设备中各部件之间的协调工作,其中,存储器502可以为ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机访问存储器)、缓存或闪存等存储设备,其可以用于存储计算机可读的程序指令,该程序指令用于使得处理器501实现本实施例所示的获取全景图像的功能。其中,显示器503主要用于显示人机交互界面,以方便用户进行操作,并显示全景图像。其中,收发器504主要用于接收双鱼眼镜头拍摄的图像。
不难发现,本实施方式为与上述方法相对应的设备实施例,本实施方式可与上述方法方式互相配合实施。上述方法中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述方法实施方式中。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类设备包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,本发明实施例进一步提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任一项所述的业务存储位置的分配方法及其系统。
进一步地,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项所述的业务存储位置的分配方法及其系统。
综上所述,本发明实施例通过将鱼眼图像从平面坐标系直接映射到球面模型,再进行拼接,能够有效校正鱼眼图像产生的径向畸变,使鱼眼图像映射到自身所在单位球面上的映射的相对位置得到校正,边缘区域的变形得到有效的校正。另外,通过在单位球面上的配准,使得球面上的绝对位置得到有效的配准,因此图像重合区域中匹配的图像点间的拼接误差大幅度减小,因此使得全景图像中由匹配点间的拼接误差引起的重影、错位、模糊等问题也相应得到了解决。本发明实施例提供的图像拼接方法得到的全景图像中完全没有空白图像区域,重叠区域图像误差小,因此图像拼接精度得到大幅提高。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。