一种修正鱼眼图像的投影方法及系统与流程

文档序号:12916340阅读:275来源:国知局
一种修正鱼眼图像的投影方法及系统与流程

本发明涉及图像处理技术领域,更具体地说,涉及一种修正鱼眼图像的投影方法及系统。



背景技术:

鱼眼镜头是一种焦距为16mm或更短的并且视角接近或等于180°。它是一种极端的广角镜头。为使镜头达到最大的摄影视角,这种摄影镜头的前镜片直径很短且呈抛物状向镜头前部凸出,与鱼的眼睛颇为相似,“鱼眼镜头”因此而得名。如图1所示,鱼眼镜头的视角非常广,由于要把半球区域的景象投影到一个平面,鱼眼镜头会产生一个严重畸变的图像,包括径向畸变和切向畸变。切向的畸变是无关紧要的,径向畸变会将现实中的直线扭曲成一条曲线,而且点的位置在径向上也会偏离正确的位置。随着远离鱼眼图像中心位置,这些畸变随之会加强,进而不仅会影响观察,而且辨识度也很差。

在现有的修正鱼眼图像的投影方式中,将鱼眼图像投影到球体的表面,在这个投影的过程,首先将整个球面根据经线和纬线或分成许多小的网格,而每一个网格有四个顶点,然后计算每个网格上的顶点到原鱼眼图像的映射,最后,根据计算出的映射关系对整个球面进行渲染。在此过程中,整个球面大约有2000多个顶点需要去计算点与点之间的映射,且还需要将每个计算出来的结果进行保存,因此,在此投影过程中,计算点与点之间的映射耗时较大,且耗费内存资源。



技术实现要素:

本发明要解决的技术问题在于,针对现有的修正鱼眼图像的投影方式的上述不足,提供一种修正鱼眼图像的投影方法及系统。

本发明解决上述技术问题所采用的技术方案是提供了一种修正鱼眼图像的投影方法,所述方法包括以下步骤:

将所述鱼眼图像进行投影变换得到索引表;

将所述索引表映射到立方体的表面上以得到所述表面在所述索引表中的位置关系。

在上述的修正鱼眼图像的投影方法中,通过等量矩形投影将所述鱼眼图像进行投影变换得到所述索引表。

在上述的修正鱼眼图像的投影方法中,所述鱼眼图像的像素点(xf,yf)与所述鱼眼图像的像素点(xf,yf)在所述索引表中对应的点(xp,yp)的关系满足以下公式:

其中,θ为入射光线与主光轴夹角。

在上述的修正鱼眼图像的投影方法中,所述将所述索引表映射到立方体的表面上以得到所述表面在所述索引表中的位置关系的步骤包括:

将所述立方体的6个所述表面展开以得到展开平面,并在所述展开平面上建立平面坐标系时获取所述立方体的顶点坐标;

将所述索引表划分成与所述立方体的6个所述表面相对应的平面区域;

根据所述展开平面上的每个所述表面的所述顶点坐标和所述顶点坐标在所述索引表中相对应的点坐标计算每个所述表面上任意点在所述索引表中的坐标位置。

在上述的修正鱼眼图像的投影方法中,采用差值方法根据每个所述表面上位于对角线上的所述顶点坐标和所述位于对角线上的所述顶点坐标在所述索引表中相对应的点坐标计算每个所述表面上任意点在所述索引表中的坐标位置。

本发明还提供了一种修正鱼眼图像的投影系统,所述系统包括:

变换模块,用于将所述鱼眼图像进行投影变换得到索引表;

映射模块,用于将所述索引表映射到立方体的表面上以得到所述表面在所 述索引表中的位置关系。

在上述的修正鱼眼图像的投影系统中,所述变换模块通过等量矩形投影将所述鱼眼图像进行投影变换得到所述索引表。

在上述的修正鱼眼图像的投影系统中,所述鱼眼图像的像素点(xf,yf)与所述鱼眼图像的像素点(xf,yf)在所述索引表中对应的点(xp,yp)的关系满足以下公式:

其中,θ为入射光线与主光轴夹角。

在上述的修正鱼眼图像的投影系统中,所述映射模块包括:

展开单元,用于将所述立方体的6个所述表面展开以得到展开平面,并在所述展开平面上建立平面坐标系时获取所述立方体的顶点坐标;

划分单元,用于将所述索引表划分成与所述立方体的6个所述表面相对应的平面区域;

计算模块,用于根据所述展开平面上的每个所述表面的所述顶点坐标和所述顶点坐标在所述索引表中相对应的点坐标计算每个所述表面上任意点在所述索引表中的坐标位置。

在上述的修正鱼眼图像的投影系统中,所述计算单元采用差值方法根据每个所述表面上位于对角线上的所述顶点坐标和所述位于对角线上的所述顶点坐标在所述索引表中相对应的点坐标计算每个所述表面上任意点在所述索引表中的坐标位置。

本发明的修正鱼眼图像的投影方法及系统的有益效果有:

通过将鱼眼图像进行投影变换得到索引表,进而将索引表映射到立方体的表面,从而鱼眼图像中的像素点均可以在立方体中找到与其对应的像素点,即实现鱼眼图像到立方体的投影,应用于修正鱼眼图像时,仅需要计算和保存鱼眼图像到立方体的顶点的映射关系,即最多24个映射关系的计算,相对于投影到球体表面上时,大大减少了运算量,提高了计算效率,优化内存的占用大小,从而提高图像处理的效率。同时,应用于修正鱼眼图像时提高了人眼的可辨识 度。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是鱼眼镜头的视角的示意图;

图2是本发明的修正鱼眼图像的投影方法实施例的流程图;

图3是本发明的将索引表映射到立方体的表面上较优实施例的流程图;

图4是立方体展开后的一种展开平面的平面图形;

图5是索引表对应于图4中的展开平面的划分图;

图6是本发明的修正鱼眼图像的投影系统实施例的结构示意图;

图7是图6中的映射模块实施例的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明通过将鱼眼图像进行投影变换得到索引表,进而将索引表映射到立方体的表面,从而鱼眼图像中的像素点均可以在立方体中找到与其对应的像素点,即实现鱼眼图像到立方体的投影,由于将索引表映射到立方体的表面上,因而仅需要计算立方体的顶点坐标在投影变换而得到的索引表中对应的点,提高计算效率,并且优化内存的占用大小。

如图2所示,是本发明的修正鱼眼图像的投影方法实施例的流程图。在本实施例中,参考图2,该投影方法包括以下步骤:

步骤s102中,将鱼眼图像进行投影变换得到索引表;

在此步骤中,通过equirectangular投影(等量矩形投影)将鱼眼图像进行投影变换得到索引表,根据鱼眼镜头拍摄的鱼眼图像可知,满足以下公式(1)和(2):

rf=2ftan(θ)(2)

在上述公式(1)和(2),rf为鱼眼图像上的像素点p到鱼眼图像中心的距离,f为有效焦距,θ为入射光线与主光轴夹角。

根据equirectangular投影可知,鱼眼图像上的像素点p与其在索引表中对应的点满足以下公式(3):

在上述公式(3)中,鱼眼图像上的像素点p的坐标为(xf,yf),鱼眼图像上的p点在索引表中对应的点的坐标为(xp,yp)。

由上述公式(1),(2)和(3)可知,鱼眼图像的像素点p与其在索引表中对应的点的关系满足如下述公式(4),(5)和(6):

在上述公式(6)中,image-width表示鱼眼图像的宽度,fovhorz表示鱼眼图像的水平视场角度。在本发明中,还可以通过其他投影方式将鱼眼图像进行投影变换得到索引表,例如millercylindrical投影(米勒圆柱投影)。

步骤s104中,将索引表映射到立方体的表面上以得到表面在索引表中的位置关系。

在此步骤中,将索引表对应映射到立方体的表面上,相当于把索引表与立方体的表面重叠在一起,索引表与立方体的表面一一对应。具体地,如图3所示,是将索引表映射到立方体的表面上较优实施例的流程图。

参考图3,首先,在步骤s1041中,将立方体的6个表面展开以得到展开平面,并在该展开平面上建立平面坐标系时获取该立方体的顶点坐标。立方体的6个表面分别为内表面、外表面、左表面、右表面、上表面和下表面,展开后, 展开平面为由此6个表面构成的平面图形,立方体的顶点坐标也即在该展开平面内,如图4所示,是一种展开平面的平面图形,然后以该平面图形为平面,建立平面坐标系,获取立方体的顶点坐标,包括内表面、外表面、左表面、右表面、上表面和下表面的顶点坐标。

随后,在步骤s1042中,将索引表划分成与立方体的6个表面相对应的平面区域。由于索引表与立方体的表面一一对应,立方体的6个表面均能在索引表中找到相对应的平面区域,如图5所示,索引表被划分成6个平面区域,内平面区域、外平面区域、左平面区域、右平面区域、上平面区域和下平面区域分别相对应于图4中所示的立方体的内表面、外表面、左表面、右表面、上表面和下表面。

最后,在步骤s1043中,根据展开平面上每个表面的顶点坐标和顶点坐标在索引表中相对应的点坐标计算每个表面上任意点在索引表中的坐标位置。每个表面上的任意点在索引表中的坐标位置即是每个表面在索引表中的位置关系,优选地,采用差值方法根据每个表面上位于对角线上的顶点坐标和位于对角线上的顶点坐标在索引表中相对应的点坐标计算每个表面上任意点在索引表中的坐标位置,例如,左平面的左上角的顶点坐标为(x1,y1),其在索引表中对应的点坐标为(α1,β1),右下角的顶点坐标为(x2,y2),其在索引表中对应的点坐标为(α2,β2),根据差值方法,左平面上任意点的坐标(x,y)与其在索引表中对应的点坐标(α2,β2)的关系满足如下公式(7)和(8):

在本发明中,还可以根据每个表面上的顶点坐标通过其他方法来计算每个表面在索引表中的位置关系,可以看出,仅需要计算每个表面上的顶点坐标在索引表中的位置关系,即最多计算24个顶点到索引表的映射关系,提高了计算效率。

如图6所示,是本发明的修正鱼眼图像的投影系统实施例的结构示意图。 在本实施例中,参考图6,该投影系统100包括变换模块102和映射模块104。

其中,变换模块102用于将鱼眼图像进行投影变换得到索引表。具体地,变换模块104通过equirectangular投影将鱼眼图像进行投影变换得到索引表,根据鱼眼镜头拍摄的鱼眼图像可知,满足上述公式(1)和(2),进而根据equirectangular投影可知,鱼眼图像上的像素点p与其在索引表中对应的点满足上述公式(3)。进一步地,由上述公式(1),(2)和(3)可知,鱼眼图像的像素点p与其在索引表中对应的点的关系满足如下述公式(4),(5)和(6)。在本发明中,变换模块104还可以通过其他投影方式将鱼眼图像进行投影变换得到索引表,例如millercylindrical投影(米勒圆柱投影)。

映射模块104用于将索引表映射到立方体的表面上以得到表面在索引表中的位置关系。将索引表对应映射到立方体的表面上,相当于把索引表与立方体的表面重叠在一起,索引表与立方体的表面一一对应。具体地,如图7所示,是映射模块的结构示意图,该映射模块104包括展开单元1041、划分单元1042和计算单元1043。

其中,展开单元1041用于将立方体的6个表面展开以得到展开平面,并在该展开平面上建立平面坐标系时获取该立方体的顶点坐标。立方体的6个表面分别为内表面、外表面、左表面、右表面、上表面和下表面,展开后,展开平面为由此6个表面构成的平面图形,立方体的顶点坐标也即在该展开平面内,如图4所示,是一种展开平面的平面图形,然后以该平面图形为平面,建立平面坐标系,获取立方体的顶点坐标,包括内表面、外表面、左表面、右表面、上表面和下表面的顶点坐标。

划分单元1042用于将索引表划分成与立方体的6个表面相对应的平面区域。由于索引表与立方体的表面一一对应,立方体的6个表面均能在索引表中找到相对应的平面区域,如图5所示,索引表被划分成6个平面区域,内平面区域、外平面区域、左平面区域、右平面区域、上平面区域和下平面区域分别相对应于图4中所示的立方体的内表面、外表面、左表面、右表面、上表面和下表面。

计算单元1043用于根据展开平面上每个表面的顶点坐标和顶点坐标在索 引表中相对应的点坐标计算每个表面上任意点在索引表中的坐标位置。每个表面上的任意点在索引表中的坐标位置即是每个表面在索引表中的位置关系,优选地,该计算单元采用差值方法根据每个表面上位于对角线上的顶点坐标和位于对角线上的顶点坐标在索引表中相对应的点坐标计算每个表面上任意点在索引表中的坐标位置,例如,左平面的左上角的顶点坐标为(x1,y1),其在索引表中对应的点坐标为(α1,β1),右下角的顶点坐标为(x2,y2),其在索引表中对应的点坐标为(α2,β2),根据差值方法,左平面上任意点的坐标(x,y)与其在索引表中对应的点坐标(α2,β2)的关系满足上述公式(7)和(8)。

在本发明中,还可以根据每个表面上的顶点坐标通过其他方法来计算每个表面在索引表中的位置关系,可以看出,仅需要计算每个表面上的顶点坐标在索引表中的位置关系,即最多计算24个顶点到索引表的映射关系,提高了计算效率。

综述,本发明的修正鱼眼图像的投影方法及系统通过将鱼眼图像投影到立方体,应用于修正鱼眼图像时,仅需要计算和保存鱼眼图像到立方体的顶点的映射关系,进而相对于投影到球体表面上时,大大减少了运算量,提高了计算效率,优化内存的占用大小,从而提高图像处理的效率。同时,应用于修正鱼眼图像时提高了人眼的可辨识度。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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