CN108122191A - 鱼眼图像拼接成全景图像和全景视频的方法及装置 - Google Patents

鱼眼图像拼接成全景图像和全景视频的方法及装置 Download PDF

Info

Publication number
CN108122191A
CN108122191A CN201611075609.0A CN201611075609A CN108122191A CN 108122191 A CN108122191 A CN 108122191A CN 201611075609 A CN201611075609 A CN 201611075609A CN 108122191 A CN108122191 A CN 108122191A
Authority
CN
China
Prior art keywords
pixel
fish eye
panoramic picture
cylindrical surface
eye images
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611075609.0A
Other languages
English (en)
Other versions
CN108122191B (zh
Inventor
余晖
曾智
陈卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu meiruo Mengjing Technology Co.,Ltd.
Original Assignee
Chengdu Guan Chong Chong Yu Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Guan Chong Chong Yu Technology Co Ltd filed Critical Chengdu Guan Chong Chong Yu Technology Co Ltd
Priority to CN201611075609.0A priority Critical patent/CN108122191B/zh
Publication of CN108122191A publication Critical patent/CN108122191A/zh
Application granted granted Critical
Publication of CN108122191B publication Critical patent/CN108122191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/047Fisheye or wide-angle transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

本发明公开了一种鱼眼图像拼接成全景图像和全景视频的方法及装置,利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像;根据经纬度坐标、球面坐标和平面坐标的映射关系,将获取到N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对;根据球面坐标和经纬度坐标的映射关系,获取匹配特征点对的姿态矩阵;以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定全景图像中每个像素点的像素值;根据所述全景图像中每个像素点的像素值,获取所述全景图像。

Description

鱼眼图像拼接成全景图像和全景视频的方法及装置
技术领域
本发明涉及图像处理技术领域,尤其涉及一种鱼眼图像拼接成全景图像和全景视频的方法及装置。
背景技术
鱼眼镜头是一种短焦距、大视场的特殊摄像镜头,其视角接近180°,超出人眼所能看到的视角范围,为了达到这种效果,鱼眼镜头前镜片向前凸起和鱼的眼睛很像。鱼眼镜头采用非线性结构,镜头的物理特性决定了在相同的面积下,拍摄的视角远远大于普通镜头拍摄的视角,但同时,在图像的边缘也会产生形变。鱼眼镜头拍摄得到的鱼眼图像圆心附近信息量最大,形变最小,而随着半径的增加,信息量减少,形变逐渐增大。由于鱼眼镜头物理特性,在摄影、医疗、检查技术、安全监视、防火检测、虚拟现实等方面都有广泛的应用。由于自身的优点使得鱼眼镜头广泛的应用到各个方面,针对鱼眼镜头所拍摄的鱼眼图像特点,利用鱼眼图像进行全景图像的拼接具有非常好的实际应用前景和技术研究价值。
现有技术中,将多副鱼眼图像拼接成全景图像过程中,首先从所述多福鱼眼图像中采集具有重叠部分的图像序列,然后进行图像配准,将配准后的图像平滑拼接或融合得到全景图像,而此时如果需要得到高质量的全景图像,其图像配准和平滑拼接的算法需要花费大量的时间,使得获取的所述全景图像的实时性变差;而在确保所述全景图像的实时性的基础上时,必然会使图像配准和平滑拼接的算法计算的时间变短,导致出现获取的全景图像的精度低的问题,从而存在获取全景图像过程中的实时性和精度不能兼容的问题。
发明内容
本发明提供了一种鱼眼图像拼接成全景图像和全景视频的方法及装置,解决了现有技术中存在获取全景图像过程中实时性和精度不能兼容的问题,实现了在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
本申请第一方面提供了一种鱼眼图像拼接成全景图像的方法,包括:
利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像,其中,N为不小于2的整数;
根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述N个鱼眼图像按经纬度展开后的N个柱面投影图像;
将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
根据所述全景图像中每个像素点的像素值,获取所述全景图像。
可选的,所述获取每组柱面投影图像相交区域的匹配特征点对的三维坐标集,具体包括:
利用经纬度坐标获取每组柱面投影图像相交区域的匹配特征点对在柱面投影图像中的二维坐标集;
根据经纬度坐标和球面坐标的映射关系和所述二维坐标集,获取每组柱面投影图像相交区域的匹配特征点对的三维坐标集。
可选的,在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值,具体包括:
根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点;
根据所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述全景图像中每个像素点的像素值。
可选的,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点,具体包括:
将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;
根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;
根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
可选的,所述根据所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述全景图像中每个像素点的像素值,具体包括:
若所述全景图像中某个像素点分别与K个鱼眼图像中的K个像素点对应,则根据所述K个像素点的像素值和权重,确定所述全景图像中该像素点的像素值,所述K个像素点与所述K个鱼眼图像一一对应,K为不小于2且不大于N的整数;
若所述全景图像中某个像素点仅与一个鱼眼图像中的一个特定像素点对应,则确定所述全景图像中的该像素点的像素值为所述特定像素点的像素值。
可选的,所述根据所述K个鱼眼图像中与所述全景图像中该像素点对应的K个像素点的像素值,确定所述全景图像中该像素点的像素值,具体包括:
获取所述K个像素点中每个像素点的权重;
根据所述K个像素点的像素值和每个像素点的权重,确定所述全景图像中该像素点的像素值。
可选的,在所述全景图像的分辨率大于每个鱼眼图像的分辨率时,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值,具体包括:
根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中的第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点,所述第一部分像素点为所述全景图像中与所述N个鱼眼图像中的像素点对应的所有像素点;
根据所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述第一部分像素点中每个像素点的像素值;
根据所述第一部分像素点中每个像素点的像素值,确定所述全景图像中第二部分像素点中每个像素点的像素值,其中,所述第一部分像素点和所述第二部分像素点为所述全景图像中的所有像素点。
可选的,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中的第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点,具体包括:
将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;
根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;
根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,从所述全景图像的像素点中确定所述第一部分像素点,并获取所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点。
可选的,获取所述N个柱面投影图像中每组柱面投影图像的相交区域,具体包括:
根据所述N个鱼眼镜头的分布和每个鱼眼镜头的视场,得到所述N个柱面投影图像中每组柱面投影图像的相交区域。
本申请第二方面还提供了一种鱼眼图像拼接成全景视频的方法,N个鱼眼镜头在同一时刻获取的N个鱼眼图像组成一组鱼眼图像,包括:
利用所述N个鱼眼镜头依次获取K组鱼眼图像,其中,N和K均为不小于2的整数;
针对获取的每一组鱼眼图像执行以下步骤:
步骤A:根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述一组鱼眼图像按经纬度展开后的N个柱面投影图像;
步骤B:将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
步骤C:根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
步骤D:以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
步骤E:根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
步骤F:根据所述全景图像中每个像素点的像素值,获取所述全景图像;
在每组鱼眼图像执行完上述步骤之后,获取到K个全景图像;
根据所述K组鱼眼图像的时间顺序,将所述K个全景图像组成全景视频。
基于与本申请第一方面相同的技术构思,本申请第三方面还提供了一种摄像设备,包括:
鱼眼图像获取单元,用于利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像,其中,N为不小于2的整数;
柱面投影图像获取单元,用于根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述N个鱼眼图像按经纬度展开后的N个柱面投影图像;
匹配特征点对获取单元,用于将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
第一姿态矩阵获取单元,用于根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
第二姿态矩阵获取单元,用于以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
像素值获取单元,用于根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
全景图像获取单元,用于根据所述全景图像中每个像素点的像素值,获取所述全景图像。
基于与本申请第二方面相同的技术构思,本申请第四方面还提供了一种摄像设备,包括:
鱼眼图像获取单元,用于利用N个鱼眼镜头依次获取K组鱼眼图像,其中,所述N个鱼眼镜头在同一时刻获取的N个鱼眼图像组成一组鱼眼图像,N和K均为不小于2的整数;
全景图像获取单元,用于针对获取的每一组鱼眼图像执行以下步骤:步骤A:根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述一组鱼眼图像按经纬度展开后的N个柱面投影图像;步骤B:将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;步骤C:根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;步骤D:以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;步骤E:根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;步骤F:根据所述全景图像中每个像素点的像素值,获取所述全景图像;在每组鱼眼图像执行完上述步骤之后,获取到K个全景图像;
全景视频获取单元,用于根据所述K组鱼眼图像的时间顺序,将所述K个全景图像组成全景视频。
本发明的有益效果如下:
基于上述技术方案,由于本申请实施例在获取每个鱼眼镜头在世界坐标系中的姿态矩阵之后,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;再根据所述全景图像中每个像素点的像素值,获取所述全景图像,可知本申请实施例是使用所述全景图像中每个像素点的像素值来获取所述全景图像,与现有技术相比,减少了进行图像拼接或融合的计算过程,能够有效降低计算量,且通过每个像素点的像素值来获取所述全景图像使得获取的所述全景图像的精度也得提高,如此,解决了现有技术中存在获取全景图像过程中实时性和精度不能兼容的问题,实现了在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
附图说明
图1为本发明实施例中鱼眼图像拼接成全景图像的方法的流程图;
图2a为本发明实施例中鱼眼图像在图像坐标系下的结构示意图;
图2b为本发明实施例中鱼眼图像到视球面的映射关系图;
图3为本发明实施例中获取全景图像中每个像素点在相应鱼眼图像中的对应像素点的第一种方法流程图;
图4为本发明实施例中获取全景图像中每个像素点在相应鱼眼图像中的对应像素点的第二种方法流程图;
图5为本发明实施例中鱼眼图像拼接成全景视频的方法的流程图;
图6为本发明实施例中摄像设备的第一种模块示意图;
图7为本发明实施例中摄像设备的第二种模块示意图。
具体实施方式
本发明提供了一种鱼眼图像拼接成全景图像和全景视频的方法及装置,解决了现有技术中存在获取全景图像过程中实时性和精度不能兼容的问题,实现了在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
下面结合附图对本发明优选的实施方式进行详细说明。
实施例一:
如图1所示,本发明实施例中提供了一种鱼眼图像拼接成全景图像的方法,包括以下步骤:
S101、利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像,其中,N为不小于2的整数;
S102、根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述N个鱼眼图像按经纬度展开后的N个柱面投影图像;
S103、将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
S104、根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
S105、以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
S106、根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
S107、根据所述全景图像中每个像素点的像素值,获取所述全景图像。
其中,在步骤S101中,所述N个鱼眼镜头可以在同一个摄像设备上,进而能够精确控制所述N个鱼眼镜头在同一时刻获取所述N个鱼眼图像,其中,每一个鱼眼镜头获取一个鱼眼图像,即所述N个鱼眼图像与所述N个鱼眼镜头一一对应。
接下来执行步骤S102,在该步骤中,根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述N个鱼眼图像按经纬度展开后的N个柱面投影图像。
在具体实施过程中,在通过步骤S101获取到所述N个鱼眼图像之后,可以先将获取到的每个鱼眼图像从平面坐标转换为球面坐标,再将每个鱼眼图像的球面坐标按经纬映射展开,得到展开后的N个柱面投影图像。
具体来讲,在获取到的每个鱼眼图像从平面坐标转换为球面坐标过程中,可以先将每个鱼眼图像从图像坐标转换为平面直角坐标,然后再将每个鱼眼图像从平面直角坐标系转换为球面坐标;当然,也可以直接将每个鱼眼图像从平面坐标转换为球面坐标,本申请不作具体限制,其中,所述平面坐标为鱼眼图像的图像坐标。
当然,步骤S102还可以先确定所述N个柱面投影图像中每个像素点的像素值,其中,在确定所述N个柱面投影图像中的每个像素点的像素值过程中,首先根据球面坐标和经纬度坐标的映射关系,获取每个柱面投影图像中每个像素点在球面上的三维坐标集,然后根据球面坐标和平面坐标的映射关系,利用每个像素点在球面上的三维坐标,获取到每个柱面投影图像中的每个像素点与相应的鱼眼图像中的像素点的对应关系,从而获取每个柱面投影图像中每个像素点的像素值,根据所述每个柱面投影图像中每个像素点的像素值,获取到所述N个柱面投影图像。
具体的,参见图2a和图2b,鱼眼镜头作为半个球面10,半个球面10上的每个像素点可以以三维坐标P(x,y,z)表示,同样半个球面10上的每个像素点也可以以经纬度坐标表示,进而可以将半个球面10上的每个像素点可以映射到一个柱面投影图像20上。
具体的,在确定了柱面投影图像20中每个像素点的经纬度坐标之后,将图2b逆向映射到图2a,即根据球面坐标和经纬度坐标的映射关系,获取柱面投影图像20中的每个像素点在球面上的三维坐标,每个像素点在球面上的三维坐标以P(x,y,z)表示,根据小孔成像模型可知,
r2=(x/z)2+(y/z)2 公式(3)
θ=atan(r) 公式(4)
进一步的,参见图2b,θd与θ满足以下关系式:
θd=θ(1+k1θ2+k2θ4+k3θ6+k4θ8) 公式(5)
公式(5)中,k1、k2、k3和k4均表示鱼眼图像的畸变参数,所述畸变参数均可通过标定方法获得,例如可以使用opencv中的fisheye calibration函数获取上述参数,其中,θd表示鱼眼图像在图像坐标系下像素点的偏转角度。
进一步的,根据三维坐标点投影在图像上的二维坐标的公式,可以确定出柱面投影图像20中的每个像素点对应的畸变坐标的公式为:
其中,公式(6)中,(x′,y′)表示每个像素点的畸变坐标。
以及,继续根据三维坐标点投影在图像上的二维坐标的公式,将每个像素点的畸变坐标转换到到图像坐标系中的坐标为:
其中,公式(7)中fx,fy,cx和cy是鱼眼镜头的内部参数,均可以通过标定方法获得,如此,通过公式(3)到公式(7),可以获取到柱面投影图像20中的每个像素点与相应的鱼眼图像中的像素点的映射关系,然后根据柱面投影图像20中的每个像素点与相应的鱼眼图像中的像素点的映射关系,将鱼眼图像中的像素点的像素值填充在柱面投影图像20中的相应像素点上,从而获取到填充有像素值的柱面投影图像20,通过此种方法获取到填充所有像素值的所述N个柱面投影图像,从而获取到所述N个柱面投影图像。
本申请实施中,在将获取到的每个鱼眼图像从平面坐标转换为球面坐标的具体实施过程中可以将公式(3)到公式(7)的反向执行即可,获取每个鱼眼图像的球面坐标之后,再将每个鱼眼图像的球面坐标按经纬映射展开,得到展开后的N个柱面投影图像。
由于本申请实施例能够通过公式(3)到公式(7)获取到柱面投影图像与鱼眼图像的平面坐标的映射关系,从而获取到每个鱼眼图像的柱面投影图像,而公式(3)到公式(7)的执行过程中无需进行多次多项方程式求解,而现有技术中在每个鱼眼图像的柱面投影图像通常是将公式(3)到公式(7)进行反向执行,而需要进行八次多项式求解,与本申请实施例相比,其计算量极大且计算得到的数值的精度也较低,如此,与现有技术相比,本申请实施例通过公式(3)到公式(7)获取到每个鱼眼图像的柱面投影图像的计算量得以大幅度降低,且还能提高计算的精确度,在计算量得以大幅度降低的情况下会使其计算时间得以大幅度缩短,从而能够实现在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
接下来执行步骤S103,在该步骤中,将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像。
在具体实施过程中,在执行步骤S103过程中,可以根据所述N个鱼眼镜头的分布和每个鱼眼镜头的视场,得到所述N个柱面投影图像中每组柱面投影图像的相交区域。
具体来讲,可以对每个鱼眼镜头进行标号,而每个鱼眼镜头的具有较大的视场例如为90°~180°,相邻鱼眼镜头拍摄得到的两个鱼眼图像一定会有相交区域,根据鱼眼图像和柱面投影图像的对应关系,如此,可以根据所述N个鱼眼镜头的分布和每个鱼眼镜头的视场,获取到每组柱面投影图像的相交区域,然后将每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对。
具体的,以柱面投影图像20和柱面投影图像21为一组柱面投影图像为例,柱面投影图像20与柱面投影图像21的相交区域图片表示为C20,柱面投影图像21与柱面投影图像20的相交区域图片表示为C21,通过特征点提取算法从C20中提取特征点集D20,以及通过特征点提取算法从C21中提取特征点集D21,然后通过特征点匹配算法对D20和D21进行特征点匹配,获取到匹配特征点对为柱面投影图像20和柱面投影图像21相交区域的匹配特征点对。
其中,所述特征点提取算法例如可以是ORB,SIFT,SURF等算法,所述特征点匹配算法例如可以采用归一化互相关(Normalized Cross Correlation method,简称NCC)匹配算法、序贯相似性检测(sequential similarity detection algorithm,简称SSDA)算法和测度因子有像素灰度差的绝对值和(Sum of Absolute Differences,检测SAD)算法等。
接下来执行步骤S104,在该步骤中,根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵。
在具体实施过程中,在通过步骤S103获取到所述匹配特征点对之后,利用经纬度坐标获取每组柱面投影图像相交区域的匹配特征点对在柱面投影图像中的二维坐标集;再根据经纬度坐标和球面坐标的映射关系和所述二维坐标集,获取每组柱面投影图像相交区域的匹配特征点对的三维坐标集。
具体来讲,可以首先获取每组柱面投影图像相交区域的匹配特征点对中每个特征点在相应柱面投影图像上的经纬度坐标,再根据球面坐标和经纬度坐标的映射关系,获取所述每组柱面投影图像相交区域的匹配特征点对中每个特征点在球面上的三维坐标组成三维坐标集。
具体的,在利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算时,以第一组柱面投影图像为例,该组柱面投影图像包括第一柱面投影图像和第二柱面投影图像,所述第一、第二柱面投影图像具有第一相交区域,所述第一柱面投影图像和所述第二柱面投影图像在所述第一相交区域具有第一匹配特征点对;从所述第一匹配特征点对中获取所有在所述第一柱面投影图像中的特征点为第一组匹配特征点,以及从所述第一匹配特征点对中获取在所述第二柱面投影图像中的特征点为第二组匹配特征点;然后获取所述第一组匹配特征点在球面上的第一组三维坐标集,以及获取所述第二匹配特征点在球面上的第二三维坐标集,利用姿态估计算法对所述第一组三维坐标集和所述第二三维坐标集进行计算,获取所述第一组柱面投影图像相交区域的匹配特征点对的姿态矩阵,所述姿态矩阵包括旋转矩阵和平移矩阵;如此,通过上述方法,可以获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵。
具体的,所述姿态估计算法可以是以下公式:
其中,公式(8)中R表示旋转矩阵,t表示平移矩阵,如此,可以通过公式(8)来对所述第一三维坐标集和所述第二三维坐标集进行计算,可以将所述第一三维坐标集代入公式(8)的中,而将所述第二三维坐标集代入公式(8)的中,且按照匹配的特征点对的方式将相应的两个三维坐标分别代入公式(8)中,从而获取到所述第一组柱面投影图像相交区域的匹配特征点对的旋转矩阵和平移矩阵;所述姿态矩阵包括旋转矩阵和平移矩阵,因此,能够基于获取到的所述旋转矩阵和所述平移矩阵,确定所述第一组柱面投影图像相交区域的匹配特征点对的姿态矩阵。
例如,同样以柱面投影图像20和柱面投影图像21为一组柱面投影图像为例,柱面投影图像20与柱面投影图像21的相交区域图片表示为C20,柱面投影图像21与柱面投影图像20的相交区域图片表示为C21,通过特征点提取算法从C20中提取特征点集D20,以及通过特征点提取算法从C21中提取特征点集D21,然后通过特征点匹配算法对D20和D21进行特征点匹配,得到D20中的特征点集D200与D21中的特征点集D210匹配,其中,D200中的特征点数量和D210中的特征点数量相同,且D200和D210中的特征点是一一对应的;然后获取D200和D210中每个特征点的三维坐标,然后将其代入公式(8)中进行计算,获取D200和D210之间的旋转矩阵和平移矩阵,将获取到所述旋转矩阵和所述平移矩阵作为柱面投影图像20和柱面投影图像21相交区域的匹配特征点对的姿态矩阵。
其中,以D200和D210中一个匹配特征点对为例,若D200中的特征点A1和D210中特征点B1为匹配特征点对,则将A1的三维坐标代入公式(8)的中,而将B1的三维坐标代入公式(8)的中,如此,将D200和D210按照上述方法将每个匹配特征点对的三维坐标均代入公式(8)中,然后进行联合求解,获取到旋转矩阵R和平移矩阵t,并将获取到的R和t作为柱面投影图像20和柱面投影图像21相交区域的匹配特征点对的姿态矩阵。
接下来执行步骤S105,在该步骤中,以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵。
在具体实施过程中,由于所述N个鱼眼镜头中每两个相邻的鱼眼镜头必然会存在相交区域,而通过步骤S104求出了每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,每组柱面投影图像相交区域的匹配特征点对的姿态矩阵即为相邻的两个鱼眼镜头的姿态矩阵,如此,以所述N个鱼眼镜头中任意一个鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵。
例如,所述N个鱼眼镜头包括鱼眼镜头0、鱼眼镜头1、鱼眼镜头2、鱼眼镜头3、鱼眼镜头4、鱼眼镜头5和鱼眼镜头6,所述N个鱼眼镜头拍摄得到N个鱼眼图像分别是鱼眼镜头0对应的鱼眼图像B0、鱼眼镜头1对应的B1、鱼眼镜头2对应的B2、鱼眼镜头3对应的B3、鱼眼镜头4对应的B4、鱼眼镜头5对应的B5和鱼眼镜头6对应的B6,所述N个鱼眼镜头中每相邻两个鱼眼镜头为{(0,1),(1,2),(2,3),(3,4),(4,5),(5,6),(6,0)},基于此具有相交区域的鱼眼图像集合为{(B0,B1),(B1,B2),(B2,B3),(B3,B4),(B4,B5),(B5,B6),(B6,B0)},相应的具有相交区域的柱面投影图像集合为{(G0,G1),(G1,G2),(G2,G3),(G3,G4),(G4,G5),(G5,G6),(G6,G0)},以及(G0,G1)相应的旋转矩阵为R0和平移矩阵为t0,同理,(G1,G2)对应R1和t1,(G2,G3)对应R2和t2,(G3,G4)对应R3和t3,(G4,G5)对应R4和t4,(G5,G6)对应R5和t5,(G6,G0)对应R6和t6,以G0对应的鱼眼镜头的坐标系为世界坐标系,通过(R0,t0)、(R1,t1)、(R2,t2)、(R3,t3)、(R4,t4)、(R5,t5)和(R6,t6)可以获取鱼眼镜头1、鱼眼镜头2、鱼眼镜头3、鱼眼镜头4、鱼眼镜头5和鱼眼镜头6相对于鱼眼镜头0的姿态矩阵,即获取到鱼眼镜头1、鱼眼镜头2、鱼眼镜头3、鱼眼镜头4、鱼眼镜头5和鱼眼镜头6在世界坐标系中的姿态矩阵。
接下来执行步骤S106,在该步骤中,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值。
在具体实施过程中,在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,需要根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点;再根据所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述全景图像中每个像素点的像素值。
由于在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,所述全景图像中的每个像素点均会与相应的一个或多个鱼眼图像中的某个像素点对应,因此,可以根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
本申请实施例中的像素值可以使用RGB、SRGB和CMKY等进行表示,本申请不作具体限制。
具体来讲,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的具体实施步骤具体如下,如图3所示:
S301、将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;
S302、根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;
S303、根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
在步骤S301中,首先获取所述全景图像中每个像素点的经纬度坐标,再根据经纬度坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在球面上的三维坐标即球面坐标,进而使得所述全景图像中每个像素点的经纬度坐标转换为球面坐标,具体实施过程可以参考针对图2a和图2b的叙述,为了说明书简洁,在此就不再赘述了。
接着执行步骤S302,在该步骤中,在通过步骤S301获取到所述全景图像中每个像素点的球面坐标之后,可以根据所述全景图像中每个像素点的球面坐标,确定出所述全景图像中每个像素点对应的一个或多个鱼眼镜头,然后根据所述一个或多个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标,其中,所述全景图像中每个像素点的新球面坐标可以为1个或多个,在为多个时,每个像素点的新球面坐标的数量不大于N。
具体来讲,根据所述N个鱼眼镜头的分布和视场,能够准确的确定出每个鱼眼镜头在球面上的映射区间,若所述全景图像中某个像素点的球面坐标在该鱼眼镜头的映射区间内,则确定该像素点与该鱼眼镜头对应。
例如,所述N个鱼眼镜头包括鱼眼镜头0、鱼眼镜头1、鱼眼镜头2、鱼眼镜头3、鱼眼镜头4、鱼眼镜头5和鱼眼镜头6,获取到所述全景图像中一个像素点H,若根据所述N个鱼眼镜头的分布和视场,确定出H在鱼眼镜头1的映射区间内,则确定H与鱼眼镜头1对应,根据H的三维坐标和鱼眼镜头1在世界坐标系中的姿态矩阵,获取H在球面上的新球面坐标。
当然,在通过步骤S301获取到所述全景图像中每个像素点的球面坐标之后,也可以根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的N个新球面坐标。
例如,所述N个鱼眼镜头包括鱼眼镜头0、鱼眼镜头1、鱼眼镜头2、鱼眼镜头3、鱼眼镜头4、鱼眼镜头5和鱼眼镜头6,获取到所述全景图像中一个像素点H,根据鱼眼镜头0在世界坐标系中的姿态矩阵,获取H在球面上的第一个新球面坐标;同理,根据鱼眼镜头1在世界坐标系中的姿态矩阵,获取H在球面上的第二个新球面坐标;根据鱼眼镜头2在世界坐标系中的姿态矩阵,获取H在球面上的第三个新球面坐标;根据鱼眼镜头3在世界坐标系中的姿态矩阵,获取H在球面上的第四个新球面坐标;根据鱼眼镜头4在世界坐标系中的姿态矩阵,获取H在球面上的第五个新球面坐标;根据鱼眼镜头5在世界坐标系中的姿态矩阵,获取H在球面上的第六个新球面坐标;以及根据鱼眼镜头6在世界坐标系中的姿态矩阵,获取H在球面上的第七个新球面坐标。
接着执行步骤S303,在该步骤中,根据所述全景图像中每个像素点的新球面坐标,根据所述新球面坐标与鱼眼镜头的对应关系和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
在具体实施过程中,在获取所述全景图像中每个像素点的新球面坐标时,需要根据每个鱼眼镜头在世界坐标系中的姿态矩阵来获取,如此,可以确定出每个像素点的新球面坐标与鱼眼镜头的对应关系,在确定出每个像素点的新球面坐标与鱼眼镜头的对应关系之后,进而可以根据所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
具体来讲,在根据所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点过程中,具体可以通过执行公式(3)到公式(7)获取到所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
由于本申请实施例是是通过公式(3)到公式(7)获取全景图像中每个像素点在相应鱼眼图像中的对应像素点的,而公式(3)到公式(7)的执行过程中无需进行多次多项方程式求解,与现有技术相比,本申请实施例获取到全景图像中每个像素点在相应鱼眼图像中的对应像素点的计算量得以大幅度降低,且还能提高计算的精确度,而在计算量得以大幅度降低的情况下会使其计算时间得以大幅度缩短,进而能够实现在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
例如,所述N个鱼眼镜头包括鱼眼镜头0、鱼眼镜头1、鱼眼镜头2、鱼眼镜头3、鱼眼镜头4、鱼眼镜头5和鱼眼镜头6,获取到所述全景图像中一个像素点H,若根据所述N个鱼眼镜头的分布和视场,确定出H在鱼眼镜头1的映射区间内,则确定H与鱼眼镜头1对应,根据H的三维坐标和鱼眼镜头1在世界坐标系中的姿态矩阵,获取H在球面上的新球面坐标,根据H在球面上的新球面坐标、鱼眼镜头1对应的鱼眼图像B1中每个像素点与球面坐标的映射关系,从鱼眼图像B1获取与H对应的像素点H1,则H1为H在鱼眼图像B1中的对应像素点;若H还在鱼眼镜头3的映射区间内,还可以从鱼眼镜头3对应的鱼眼图像B3中获取与H对应的像素点H3。
又例如,所述N个鱼眼镜头包括鱼眼镜头0、鱼眼镜头1、鱼眼镜头2、鱼眼镜头3、鱼眼镜头4、鱼眼镜头5和鱼眼镜头6,获取到所述全景图像中每个像素点的N个新球面坐标之后,根据H在球面上的第一个新球面坐标,此时H与鱼眼镜头0对应,则需要所述第一个新球面坐标、鱼眼镜头0对应的鱼眼图像B0中每个像素点与球面坐标的映射关系,从鱼眼图像B0中查找与H对应的像素点,若查找到,则获取H在鱼眼图像B0中的对应像素点H0;若未查找到,则确定鱼眼图像B0中未存在与H对应的像素点;基于同样的方法,从鱼眼图像B1、B2、B3、B4、B5和B6中查找与H对应的像素点,获取H在B1、B2、B3、B4、B5和B6中的对应像素点。
具体来讲,由于所述全景图像中的某个像素点可能在多个鱼眼图像中均存在对应像素点,也可能仅在一个鱼眼图像中存在对应像素点,如此,为了使得所述全景图像中每个像素点的像素值的准确性,可以采用下述方式来确定所述全景图像中每个像素点的像素值,具体为:若所述全景图像中某个像素点分别与K个鱼眼图像中的K个像素点对应,则根据所述K个像素点的像素值和权重,确定所述全景图像中该像素点的像素值,所述K个像素点与所述K个鱼眼图像一一对应,K为不小于2且不大于N的整数;若所述全景图像中某个像素点仅与一个鱼眼图像中的一个特定像素点对应,则确定所述全景图像中的该像素点的像素值为所述特定像素点的像素值。
具体的,在所述全景图像中某个像素点分别与K个鱼眼图像中的K个像素点对应时,需要先获取所述K个像素点中每个像素点的权重;再根据所述K个像素点的像素值和每个像素点的权重,确定所述全景图像中该像素点的像素值。
具体的,在获取所述K个像素点中每个像素点的权重时,可以预先设置每个像素点的权重,例如预先设置的每个像素点的权重可以为1/K等;当然,也可以根据所述K个像素点中每个像素点与相应鱼眼图像的中心像素点之间距离来设置权重,所述K个像素点中的一个像素点越靠近相应鱼眼图像的中心像素点其权重越大,反之,其取值越小。
例如,所述全景图像中一个像素点H仅与鱼眼图像B1中的像素点H1对应,则可以确定H的像素值为H1的像素值。
又例如,以K=2为例,所述全景图像中一个像素点H分别与鱼眼图像B1中的像素点H1和鱼眼图像B3中的像素点H3对应,获取H1到鱼眼图像B1的中心像素点之间距离用d1表示和获取H3到鱼眼图像B3的中心像素点之间距离用d3表示,若H1的权重用w1表示和H3的权重用w3标识,则w1、w3具体使用公式(9)计算出,其中,公式(9)为:
其中,在通过公式(9)获取到w1和w3之后,然后再根据H1的像素值用PX1表示和H3的像素值用PX3表示,若H的像素值用PX表示,则PX具体可以使用公式(10)计算出,其中,公式(10)为:
PX=PX1×w1+PX3×w3 公式(10)。
如此,使得通过公式(9)和公式(10)获取到的H的像素值更准确,从而使得获取的所述全景图像中每个像素点的像素值与所述N个鱼眼图像的匹配度更高。
在具体实施过程中,在所述全景图像的分辨率大于每个鱼眼图像的分辨率时,会使得所述全景图像中有部分像素点与所述N个鱼眼图像中的任何一个像素点均不对应,这时,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的具体实施步骤具体如下,如图4所示:
S401、根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中的第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点,所述第一部分像素点为所述全景图像中与所述N个鱼眼图像中的像素点对应的所有像素点;
S402、根据所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述第一部分像素点中每个像素点的像素值;
S403、根据所述第一部分像素点中每个像素点的像素值,确定所述全景图像中第二部分像素点中每个像素点的像素值,其中,所述第一部分像素点和所述第二部分像素点为所述全景图像中的所有像素点。
其中,在步骤S401中,首先根据每个鱼眼镜头在世界坐标系中的姿态矩阵,将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,从所述全景图像的像素点中确定所述第一部分像素点,并获取所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点,其具体实施过程可以参考步骤S301~S303,为了说明书的简洁,在此就不再赘述了。
具体来讲,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,查找所述全景图像中每个像素点在相应鱼眼图像中的对应像素点,将查找到的所述全景图像中与所述N个鱼眼图像中的像素点对应的所有像素点作为所述第一部分像素点,且获取所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点。
接下来执行步骤S402,若所述第一部分像素点中某个像素点分别与K个鱼眼图像中的K个像素点对应,则根据所述K个像素点的像素值和权重,确定所述全景图像中该像素点的像素值,所述K个像素点与所述K个鱼眼图像一一对应,K为不小于2且不大于N的整数;若所述第一部分像素点中某个像素点仅与一个鱼眼图像中的一个特定像素点对应,则确定所述全景图像中的该像素点的像素值为所述特定像素点的像素值。
接下来执行步骤S403,所述第二部分像素点中每个像素点在每个鱼眼图像中均不存在对应的像素点,在通过步骤S402获取所述第一部分像素点的像素值之后,可以通过插值方法来确定所述第二部分像素点中每个像素点的像素值。
本申请实施例中,所述插值方法可以是Inverse Distance to a Power(反距离加权插值法)、Kriging(克里金插值法)、Minimum Curvature(最小曲率)、Modified Shepard's Method(改进谢别德法)、Natural Neighbor(自然邻点插值法)、Nearest Neighbor(最近邻点插值法)、Polynomial Regression(多元回归法)、Radial Basis Function(径向基函数法)、Triangulation with Linear Interpolation(线性插值三角网法)、MovingAverage(移动平均法)和Local Polynomial(局部多项式法)等,本申请不作具体限制。
在步骤S106执行完成之后,执行步骤S107,根据所述全景图像中每个像素点的像素值,获取所述全景图像。
在具体实施过程中,在通过步骤S106获取到所述全景图像中每个像素点的像素值之后,将像素值填充在所述全景图像中的每个像素点中,从而获取到所述全景图像。
如此,在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,根据所述全景图像中每个像素点的像素值均是根据相应鱼眼图像中的对应像素值来确定的,使得所述全景图像中每个像素点的像素值与鱼眼图像中像素点的像素值更匹配,进而提高了所述全景图像的显示精度。
而且,在所述全景图像的分辨率大于每个鱼眼图像的分辨率时,所述全景图像中的第一部分像素点中每个像素点的全景图像的分辨率不大于每个鱼眼图像的分辨率时,使得所述第一部分像素点的像素值与鱼眼图像中像素点的像素值更匹配,再根据所述第一部分像素点的像素值采用插值方法获取到所述第二部分像素点的像素值,在所述第一部分像素点的像素值的精确度提高的基础上,会使得所述第二部分像素点的像素的精确度也随之提高,如此,使得所述全景图像的显示精度也随之提高。
本发明的有益效果如下:
其一、由于本申请实施例在获取每个鱼眼镜头在世界坐标系中的姿态矩阵之后,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;再根据所述全景图像中每个像素点的像素值,获取所述全景图像,可知本申请实施例是使用所述全景图像中每个像素点的像素值来获取所述全景图像,与现有技术相比,减少了进行图像拼接或融合的计算过程,能够有效降低计算量,且通过每个像素点的像素值来获取所述全景图像使得获取的所述全景图像的精度也得提高,如此,解决了现有技术中存在获取全景图像过程中实时性和精度不能兼容的问题,实现了在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
其二、由于本申请实施例中采用的是先获取全景图像的每个像素点的球面坐标,然后根据每个像素点的球面坐标和鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取全景图像中每个像素点在相应鱼眼图像中的对应像素点;再根据对应像素点的像素值来获取全景图像中每个像素点的像素值,从而获取到全景图像,在此过程中采用公式无需进行多次多项式求解,而现有技术需要进行多次多项式求解,其计算量较大和计算精度也会有一定程度降低,如此,与现有技术相比,本申请实施例获取到全景图像中每个像素点在相应鱼眼图像中的对应像素点的计算量得以大幅度降低,且还能提高计算的精确度,而在计算量得以大幅度降低的情况下会使其计算时间得以大幅度缩短,进而能够实现在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
实施例二:
本申请实施例二还提供了一种鱼眼图像拼接成全景视频的方法,N个鱼眼镜头在同一时刻获取的N个鱼眼图像组成一组鱼眼图像,参见图5,包括:
S501、利用所述N个鱼眼镜头依次获取K组鱼眼图像,其中,N和K均为不小于2的整数;
针对获取的每一组鱼眼图像执行以下步骤:
步骤A:根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述一组鱼眼图像按经纬度展开后的N个柱面投影图像;
步骤B:将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
步骤C:根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
步骤D:以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
步骤E:根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
步骤F:根据所述全景图像中每个像素点的像素值,获取所述全景图像;
S502、在每组鱼眼图像执行完上述步骤之后,获取到K个全景图像;
S503、根据所述K组鱼眼图像的时间顺序,将所述K个全景图像组成全景视频。
其中,在通过所述N个鱼眼镜头拍摄全景视频时,所述N个鱼眼镜头在同一时刻获取的N个鱼眼图像组成一组鱼眼图像,每一组鱼眼图像拼接成一个全景图像,然后按照时间先后次序,将获取的K个全景图像组成全景视频,其中,每个全景图像为一帧图像。
在步骤S501中,在通过所述N个鱼眼图像拍摄全景视频时,会使用所述N个鱼眼图像依次拍摄到所述K组鱼眼图像,其中,K的取值会根据全景视频的长短随之改变,全景视频的时长越长,则K的取值越大;反之,全景视频的时长越短,则K的取值越小。
若需要实时获取所述全景视频,则在每获取一组鱼眼图像之后,针对获取的每一组鱼眼图像执行步骤A-步骤F;若不需实时获取所述全景视频,可以在获取所述K组鱼眼图像之后,再针对获取的所述K组鱼眼图像中的每一组鱼眼图像均执行步骤A-步骤F。
其中,在步骤A中,可以先将获取到的每个鱼眼图像从平面坐标转换为球面坐标,再将每个鱼眼图像的球面坐标按经纬映射展开,得到展开后的N个柱面投影图像。
在步骤A中,在获取到的每个鱼眼图像从平面坐标转换为球面坐标过程中,可以先将每个鱼眼图像从图像坐标转换为平面直角坐标,然后再将每个鱼眼图像从平面直角坐标系转换为球面坐标;当然,也可以直接将每个鱼眼图像从图像坐标转换为球面坐标,本申请不作具体限制。
当然,在步骤A中,还可以先获取所述N个柱面投影图像,所述N个柱面投影图像中的每个像素点的像素值未确定,在确定所述N个柱面投影图像中的每个像素点的像素值过程中,首先根据球面坐标和经纬度坐标的映射关系,获取每个柱面投影图像中每个像素点在球面上的三维坐标集,然后根据球面坐标和平面坐标的映射关系,利用每个像素点在球面上的三维坐标,获取到每个柱面投影图像中的每个像素点与相应的鱼眼图像中的像素点的对应关系,从而获取每个柱面投影图像中每个像素点的像素值,根据所述每个柱面投影图像中每个像素点的像素值,获取到所述N个柱面投影图像。
本申请实施例中,步骤A的具体实施过程具体可以参考步骤S102的实施过程,为了说明书简洁,在此就不再赘述了。
在步骤A执行完之后,接着执行步骤B,在步骤B中,可以根据所述N个鱼眼镜头的分布和每个鱼眼镜头的视场,得到所述N个柱面投影图像中每组柱面投影图像的相交区域。
本申请实施例中,步骤B的具体实施过程具体可以参考步骤S103的实施过程,为了说明书简洁,在此就不再赘述了。
接下来执行步骤C,在步骤C中,在通过步骤B获取到所述匹配特征点对之后,利用经纬度坐标获取每组柱面投影图像相交区域的匹配特征点对在柱面投影图像中的二维坐标集;再根据经纬度坐标和球面坐标的映射关系和所述二维坐标集,获取每组柱面投影图像相交区域的匹配特征点对的三维坐标集。
本申请实施例中,步骤C的具体实施过程具体可以参考步骤S104的实施过程,为了说明书简洁,在此就不再赘述了。
接下来执行步骤D,由于所述N个鱼眼镜头中每两个相邻的鱼眼镜头必然会存在相交区域,而通过步骤C求出了每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,每组柱面投影图像相交区域的匹配特征点对的姿态矩阵即为相邻的两个鱼眼镜头的姿态矩阵,如此,以所述N个鱼眼镜头中任意一个鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵。
本申请实施例中,步骤D的具体实施过程具体可以参考步骤S105的实施过程,为了说明书简洁,在此就不再赘述了。
接下来执行步骤E,在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,需要根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点;再根据所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述全景图像中每个像素点的像素值。
具体来讲,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点可以通过步骤S301~S303来获取。
在步骤E中,在所述全景图像的分辨率大于每个鱼眼图像的分辨率时,会使得所述全景图像中有部分像素点与所述N个鱼眼图像中的任何一个像素点均不对应,这时,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点可以通过执行步骤S401~S403来获取。
本申请实施例中,步骤E的具体实施过程具体可以参考步骤S106的实施过程,为了说明书简洁,在此就不再赘述了。
接下来执行步骤F,在通过步骤E获取到所述全景图像中每个像素点的像素值之后,将像素值填充在所述全景图像中的每个像素点中,从而获取到所述全景图像。
如此,在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,根据所述全景图像中每个像素点的像素值均是根据相应鱼眼图像中的对应像素值来确定的,使得所述全景图像中每个像素点的像素值与鱼眼图像中像素点的像素值更匹配,进而提高了所述全景图像的显示精度。
而且,在所述全景图像的分辨率大于每个鱼眼图像的分辨率时,所述全景图像中的第一部分像素点中每个像素点的全景图像的分辨率不大于每个鱼眼图像的分辨率时,使得所述第一部分像素点的像素值与鱼眼图像中像素点的像素值更匹配,再根据所述第一部分像素点的像素值采用插值方法获取到所述第二部分像素点的像素值,在所述第一部分像素点的像素值的精确度提高的基础下,所述第二部分像素点的像素的精确度也随之提高,如此,使得所述全景图像的显示精度也随之提高。
在每组鱼眼图像执行完上述步骤之后,执行步骤S502,获取到K个全景图像。
在具体实施过程中,所述K个全景图像与所述K组鱼眼图像一一对应,在针对每一组鱼眼图像执行步骤A-步骤F之后,获取所述K个全景图像。
接下来执行步骤S503,在该步骤中,根据所述K组鱼眼图像的时间顺序,将所述K个全景图像组成全景视频。
在具体实施过程中,由于所述全景视频是由一帧一帧的全景图像组成,因此,根据所述K组鱼眼图像的时间顺序,即可以将K个全景图像组成全景视频。
具体来讲,所述K组鱼眼图像的时间顺序是根据所述N个鱼眼镜头拍摄的每一组鱼眼图像的时间来确定,在所述N个鱼眼镜头在拍摄所述K组鱼眼图像过程中,在每拍摄一组鱼眼图像时,会对每组鱼眼图像中每个鱼眼图像标记一个时间标签,如此,根据每组鱼眼图像中的鱼眼图像的时间标签,获取所述K组鱼眼图像的时间顺序,然后根据所述K组鱼眼图像的时间顺序,依次对相应的所述K个全景图像进行排序。
例如,若所述K组鱼眼图像为K1、K2、K3和K4组鱼眼图像对应,其中,K1组鱼眼图像对应K11全景图像,K2组鱼眼图像对应K21全景图像,K3组鱼眼图像对应K31全景图像,以及K4组鱼眼图像对应K41全景图像,若根据每组鱼眼图像中每个鱼眼图像的时间标签,确定出时间排序为K1、K2、K3和K4,则确定所述全景视频中全景图像的时间排序为K11、K21、K31和K41。
基于与本实施一提供的方法相同的技术构思,本发明实施例还提供了一种摄像设备,如图6所示,包括:
鱼眼图像获取单元601,用于利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像,其中,N为不小于2的整数;
柱面投影图像获取单元602,用于根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述N个鱼眼图像按经纬度展开后的N个柱面投影图像;
匹配特征点对获取单元603,用于将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
第一姿态矩阵获取单元604,用于根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
第二姿态矩阵获取单元605,用于以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
像素值获取单元606,用于根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
全景图像获取单元607,用于根据所述全景图像中每个像素点的像素值,获取所述全景图像。
较佳的,第一姿态矩阵获取单元604还包括:
三维坐标集获取子单元,用于利用经纬度坐标获取每组柱面投影图像相交区域的匹配特征点对在柱面投影图像中的二维坐标集;根据经纬度坐标和球面坐标的映射关系和所述二维坐标集,获取每组柱面投影图像相交区域的匹配特征点对的三维坐标集。
较佳的,像素值获取单元606,用于在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点;根据所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述全景图像中每个像素点的像素值。
较佳的,第二姿态矩阵获取单元605还包括:
第一对应像素点获取子单元,用于将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
较佳的,像素值获取单元606,用于在所述全景图像中某个像素点分别与K个鱼眼图像中的K个像素点对应时,根据所述K个像素点的像素值和权重,确定所述全景图像中该像素点的像素值,所述K个像素点与所述K个鱼眼图像一一对应,K为不小于2且不大于N的整数;以及在所述全景图像中某个像素点仅与一个鱼眼图像中的一个特定像素点对应时,确定所述全景图像中的该像素点的像素值为所述特定像素点的像素值。
较佳的,像素值获取单元606,还用于获取所述K个像素点中每个像素点的权重;根据所述K个像素点的像素值和每个像素点的权重,确定所述全景图像中该像素点的像素值。
较佳的,像素值获取单元606,还用于在所述全景图像的分辨率大于每个鱼眼图像的分辨率时,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中的第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点,所述第一部分像素点为所述全景图像中与所述N个鱼眼图像中的像素点对应的所有像素点;根据所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述第一部分像素点中每个像素点的像素值;根据所述第一部分像素点中每个像素点的像素值,确定所述全景图像中第二部分像素点中每个像素点的像素值,其中,所述第一部分像素点和所述第二部分像素点为所述全景图像中的所有像素点。
较佳的,像素值获取单元606还包括:
第二对应像素点获取子单元,用于将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,从所述全景图像的像素点中确定所述第一部分像素点,并获取所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点。
较佳的,所述摄像设备还包括相交区域获取单元,用于根据所述N个鱼眼镜头的分布和每个鱼眼镜头的视场,得到所述N个柱面投影图像中每组柱面投影图像的相交区域。
实施例四:
基于与实施例二提供的方法相同的技术构思,本申请实施例四还提供了一种摄像设备,参见图7,包括:
鱼眼图像获取单元701,用于利用N个鱼眼镜头依次获取K组鱼眼图像,其中,所述N个鱼眼镜头在同一时刻获取的N个鱼眼图像组成一组鱼眼图像,N和K均为不小于2的整数;
全景图像获取单元702,用于针对获取的每一组鱼眼图像执行以下步骤:步骤A:根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述一组鱼眼图像按经纬度展开后的N个柱面投影图像;步骤B:将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;步骤C:根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;步骤D:以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;步骤E:根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;步骤F:根据所述全景图像中每个像素点的像素值,获取所述全景图像;在每组鱼眼图像执行完上述步骤之后,获取到K个全景图像;
全景视频获取单元703,用于根据所述K组鱼眼图像的时间顺序,将所述K个全景图像组成全景视频。
较佳的,全景图像获取单元702还包括:
三维坐标集获取子单元,用于利用经纬度坐标获取每组柱面投影图像相交区域的匹配特征点对在柱面投影图像中的二维坐标集;根据经纬度坐标和球面坐标的映射关系和所述二维坐标集,获取每组柱面投影图像相交区域的匹配特征点对的三维坐标集。
较佳的,全景图像获取单元702还包括:
像素值获取单元,用于在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点;根据所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述全景图像中每个像素点的像素值。
较佳的,全景图像获取单元702还包括:
第一对应像素点获取子单元,用于将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
较佳的,全景图像获取单元702还包括:
像素值获取单元,用于在所述全景图像中某个像素点分别与K个鱼眼图像中的K个像素点对应时,根据所述K个像素点的像素值和权重,确定所述全景图像中该像素点的像素值,所述K个像素点与所述K个鱼眼图像一一对应,K为不小于2且不大于N的整数;以及在所述全景图像中某个像素点仅与一个鱼眼图像中的一个特定像素点对应时,确定所述全景图像中的该像素点的像素值为所述特定像素点的像素值。
较佳的,所述像素值获取单元,还用于获取所述K个像素点中每个像素点的权重;根据所述K个像素点的像素值和每个像素点的权重,确定所述全景图像中该像素点的像素值。
较佳的,所述像素值获取单元,还用于在所述全景图像的分辨率大于每个鱼眼图像的分辨率时,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中的第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点,所述第一部分像素点为所述全景图像中与所述N个鱼眼图像中的像素点对应的所有像素点;根据所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述第一部分像素点中每个像素点的像素值;根据所述第一部分像素点中每个像素点的像素值,确定所述全景图像中第二部分像素点中每个像素点的像素值,其中,所述第一部分像素点和所述第二部分像素点为所述全景图像中的所有像素点。
较佳的,所述像素值获取单元还包括:
第二对应像素点获取子单元,用于将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,从所述全景图像的像素点中确定所述第一部分像素点,并获取所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点。
较佳的,全景图像获取单元702还包括:
相交区域获取单元,用于根据所述N个鱼眼镜头的分布和每个鱼眼镜头的视场,得到所述N个柱面投影图像中每组柱面投影图像的相交区域。
本发明的有益效果如下:
其一、由于本申请实施例在获取每个鱼眼镜头在世界坐标系中的姿态矩阵之后,根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;再根据所述全景图像中每个像素点的像素值,获取所述全景图像;可知本申请实施例是使用所述全景图像中每个像素点的像素值来获取所述全景图像,与现有技术相比,减少了进行图像拼接或融合的计算过程,能够有效降低计算量,且通过每个像素点的像素值来获取所述全景图像使得获取的所述全景图像的精度也得提高,如此,解决了现有技术中存在获取全景图像过程中实时性和精度不能兼容的问题,实现了在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
其二、由于本申请实施例中采用的是先获取全景图像的每个像素点的球面坐标,然后根据每个像素点的球面坐标和鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取全景图像中每个像素点在相应鱼眼图像中的对应像素点;再根据对应像素点的像素值来获取全景图像中每个像素点的像素值,从而获取到全景图像,在此过程中采用公式无需进行多次多项式求解,而现有技术需要进行多次多项式求解,其计算量较大和计算精度也会有一定程度降低,如此,与现有技术相比,本申请实施例获取到全景图像中每个像素点在相应鱼眼图像中的对应像素点的计算量得以大幅度降低,且还能提高计算的精确度,而在计算量得以大幅度降低的情况下会使其计算时间得以大幅度缩短,进而能够实现在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application SpecificIntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (12)

1.一种鱼眼图像拼接成全景图像的方法,其特征在于,包括:
利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像,其中,N为不小于2的整数;
根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述N个鱼眼图像按经纬度展开后的N个柱面投影图像;
将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
根据所述全景图像中每个像素点的像素值,获取所述全景图像。
2.如权利要求1所述的方法,其特征在于,所述获取每组柱面投影图像相交区域的匹配特征点对的三维坐标集,具体包括:
利用经纬度坐标获取每组柱面投影图像相交区域的匹配特征点对在柱面投影图像中的二维坐标集;
根据经纬度坐标和球面坐标的映射关系和所述二维坐标集,获取每组柱面投影图像相交区域的匹配特征点对的三维坐标集。
3.如权利要求1所述的方法,其特征在于,在所述全景图像的分辨率不大于每个鱼眼图像的分辨率时,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值,具体包括:
根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点;
根据所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述全景图像中每个像素点的像素值。
4.如权利要求3所述的方法,其特征在于,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点,具体包括:
将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;
根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;
根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,获取所述全景图像中每个像素点在相应鱼眼图像中的对应像素点。
5.如权利要求3所述的方法,其特征在于,所述根据所述全景图像中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述全景图像中每个像素点的像素值,具体包括:
若所述全景图像中某个像素点分别与K个鱼眼图像中的K个像素点对应,则根据所述K个像素点的像素值和权重,确定所述全景图像中该像素点的像素值,所述K个像素点与所述K个鱼眼图像一一对应,K为不小于2且不大于N的整数;
若所述全景图像中某个像素点仅与一个鱼眼图像中的一个特定像素点对应,则确定所述全景图像中的该像素点的像素值为所述特定像素点的像素值。
6.如权利要求5所述的方法,其特征在于,所述根据所述K个鱼眼图像中与所述全景图像中该像素点对应的K个像素点的像素值,确定所述全景图像中该像素点的像素值,具体包括:
获取所述K个像素点中每个像素点的权重;
根据所述K个像素点的像素值和每个像素点的权重,确定所述全景图像中该像素点的像素值。
7.如权利要求1所述的方法,其特征在于,在所述全景图像的分辨率大于每个鱼眼图像的分辨率时,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值,具体包括:
根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中的第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点,所述第一部分像素点为所述全景图像中与所述N个鱼眼图像中的像素点对应的所有像素点;
根据所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点的像素值,确定所述第一部分像素点中每个像素点的像素值;
根据所述第一部分像素点中每个像素点的像素值,确定所述全景图像中第二部分像素点中每个像素点的像素值,其中,所述第一部分像素点和所述第二部分像素点为所述全景图像中的所有像素点。
8.如权利要求7所述的方法,其特征在于,所述根据每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中的第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点,具体包括:
将所述全景图像中每个像素点的经纬度坐标转换为球面坐标;
根据所述全景图像中每个像素点的球面坐标和每个鱼眼镜头在世界坐标系中的姿态矩阵,获取所述全景图像中每个像素点的新球面坐标;
根据所述全景图像中每个像素点的新球面坐标和所述N个鱼眼图像中每个像素点的平面坐标和球面坐标的映射关系,从所述全景图像的像素点中确定所述第一部分像素点,并获取所述第一部分像素点中每个像素点在相应鱼眼图像中的对应像素点。
9.如权利要求1所述的方法,其特征在于,获取所述N个柱面投影图像中每组柱面投影图像的相交区域,具体包括:
根据所述N个鱼眼镜头的分布和每个鱼眼镜头的视场,得到所述N个柱面投影图像中每组柱面投影图像的相交区域。
10.一种鱼眼图像拼接成全景视频的方法,其特征在于,N个鱼眼镜头在同一时刻获取的N个鱼眼图像组成一组鱼眼图像,包括:
利用所述N个鱼眼镜头依次获取K组鱼眼图像,其中,N和K均为不小于2的整数;
针对获取的每一组鱼眼图像执行以下步骤:
步骤A:根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述一组鱼眼图像按经纬度展开后的N个柱面投影图像;
步骤B:将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
步骤C:根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
步骤D:以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
步骤E:根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
步骤F:根据所述全景图像中每个像素点的像素值,获取所述全景图像;
在每组鱼眼图像执行完上述步骤之后,获取到K个全景图像;
根据所述K组鱼眼图像的时间顺序,将所述K个全景图像组成全景视频。
11.一种摄像设备,其特征在于,包括:
鱼眼图像获取单元,用于利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像,其中,N为不小于2的整数;
柱面投影图像获取单元,用于根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述N个鱼眼图像按经纬度展开后的N个柱面投影图像;
匹配特征点对获取单元,用于将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;
第一姿态矩阵获取单元,用于根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;
第二姿态矩阵获取单元,用于以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;
像素值获取单元,用于根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;
全景图像获取单元,用于根据所述全景图像中每个像素点的像素值,获取所述全景图像。
12.一种摄像设备,其特征在于,包括:
鱼眼图像获取单元,用于利用N个鱼眼镜头依次获取K组鱼眼图像,其中,所述N个鱼眼镜头在同一时刻获取的N个鱼眼图像组成一组鱼眼图像,N和K均为不小于2的整数;
全景图像获取单元,用于针对获取的每一组鱼眼图像执行以下步骤:步骤A:根据经纬度坐标、球面坐标和平面坐标的映射关系,获取到所述一组鱼眼图像按经纬度展开后的N个柱面投影图像;步骤B:将所述N个柱面投影图像中每组柱面投影图像的相交区域进行特征点匹配,得到每组柱面投影图像相交区域的匹配特征点对,其中,每两个具有相交区域的柱面投影图像为一组柱面投影图像;步骤C:根据球面坐标和经纬度坐标的映射关系,获取每组柱面投影图像相交区域的匹配特征点对在球面上的三维坐标集,并利用每组柱面投影图像相交区域的匹配特征点对的三维坐标集进行姿态计算,获取每组柱面投影图像相交区域的匹配特征点对的姿态矩阵;步骤D:以所述N个鱼眼镜头中的某一鱼眼镜头的坐标系为世界坐标系,利用每组柱面投影图像相交区域的匹配特征点对的姿态矩阵,计算得到每个鱼眼镜头在世界坐标系中的姿态矩阵;步骤E:根据每个鱼眼镜头在世界坐标系中的姿态矩阵,确定由所述N个鱼眼图像拼接而成的全景图像中每个像素点的像素值;步骤F:根据所述全景图像中每个像素点的像素值,获取所述全景图像;在每组鱼眼图像执行完上述步骤之后,获取到K个全景图像;
全景视频获取单元,用于根据所述K组鱼眼图像的时间顺序,将所述K个全景图像组成全景视频。
CN201611075609.0A 2016-11-29 2016-11-29 鱼眼图像拼接成全景图像和全景视频的方法及装置 Active CN108122191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611075609.0A CN108122191B (zh) 2016-11-29 2016-11-29 鱼眼图像拼接成全景图像和全景视频的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611075609.0A CN108122191B (zh) 2016-11-29 2016-11-29 鱼眼图像拼接成全景图像和全景视频的方法及装置

Publications (2)

Publication Number Publication Date
CN108122191A true CN108122191A (zh) 2018-06-05
CN108122191B CN108122191B (zh) 2021-07-06

Family

ID=62226901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611075609.0A Active CN108122191B (zh) 2016-11-29 2016-11-29 鱼眼图像拼接成全景图像和全景视频的方法及装置

Country Status (1)

Country Link
CN (1) CN108122191B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876712A (zh) * 2018-06-21 2018-11-23 东南大学 基于双投影变换的球形封闭座舱全景显示方法
CN109304741A (zh) * 2018-12-07 2019-02-05 宁波宝尼尔厨具电器有限公司 内刀头残缺度指示系统
CN109587304A (zh) * 2019-01-04 2019-04-05 Oppo广东移动通信有限公司 电子设备和移动平台
CN109618108A (zh) * 2019-01-07 2019-04-12 Oppo广东移动通信有限公司 电子设备和移动平台
CN109660731A (zh) * 2019-01-04 2019-04-19 Oppo广东移动通信有限公司 电子设备和移动平台
CN109660733A (zh) * 2019-01-04 2019-04-19 Oppo广东移动通信有限公司 电子设备和移动平台
CN109660732A (zh) * 2019-01-04 2019-04-19 Oppo广东移动通信有限公司 电子设备和移动平台
CN109685721A (zh) * 2018-12-29 2019-04-26 深圳看到科技有限公司 全景画面拼接方法、装置、终端及对应的存储介质
CN110717936A (zh) * 2019-10-15 2020-01-21 哈尔滨工业大学 一种基于相机姿态估计的图像拼接方法
CN111429336A (zh) * 2019-12-27 2020-07-17 上海庄生晓梦信息科技有限公司 鱼眼视频数据的处理方法和处理装置
CN111507894A (zh) * 2020-04-17 2020-08-07 浙江大华技术股份有限公司 一种图像拼接处理方法及装置
CN111723830A (zh) * 2019-03-20 2020-09-29 杭州海康威视数字技术股份有限公司 一种图像映射方法、装置及设备、存储介质
CN112995646A (zh) * 2021-02-09 2021-06-18 聚好看科技股份有限公司 一种鱼眼视频的显示方法及显示设备
CN113450254A (zh) * 2021-05-20 2021-09-28 北京城市网邻信息技术有限公司 图像处理方法、装置、电子设备和计算机可读存储介质
CN114462622A (zh) * 2022-02-07 2022-05-10 舵敏智能科技(苏州)有限公司 一种用于众包数据的深度学习模型部署与训练方法
CN115174805A (zh) * 2022-06-27 2022-10-11 影石创新科技股份有限公司 全景立体图像的生成方法、装置和电子设备
CN118400594A (zh) * 2024-07-01 2024-07-26 圆周率科技(常州)有限公司 图像拼接方法、装置及全景相机

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070159527A1 (en) * 2006-01-09 2007-07-12 Samsung Electronics Co., Ltd. Method and apparatus for providing panoramic view with geometric correction
CN103226840A (zh) * 2013-04-24 2013-07-31 武汉大学 全景影像拼接及量测系统及方法
US20160050349A1 (en) * 2014-08-15 2016-02-18 Sony Corporation Panoramic video
CN105550984A (zh) * 2015-12-30 2016-05-04 北京奇艺世纪科技有限公司 一种鱼眼图像校正和漫游显示的方法及装置
CN105678729A (zh) * 2016-02-24 2016-06-15 段梦凡 鱼眼镜头全景图像拼接方法
CN105741233A (zh) * 2016-01-27 2016-07-06 桂林长海发展有限责任公司 一种视频图像球面拼接方法及系统
CN106127680A (zh) * 2016-06-29 2016-11-16 深圳市优象计算技术有限公司 一种720度全景视频快速浏览方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070159527A1 (en) * 2006-01-09 2007-07-12 Samsung Electronics Co., Ltd. Method and apparatus for providing panoramic view with geometric correction
CN103226840A (zh) * 2013-04-24 2013-07-31 武汉大学 全景影像拼接及量测系统及方法
US20160050349A1 (en) * 2014-08-15 2016-02-18 Sony Corporation Panoramic video
CN105550984A (zh) * 2015-12-30 2016-05-04 北京奇艺世纪科技有限公司 一种鱼眼图像校正和漫游显示的方法及装置
CN105741233A (zh) * 2016-01-27 2016-07-06 桂林长海发展有限责任公司 一种视频图像球面拼接方法及系统
CN105678729A (zh) * 2016-02-24 2016-06-15 段梦凡 鱼眼镜头全景图像拼接方法
CN106127680A (zh) * 2016-06-29 2016-11-16 深圳市优象计算技术有限公司 一种720度全景视频快速浏览方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ÖMER COGAL 等: "Spherical Panorama Construction using Multi Sensor Registration Priors and Its Real-Time Hardware", 《2013 IEEE INTERNATIONAL SYMPOSIUM ON MULTIMEDIA》 *
姚路 等: "基于投影模型和图像融合的拼接畸变消除算法", 《计算机应用与软件》 *
王依桌: "鱼眼图像的校正与柱面全景拼接方法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876712A (zh) * 2018-06-21 2018-11-23 东南大学 基于双投影变换的球形封闭座舱全景显示方法
CN109304741A (zh) * 2018-12-07 2019-02-05 宁波宝尼尔厨具电器有限公司 内刀头残缺度指示系统
CN109685721B (zh) * 2018-12-29 2021-03-16 深圳看到科技有限公司 全景画面拼接方法、装置、终端及对应的存储介质
CN109685721A (zh) * 2018-12-29 2019-04-26 深圳看到科技有限公司 全景画面拼接方法、装置、终端及对应的存储介质
CN109660732A (zh) * 2019-01-04 2019-04-19 Oppo广东移动通信有限公司 电子设备和移动平台
CN109660731A (zh) * 2019-01-04 2019-04-19 Oppo广东移动通信有限公司 电子设备和移动平台
CN109660733A (zh) * 2019-01-04 2019-04-19 Oppo广东移动通信有限公司 电子设备和移动平台
CN109587304A (zh) * 2019-01-04 2019-04-05 Oppo广东移动通信有限公司 电子设备和移动平台
CN109587304B (zh) * 2019-01-04 2021-04-16 Oppo广东移动通信有限公司 电子设备和移动平台
CN109618108A (zh) * 2019-01-07 2019-04-12 Oppo广东移动通信有限公司 电子设备和移动平台
CN111723830B (zh) * 2019-03-20 2023-08-29 杭州海康威视数字技术股份有限公司 一种图像映射方法、装置及设备、存储介质
CN111723830A (zh) * 2019-03-20 2020-09-29 杭州海康威视数字技术股份有限公司 一种图像映射方法、装置及设备、存储介质
CN110717936B (zh) * 2019-10-15 2023-04-28 哈尔滨工业大学 一种基于相机姿态估计的图像拼接方法
CN110717936A (zh) * 2019-10-15 2020-01-21 哈尔滨工业大学 一种基于相机姿态估计的图像拼接方法
CN111429336A (zh) * 2019-12-27 2020-07-17 上海庄生晓梦信息科技有限公司 鱼眼视频数据的处理方法和处理装置
CN111429336B (zh) * 2019-12-27 2023-09-08 上海庄生晓梦信息科技有限公司 鱼眼视频数据的处理方法和处理装置
CN111507894B (zh) * 2020-04-17 2023-06-13 浙江大华技术股份有限公司 一种图像拼接处理方法及装置
CN111507894A (zh) * 2020-04-17 2020-08-07 浙江大华技术股份有限公司 一种图像拼接处理方法及装置
CN112995646A (zh) * 2021-02-09 2021-06-18 聚好看科技股份有限公司 一种鱼眼视频的显示方法及显示设备
CN113450254A (zh) * 2021-05-20 2021-09-28 北京城市网邻信息技术有限公司 图像处理方法、装置、电子设备和计算机可读存储介质
CN114462622A (zh) * 2022-02-07 2022-05-10 舵敏智能科技(苏州)有限公司 一种用于众包数据的深度学习模型部署与训练方法
CN115174805A (zh) * 2022-06-27 2022-10-11 影石创新科技股份有限公司 全景立体图像的生成方法、装置和电子设备
CN118400594A (zh) * 2024-07-01 2024-07-26 圆周率科技(常州)有限公司 图像拼接方法、装置及全景相机
CN118400594B (zh) * 2024-07-01 2024-10-01 圆周率科技(常州)有限公司 图像拼接方法、装置及全景相机

Also Published As

Publication number Publication date
CN108122191B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN108122191A (zh) 鱼眼图像拼接成全景图像和全景视频的方法及装置
Wang et al. 360sd-net: 360 stereo depth estimation with learnable cost volume
CN100485720C (zh) 一种基于序列静态图像的360°环视全景生成方法
CN110211043B (zh) 一种用于全景图像拼接的基于网格优化的配准方法
WO2021120407A1 (zh) 一种基于多对双目相机的视差图像拼接与可视化方法
US8432435B2 (en) Ray image modeling for fast catadioptric light field rendering
CN110782394A (zh) 全景视频快速拼接方法及系统
CN106683071B (zh) 图像的拼接方法和装置
CN104778656B (zh) 基于球面透视投影的鱼眼图像校正方法
CN106683045A (zh) 一种基于双目像机的全景图像拼接方法
CN108846796B (zh) 图像拼接方法及电子设备
CN105005964B (zh) 基于视频序列影像的地理场景全景图快速生成方法
CN111981982B (zh) 一种基于加权sfm算法的多向合作靶标光学测量方法
CN102903101B (zh) 使用多台相机进行水面数据采集与重建的方法
CN106534670B (zh) 一种基于固联鱼眼镜头摄像机组的全景视频生成方法
CN103426168B (zh) 基于一维标定杆的普通、广角、鱼眼立体摄像机的通用标定方法
CN111009030A (zh) 一种多视高分辨率纹理图像与双目三维点云映射方法
CN109559349A (zh) 一种用于标定的方法和装置
CN106997617A (zh) 混合现实虚拟呈现方法及装置
CN109859137A (zh) 一种广角相机非规则畸变全域校正方法
Fu et al. Image stitching techniques applied to plane or 3-D models: a review
CN108269234A (zh) 一种全景相机镜头姿态估计方法及全景相机
JP4554231B2 (ja) 歪みパラメータの生成方法及び映像発生方法並びに歪みパラメータ生成装置及び映像発生装置
CN115174805A (zh) 全景立体图像的生成方法、装置和电子设备
CN105488764B (zh) 鱼眼图像校正方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210112

Address after: No. 102, 1st floor, building 1, No. 1129, shijicheng Road, high tech Zone, Chengdu, Sichuan 610000

Applicant after: Chengdu meiruo Mengjing Technology Co.,Ltd.

Address before: No.3, 1st floor, unit 1, building 2, 219 Tianhua 2nd Road, high tech Zone, Chengdu, Sichuan 610041

Applicant before: CHENGDU GUANJIE CHUANGYU TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant