CN109035134B - 全景图像拼接方法、装置、电子设备及存储介质 - Google Patents

全景图像拼接方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN109035134B
CN109035134B CN201710428932.XA CN201710428932A CN109035134B CN 109035134 B CN109035134 B CN 109035134B CN 201710428932 A CN201710428932 A CN 201710428932A CN 109035134 B CN109035134 B CN 109035134B
Authority
CN
China
Prior art keywords
image
fisheye image
fisheye
matched
region
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.)
Active
Application number
CN201710428932.XA
Other languages
English (en)
Other versions
CN109035134A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to CN201710428932.XA priority Critical patent/CN109035134B/zh
Publication of CN109035134A publication Critical patent/CN109035134A/zh
Application granted granted Critical
Publication of CN109035134B publication Critical patent/CN109035134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction

Landscapes

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

Abstract

本发明提供一种全景图像拼接方法、装置、电子设备及计算机可读存储介质,涉及图像处理技术领域,用以提高获得的全景图像的效果。本发明的全景图像拼接方法,包括:利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。本发明主要用于全景图像拼接技术中。

Description

全景图像拼接方法、装置、电子设备及存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种全景图像拼接方法、装置、电子设备及计算机可读存储介质。
背景技术
由于能够带给观者更广阔的视角,图像中包含更丰富的内容,因此全景图像的摄像头受到了越来越多的喜欢。
利用全景摄像头拍摄的原始图像包含左右两个鱼眼图像,左右鱼眼图像经拼接后,可生成最后的全景图像。在进行图像拼接时,由于左右鱼眼图像分别包含两个重叠区域,位于左右鱼眼图像图像中间的重叠区域符合现有拼接算法的要求,而对于分别位于左右鱼眼图像的两端的重叠区域,如果利用在该重叠区域计算得到的特征点进行直接匹配,将会造成整体图像的匹配拼接错误,从而使得按照现有图像拼接方法获得的全景图像的效果较差。
发明内容
有鉴于此,本发明提供一种全景图像拼接方法、装置、电子设备及计算机存储介质,能够提高获得的全景图像的效果。
为解决上述技术问题,一方面,本发明提供一种全景图像拼接方法,包括:
利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
其中,所述根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像,包括:
将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像;
在所述待处理的左鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一左鱼眼图像;
在所述待处理的右鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一右鱼眼图像。
其中,所述将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像后,还包括:
对所述待处理的左鱼眼图像和/或所述待处理的右鱼眼图像进行旋转。
其中,所述分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像,包括:
在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二左鱼眼图像;
在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二右鱼眼图像。
其中,所述在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,包括:
将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一左鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点;
所述在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,包括:
将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一右鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
其中,所述基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,包括:
对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;
将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像;
在每个待匹配图像中确定待匹配区域;
基于特征点匹配的方法,对所述待匹配区域进行拼接。
其中,所述在每个待匹配图像中确定待匹配区域,包括:对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
其中,所述基于特征点匹配的方法,对所述待匹配区域进行拼接,包括:
在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述;
对于组成所述待匹配区域的左半图和右半图中的目标半图,确定所述目标半图中的特征点和所述组成所述待匹配区域的左半图和右半图中的另一半图的特征点之间的匹配特征点对;
计算所述匹配特征点对之间的变换矩阵;
根据所述变换矩阵对所述目标半图进行变换;
将变换后的目标半图与所述另一半图对应的畸变校正后的鱼眼图像进行拼接;
当所述目标半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像;当所述目标半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二鱼眼图像。
其中,所述根据所述变换矩阵对所述目标半图进行变换,包括:
对所述目标半图中的每个图像块进行三角剖分,得到三角面片;
根据获得的三角面片,确定能量约束函数;
获取预设的约束条件;
根据所述能量约束函数、所述约束条件和所述变换矩阵,对所述进行了三角剖分的目标半图进行变换。
其中,在所述在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述后,还包括:
为确定的特征点添加颜色信息。
其中,所述方法还包括:对所述全景图像进行融合。
第二方面,本发明实施例提供了一种全景图像拼接装置,包括:
图像获取模块,用于利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
图像校正模块,用于分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
图像拼接模块,用于基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
其中,所述图像获取模块包括:
图像拍摄子模块,用于利用全景摄像装置获得原始输入图像;
图像切分子模块,用于将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像;
图像获取子模块,用于在所述待处理的左鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一左鱼眼图像;在所述待处理的右鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一右鱼眼图像。
其中,所述图像获取模块还包括:
图像旋转子模块,用于对所述待处理的左鱼眼图像和/或所述待处理的右鱼眼图像进行旋转。
其中,所述图像校正模块包括:
第一图像校正子模块,用于在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二左鱼眼图像;
第二图像校正子模块,用于在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二右鱼眼图像。
其中,所述第一图像校正子模块包括:
第一坐标转换单元,用于将所述目标像素点的坐标转换为半球坐标;
第一计算单元,用于计算所述半球坐标对应的3D球面坐标;
第二坐标转换单元,用于将所述3D球面坐标转换为鱼眼镜头极坐标;
第一确定单元,用于在所述第一左鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
其中,所述第二图像校正子模块包括:
第三坐标转换单元,用于将所述目标像素点的坐标转换为半球坐标;
第二计算单元,用于计算所述半球坐标对应的3D球面坐标;
第四坐标转换单元,用于将所述3D球面坐标转换为鱼眼镜头极坐标;
第二确定单元,用于在所述第一右鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
其中,所述图像拼接模块包括:
图像分割子模块,用于对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;
图像组合子模块,用于将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像;
图像拼接子模块,用于基于特征点匹配的方法,对所述待匹配区域进行拼接。
其中,所述待匹配区域确定子模块具体用于,对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
其中,所述图像拼接子模块包括:
特征点描述子模块,用于在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述;
匹配特征点对确定子模块,用于对于组成所述待匹配区域的左半图和右半图中的目标半图,确定所述目标半图中的特征点和所述组成所述待匹配区域的左半图和右半图中的另一半图的特征点之间的匹配特征点对;
计算子模块,用于计算所述匹配特征点对之间的变换矩阵;
变换子模块,用于根据所述变换矩阵对所述目标半图进行变换;
拼接子模块,用于将变换后的目标半图与所述另一半图对应的畸变校正后的鱼眼图像进行拼接;
当所述目标半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像;当所述目标半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像。
其中,所述变换子模块包括:
剖分单元,用于对所述目标半图中的每个图像块进行三角剖分,得到三角面片;
函数确定单元,用于根据获得的三角面片,确定能量约束函数;
获取单元,用于获取预设的约束条件;
变换单元,用于根据所述能量约束函数、所述约束条件和所述变换矩阵,对所述进行了三角剖分的目标半图进行变换。
其中,所述图像拼接子模块还包括:
添加子模块,用于为确定的特征点添加颜色信息。
其中,所述装置还包括:
图像融合模块,用于对所述全景图像进行融合。
第三方面,本发明实施例提供了一种电子设备,包括:处理器;和存储器,在所述存储器中存储有计算机程序指令,其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:
利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
第四方面,本发明实施例提供了一种所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行以下步骤:
利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
本发明的上述技术方案的有益效果如下:
在本发明实施例中,对获得的第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像,然后,基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。因此,利用本发明实施例的方案在考虑了两个鱼眼图像重叠区域的特性的基础上,利用特征点的匹配方法进行了拼接,从而使得利用本发明实施例的方案获得的全景图像的效果更好。
附图说明
图1为本发明实施例的全景图像拼接方法的流程图;
图2为本发明实施例中确定有效图像区域的示意图;
图3为原始输入图像切分示意图;
图4为本发明实施例中畸变校正的过程示意图;
图5为利用现有技术的全景拼接方法获得的全景图像的示意图;
图6为本发明实施例对第二左鱼眼图像切分的示意图;
图7(a)为待匹配图像的示意图;
图7(b)为待匹配图像中有效图像区域的示意图;
图7(c)为匹配特征点对的示意图;
图7(d)为未加入约束时获得的拼接图像的示意图;
图7(e)为加入约束时获得的拼接图像的示意图;
图8为本发明实施例中基于特征点匹配的方法,对所述待匹配区域进行拼接的流程图;
图9为三角剖分的示意图;
图10示意了有约束的图像变换的结果;
图11为本发明实施例的全景图像拼接装置的示意图;
图12为本发明实施例的图像获取模块的示意图;
图13为本发明实施例的图像获取模块的又一示意图;
图14为本发明实施例的图像校正模块的示意图;
图15为本发明实施例的第一图像校正子模块的示意图;
图16为本发明实施例的第二图像校正子模块的示意图;
图17为本发明实施例的图像拼接模块的示意图;
图18为本发明实施例的图像拼接子模块的示意图;
图19为本发明实施例的变换子模块的示意图;
图20为本发明实施例的图像拼接子模块的又一示意图;
图21为本发明实施例的全景图像拼接装置的又一示意图;
图22为本发明实施例的电子设备的示意图;
图23为本发明实施例的应用场景示意图。
具体实施方式
下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明实施例的全景图像拼接方法,包括:
步骤101、利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像。
其中,所述全景摄像装置可以是全景摄像头等。在此,将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像。在所述待处理的左鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一左鱼眼图像;在所述待处理的右鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一右鱼眼图像。
通常情况下,鱼眼图像的有效区域为圆形区域包含图像信息,而其他区域则为黑色。基于此特征,圆形有效区域的像素点的亮度值要远远大于黑色无效区域,因此,区域内的极限亮度差比有效区域之外的极限亮度值大的多。
因此,在图像的x方向与y方向利用基于扫描线逼近的方法,获得鱼眼图像中的圆形有效区域。图2示出了如何在输入的鱼眼图像中得到有效图像区域的过程。在确定有效区域时,以对待处理的左鱼眼图像为例,基于扫描线逼近的方法,例如从左侧、右侧、顶侧、底侧开始向图像的中间扫描。
当从图中左侧开始扫描,扫描向进入圆形区域时,如图中的left1到left2时,为此,可预先设定阈值。当扫描线上的极限亮度差大于该阈值时,可认为扫描线已经扫描至有效区域的边缘。自此,即可获得有效区域的左边缘。基于同样的道理,可以获得有效区域的上边缘、下边缘和右边缘,从而获得第一左鱼眼图像。
对于待处理的右鱼眼图像,也可基于扫描线逼近的方法,确定有效图像区域,并将所述有效图像区域作为所述第一右鱼眼图像。
如图3所示,将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像,如图3中左侧所示。图中左侧的两幅鱼眼图像分别为待处理的左鱼眼图像和待处理的右鱼眼图像。为便于后续处理,将待处理的左鱼眼图像和待处理的右鱼眼图像进行旋转(左侧图像顺时针旋转90度,右侧图像逆时针旋转90度),再利用扫描线逼近的方法,获得第一左鱼眼图像、第一右鱼眼图像,如图3中右侧所示。
步骤102、分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像。
在本发明实施例中,在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB(红绿蓝)值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二左鱼眼图像。其中,所述目标图像可以理解为第一左鱼眼图像所对应的期望校正后的图像,该目标图像中的任一像素点都可作为目标像素点。
在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二右鱼眼图像。其中,所述目标图像可以理解为第一右鱼眼图像所对应的期望校正后的图像,该目标图像中的任一像素点都可作为目标像素点。
也就是说,在本发明实施例中,为使得期望校正后的图像的像素点都具有清晰的描述,在此,在第一左鱼眼图像中确定期望校正后的图像的像素点对应的像素点,即对应像素点,然后利用对应像素点的RGB值作为期望校正后的图像的像素点的RGB值。对第一右鱼眼图像也是如此。
具体的,在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,包括:
将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一左鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点;
所述在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,包括:
将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一右鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
以对第一左鱼眼图像进行畸变校正为例。结合图4所示,包括如下过程:
(1)将所述目标像素点的坐标(u,v)转换为半球坐标
Figure BDA0001316903170000111
(
Figure BDA0001316903170000112
θ分别代表经度,纬度);
(2)按照如下公式计算所述半球坐标
Figure BDA0001316903170000113
对应的3D球面坐标(x,y,z);
Figure BDA0001316903170000114
y=r*cosθ,
Figure BDA0001316903170000115
(r=width/2,width表示期望校正后的图像的宽度,为已知量)。
(3)将所述3D球面坐标(x,y,z)转换为鱼眼镜头极坐标
Figure BDA0001316903170000116
按照如下方式进行转换:
Figure BDA0001316903170000117
(4)在所述第一左鱼眼图像中,确定所述鱼眼镜头极坐标
Figure BDA0001316903170000118
对应的目标坐标(x’,y’),将具有所述目标坐标的像素点作为所述对应像素点。
如果
Figure BDA0001316903170000119
位于1或3象限,那么:
Figure BDA00013169031700001110
Figure BDA00013169031700001111
如果
Figure BDA00013169031700001112
位于2或4象限,那么:
Figure BDA00013169031700001113
Figure BDA00013169031700001114
经过以上步骤,目标图像中的每个点将计算得到其在对应的鱼眼图像中的对应点,相应地,可以得到畸变校正后的图像。
步骤103、基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
图5表示直接在校正后的鱼眼图像上运用图像拼接的方法会产生错误的结果。利用现有技术中的图像拼接方法,经由畸变校正后的左右鱼眼图像图像有两个重叠区域,其中一个重叠区域位于两幅鱼眼图像的中间部分,如图5中框1(框11和12)所示;而另一个重叠区域分别位于左右鱼眼图像的两端,如图中框2(框21和22)显示。其中,框1标示的重叠区域符合现有的图像拼接算法的要求,而在框2区域找到的特征点如按照现有的方法进行匹配,则会产生错误的匹配点对间的变换矩阵,进而导致拼接失败。
因此,在本发明实施例中,基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。具体过程如下:
步骤1031、对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分。
其中,所述代理处理图像可以是第二左鱼眼图像,也可以是第二右鱼眼图像。如图6所示,以图5中的左鱼眼图像为例,将其切分为左半图和右半图。结合图6所示,所述第一重叠区域可以是框1的内容,第二重叠区域可以是框2的内容。具体的,左鱼眼图像的左半图包括框2的21部分,右半图包括框1的11部分。同理,如果对右鱼眼图像进行分割,那么右鱼眼图像的右半图包括框2的22部分,左半图包括框1的12部分。
步骤1032、将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像。
对于第二左鱼眼图像的左半图,将其和第二右鱼眼图像组成第一待匹配图像,将第二左鱼眼图像的右半图和第一待匹配图像组成第二待匹配图像。如图7(a)所示,是对第二左右鱼眼图像切分、组成待匹配图像之后的示意图。
步骤1033、在每个待匹配图像中确定待匹配区域。
从图7(a)中可以看出,在两个待匹配图像中均存在有重叠区域。为进一步提高拼接效果,在本发明实施例中,在每个待匹配图像中确定待匹配区域。具体的,按照如下原则确定待匹配区域:
(1)垂直方向上:去除上部及下部的预设区域,因为该区域可能包含仍然存在的轻度的畸变。其中,上部或者下部的预设区域的大小可根据实际需要设置。
(2)水平方向上:使得待匹配区域仅包含重叠区域,避免由于区域过大造成可能的匹配错误。
例如,如图7(b)所示,通常情况下,去除的上部或者下部区域为待匹配图像整体高度(用h表示)的10%,组成待匹配图像的左半图或者右半图所包括的重叠区域的宽度为待匹配图像宽度(用w表示)的25%左右。
步骤1034、基于特征点匹配的方法,对所述待匹配区域进行拼接。
在此,如图8所示,包括如下步骤:
步骤10341、在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述。
例如,在本发明实施例中可使用SIFT(Scale-invariant feature transform,尺度不变特征变换)描述因子对特征点进行描述。
此外,因为在同一时间,同一地点,同一光照条件下拍摄的左右鱼眼图像,两幅图像上的对应点应该具有同样的颜色,因此为了进一步提高拼接效果,还可为确定的特征点添加颜色信息。例如,以利用SIFT描述特征点为例,将SIFT描述子由原本的128维扩展至128+3维,加入(R,G,B)颜色信息。
步骤10342、对于组成所述待匹配区域的左半图和右半图中的目标半图,确定所述目标半图中的特征点和所述组成所述待匹配区域的左半图和右半图中的另一半图的特征点之间的匹配特征点对,如图7(c)所示。
步骤10343、计算所述匹配特征点对之间的变换矩阵。
步骤10344、根据所述变换矩阵对所述目标半图进行变换,如图7(d)所示。
步骤10345、将变换后的目标半图与所述另一半图对应的畸变校正后的鱼眼图像进行拼接。
由于组成待匹配区域的左半图和右半图分别为第二左鱼眼图像的左半图和第二右鱼眼图像的右半图,或者为第二右鱼眼图像的右半图和第二左鱼眼图像的左半图。那么,
当所述目标半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像;当所述目标半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二鱼眼图像。
通常,为了获得360度全景图像并用于后续的全景展示,拼接后的图像要求符合2:1的长宽比。未加限定条件的图像变换及拼接会导致最后产生的图像并不符合长宽比的要求,如图7(d)(未加入约束时的情形)-图7(e)(加入约束时的情形)中所示。因此,需要在做拼接前根据全景图像的特点加入特定的限定条件。
具体的,在此步骤中,包括:
(1)对所述目标半图中的每个图像块进行三角剖分,得到三角面片(如图9);
(2)根据获得的三角面片,确定能量约束函数。
在此,可设计如下能量约束函数:
Figure BDA0001316903170000141
其中S:原始三角形的面积;Sn:变形后的三角形的面积
v:原始三角形的顶点;vn:变形后的三角形的顶点
ω=|v–edge|权值(以顶点与边之间的距离表示,edge表示某个三角面片对应的待拼接图像的右边缘)
(3)获取预设的约束条件。
在此,假设预设的约束条件为:边缘上的顶点(以本图为例,包括上边缘,右边缘,及下边缘)在变换后应保持位置不变。
(4)根据所述能量约束函数、所述约束条件和所述变换矩阵,对所述进行了三角剖分的目标半图进行变换。
进行变换之后,再将变换后的图像目标半图与所述另一半图对应的畸变校正后的鱼眼图像进行拼接。
加入约束后,得到的全景图像的长宽比更符合要求,效果更好。图10示意了有约束的图像变换的结果,整个图像的长宽保持不变,只有图像的局部内容发生了变化。
在本发明实施例中,对获得的第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像,然后,基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。因此,利用本发明实施例的方案在考虑了两个鱼眼图像重叠区域的特性的基础上,利用特征点的匹配方法进行了拼接,从而使得利用本发明实施例的方案获得的全景图像的效果更好。
在上述实施例的基础上,为了取得更好的观看效果,还可对获得的全景图像上进行图像融合,使得最后生成的图像具有更平滑的效果。
如图11所示,本发明实施例的全景图像拼接装置1100,包括:
图像获取模块1101,用于利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;图像校正模块1102,用于分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;图像拼接模块1103,用于基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
如图12所示,所述图像获取模块1101包括:
图像拍摄子模块11011,用于利用全景摄像装置获得原始输入图像;图像切分子模块11012,用于将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像;图像获取子模块11013,用于在所述待处理的左鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一左鱼眼图像;在所述待处理的右鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一右鱼眼图像。
为了进一步提高拼接效果,如图13所示,所述图像获取模块1101还包括:
图像旋转子模块11014,用于对所述待处理的左鱼眼图像和/或所述待处理的右鱼眼图像进行旋转。
如图14所示,所述图像校正模块1102包括:
第一图像校正子模块11021,用于在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二左鱼眼图像;
第二图像校正子模块11022,用于在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二右鱼眼图像。
如图15所示,所述第一图像校正子模块11021包括:
第一坐标转换单元110211,用于将所述目标像素点的坐标转换为半球坐标;第一计算单元110212,用于计算所述半球坐标对应的3D球面坐标;第二坐标转换单元110213,用于将所述3D球面坐标转换为鱼眼镜头极坐标;第一确定单元110214,用于在所述第一左鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
如图16所示,所述第二图像校正子模块11022包括:
第三坐标转换单元110221,用于将所述目标像素点的坐标转换为半球坐标;第二计算单元110222,用于计算所述半球坐标对应的3D球面坐标;第四坐标转换单元110223,用于将所述3D球面坐标转换为鱼眼镜头极坐标;第二确定单元110224,用于在所述第一右鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
如图17所示,所述图像拼接模块1103包括:
图像分割子模块11031,用于对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;
图像组合子模块11032,用于将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像;
待匹配区域确定子模块11033,用于在每个待匹配图像中确定待匹配区域;
图像拼接子模块11034,用于基于特征点匹配的方法,对所述待匹配区域进行拼接。
其中,所述待匹配区域确定子模块11033具体用于,对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
如图18所示,所述图像拼接子模块11034包括:
特征点描述子模块110341,用于在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述;匹配特征点对确定子模块110342,用于对于组成所述待匹配区域的左半图和右半图中的目标半图,确定所述目标半图中的特征点和所述组成所述待匹配区域的左半图和右半图中的另一半图的特征点之间的匹配特征点对;计算子模块110343,用于计算所述匹配特征点对之间的变换矩阵;变换子模块110344,用于根据所述变换矩阵对所述目标半图进行变换;拼接子模块110345,用于将变换后的目标半图与所述另一半图对应的畸变校正后的鱼眼图像进行拼接;
当所述目标半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像;当所述目标半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像。
如图19所示,所述变换子模块110344包括:
剖分单元1103441,用于对所述目标半图中的每个图像块进行三角剖分,得到三角面片;函数确定单元1103442,用于根据获得的三角面片,确定能量约束函数;获取单元1103443,用于获取预设的约束条件;变换单元1103444,用于根据所述能量约束函数、所述约束条件和所述变换矩阵,对所述进行了三角剖分的目标半图进行变换。
如图20所示,所述图像拼接子模块11034还包括:添加子模块110346,用于为确定的特征点添加颜色信息。
如图21所示,为进一步提高图像效果,所述装置还包括:图像融合模块1104,用于对所述全景图像进行融合。
在本发明实施例中,对获得的第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像,然后,基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。因此,利用本发明实施例的方案在考虑了两个鱼眼图像重叠区域的特性的基础上,利用特征点的匹配方法进行了拼接,从而使得利用本发明实施例的方案获得的全景图像的效果更好。
如图22所示,本发明实施例提供了一种电子设备,本实施例包括:处理器2201和存储器2202,在所述存储器2202中存储有计算机程序指令,其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器2201执行以下步骤:
利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
进一步地,如图22所示,电子设备还包括网络接口2203、输入设备2204、硬盘2205、和显示设备2206。
上述各个接口和设备之间可以通过总线架构互连。总线架构可以是可以包括任意数量的互联的总线和桥。具体由处理器2201代表的一个或者多个中央处理器(CPU),以及由存储器2202代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其它电路连接在一起。可以理解,总线架构用于实现这些组件之间的连接通信。总线架构除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,这些都是本领域所公知的,因此本文不再对其进行详细描述。
所述网络接口2203,可以连接至网络(如因特网、局域网等),从网络中获取相关数据,并可以保存在硬盘2205中。
所述输入设备2204,可以接收操作人员输入的各种指令,并发送给处理器2201以供执行。所述输入设备2204可以包括键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
所述显示设备2206,可以将处理器2201执行指令获得的结果进行显示。
所述存储器2202,用于存储操作系统运行所必须的程序和数据,以及处理器2201计算过程中的中间结果等数据。
可以理解,本发明实施例中的存储器2202可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。本文描述的装置和方法的存储器2202旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器2202存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统22021和应用程序22022。
其中,操作系统22021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序22022,包含各种应用程序,例如浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序22022中。
上述处理器2201,当调用并执行所述存储器2202中所存储的应用程序和数据,具体的,可以是应用程序22022中存储的程序或指令时,利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
本发明上述实施例揭示的方法可以应用于处理器2201中,或者由处理器2201实现。处理器2201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2201可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2202,处理器2201读取存储器2202中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ASIC)、数字信号处理器DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
具体地,处理器2201将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像;在所述待处理的左鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一左鱼眼图像;在所述待处理的右鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一右鱼眼图像。
具体地,处理器2201对所述待处理的左鱼眼图像和/或所述待处理的右鱼眼图像进行旋转。
具体地,处理器2201在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二左鱼眼图像;在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二右鱼眼图像。
具体地,处理器2201将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一左鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点;将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一右鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
具体地,处理器2201将所述第二左鱼眼图像和所述第二右鱼眼图像分别分割为左半图和右半图;其中所述第二左鱼眼图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;所述第二右鱼眼图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第二重叠区域的一部分和第一重叠区域的一部分;对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像左半图和右半图,分别和所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像的右半图和左半图组成待匹配图像;在每个待匹配图像中确定待匹配区域;基于特征点匹配的方法,对所述待匹配区域进行拼接。
具体地,处理器2201所述在每个待匹配图像中确定待匹配区域,包括:对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
具体地,处理器2201在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述;对于组成所述待匹配区域的左半图和右半图中的目标半图,确定所述目标半图中的特征点和所述组成所述待匹配区域的左半图和右半图中的另一半图的特征点之间的匹配特征点对;计算所述匹配特征点对之间的变换矩阵;根据所述变换矩阵对所述目标半图进行变换;将变换后的目标半图与所述另一半图对应的畸变校正后的鱼眼图像进行拼接;当所述目标半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像;当所述目标半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二鱼眼图像。
具体地,处理器2201对所述目标半图中的每个图像块进行三角剖分,得到三角面片;根据获得的三角面片,确定能量约束函数;获取预设的约束条件;根据所述能量约束函数、所述约束条件和所述变换矩阵,对所述进行了三角剖分的目标半图进行变换。
具体地,处理器2201为确定的特征点添加颜色信息。
具体地,处理器2201对所述全景图像进行融合。
图23图示了根据本发明实施例的方法一种可能的应用场景。应用系统2300包括摄像头2301,计算机2302,显示装置2303。摄像头2301可以拍摄并输出至少两幅鱼眼图像。计算机2302对由摄像头2301获取的图像进行处理并进行全景拼接。显示装置2303既可以是VR眼镜,也可以是显示屏幕,或者其他显示装置,用于观看由计算机2302产生的全景图像。应该说明的是应用系统2300仅是本专利的一个应用示例,本专利并不限于此,系统的组成部分依需求变化会增加或减少。
另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行以下步骤:
利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像。
其中,所述根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像,包括:
将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像;
在所述待处理的左鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一左鱼眼图像;
在所述待处理的右鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一右鱼眼图像。
其中,所述将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像后,还包括:
对所述待处理的左鱼眼图像和/或所述待处理的右鱼眼图像进行旋转。
其中,所述分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像,包括:
在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二左鱼眼图像;
在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二右鱼眼图像。
其中,所述在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,包括:
将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一左鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点;
所述在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,包括:
将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一右鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
其中,所述基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,包括:
对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;
将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像;
在每个待匹配图像中确定待匹配区域;
基于特征点匹配的方法,对所述待匹配区域进行拼接。
其中,所述在每个待匹配图像中确定待匹配区域,包括:对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
其中,所述基于特征点匹配的方法,对所述待匹配区域进行拼接,包括:
在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述;
对于组成所述待匹配区域的左半图和右半图中的目标半图,确定所述目标半图中的特征点和所述组成所述待匹配区域的左半图和右半图中的另一半图的特征点之间的匹配特征点对;
计算所述匹配特征点对之间的变换矩阵;
根据所述变换矩阵对所述目标半图进行变换;
将变换后的目标半图与所述另一半图对应的畸变校正后的鱼眼图像进行拼接;
当所述目标半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像;当所述目标半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二鱼眼图像。
其中,所述根据所述变换矩阵对所述目标半图进行变换,包括:
对所述目标半图中的每个图像块进行三角剖分,得到三角面片;
根据获得的三角面片,确定能量约束函数;
获取预设的约束条件;
根据所述能量约束函数、所述约束条件和所述变换矩阵,对所述进行了三角剖分的目标半图进行变换。
其中,在所述在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述后,还包括:
为确定的特征点添加颜色信息。
其中,所述处理器还执行以下步骤:对所述全景图像进行融合。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种全景图像拼接方法,其特征在于,包括:
利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像,
其中,所述基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,包括:
对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;
将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像;
在每个待匹配图像中确定待匹配区域;
基于特征点匹配的方法,对所述待匹配区域进行拼接,
其中,所述在每个待匹配图像中确定待匹配区域,包括:对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
2.根据权利要求1所述的方法,其特征在于,所述根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像,包括:
将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像;
在所述待处理的左鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一左鱼眼图像;
在所述待处理的右鱼眼图像中确定有效图像区域,并将所述有效图像区域作为所述第一右鱼眼图像。
3.根据权利要求2所述的方法,其特征在于,所述将所述原始输入图像切分为待处理的左鱼眼图像和待处理的右鱼眼图像后,还包括:
对所述待处理的左鱼眼图像和/或所述待处理的右鱼眼图像进行旋转。
4.根据权利要求2所述的方法,其特征在于,所述分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像,包括:
在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二左鱼眼图像;
在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,并将所述对应像素点的RGB值作为所述目标像素点的RGB值,利用赋予了RGB值后的目标像素点构成所述第二右鱼眼图像。
5.根据权利要求4所述的方法,其特征在于,所述在所述第一左鱼眼图像中,确定所述第一左鱼眼图像对应的目标图像中的目标像素点的对应像素点,包括:
将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一左鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点;
所述在所述第一右鱼眼图像中,确定所述第一右鱼眼图像对应的目标图像中的目标像素点的对应像素点,包括:
将所述目标像素点的坐标转换为半球坐标;计算所述半球坐标对应的3D球面坐标;将所述3D球面坐标转换为鱼眼镜头极坐标;在所述第一右鱼眼图像中,确定所述鱼眼镜头极坐标对应的目标坐标,将具有所述目标坐标的像素点作为所述对应像素点。
6.根据权利要求1所述的方法,其特征在于,所述基于特征点匹配的方法,对所述待匹配区域进行拼接,包括:
在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述;
对于组成所述待匹配区域的左半图和右半图中的目标半图,确定所述目标半图中的特征点和所述组成所述待匹配区域的左半图和右半图中的另一半图的特征点之间的匹配特征点对;
计算所述匹配特征点对之间的变换矩阵;
根据所述变换矩阵对所述目标半图进行变换;
将变换后的目标半图与所述另一半图对应的畸变校正后的鱼眼图像进行拼接;
当所述目标半图对应的畸变校正后的鱼眼图像为第二左鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像;当所述目标半图对应的畸变校正后的鱼眼图像为第二右鱼眼图像时,所述另一半图对应的畸变校正后的鱼眼图像为第二鱼眼图像。
7.根据权利要求6所述的方法,其特征在于,所述根据所述变换矩阵对所述目标半图进行变换,包括:
对所述目标半图中的每个图像块进行三角剖分,得到三角面片;
根据获得的三角面片,确定能量约束函数;
获取预设的约束条件;
根据所述能量约束函数、所述约束条件和所述变换矩阵,对所述进行了三角剖分的目标半图进行变换。
8.根据权利要求6所述的方法,其特征在于,在所述在组成所述待匹配区域的左半图和右半图中分别确定特征点,并对确定的特征点进行描述后,还包括:
为确定的特征点添加颜色信息。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:对所述全景图像进行融合。
10.一种全景图像拼接装置,其特征在于,包括:
图像获取模块,用于利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
图像校正模块,用于分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
图像拼接模块,用于基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像,
其中,所述图像拼接模块包括:
图像分割子模块,用于对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;
图像组合子模块,用于将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像;
待匹配区域确定子模块,用于在每个待匹配图像中确定待匹配区域;
图像拼接子模块,用于基于特征点匹配的方法,对所述待匹配区域进行拼接,
其中,所述待匹配区域确定子模块用于,对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
11.一种电子设备,其特征在于,包括:处理器;和存储器,在所述存储器中存储有计算机程序指令,
其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:
利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像,
其中,所述基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,包括:
对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;
将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像;
在每个待匹配图像中确定待匹配区域;
基于特征点匹配的方法,对所述待匹配区域进行拼接,
其中,所述在每个待匹配图像中确定待匹配区域,包括:对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行以下步骤:
利用全景摄像装置获得原始输入图像,并根据所述原始输入图像获得第一左鱼眼图像和第一右鱼眼图像;
分别对所述第一左鱼眼图像和第一右鱼眼图像进行畸变校正,获得第二左鱼眼图像和第二右鱼眼图像;
基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,获得全景图像,
其中,所述基于特征点匹配的方法以及所述第二左鱼眼图像和所述第二右鱼眼图像的重叠区域,将所述第二左鱼眼图像和所述第二右鱼眼图像进行拼接,包括:
对于所述第二左鱼眼图像和所述第二右鱼眼图像中的待处理图像,将所述待处理图像分割为左半图和右半图;其中所述待处理图像的左半图和右半图分别包括所述第二左鱼眼图像和所述第二右鱼眼图像的第一重叠区域的一部分和第二重叠区域的一部分;
将所述待处理图像的左半图与所述第二左鱼眼图像和所述第二右鱼眼图像中的另一幅图像组成第一待匹配图像,将所述待处理图像的右半图和所述第一待匹配图像组成第二待匹配图像;
在每个待匹配图像中确定待匹配区域;
基于特征点匹配的方法,对所述待匹配区域进行拼接,
其中,所述在每个待匹配图像中确定待匹配区域,包括:对于每个待匹配图像,将所述待匹配区域确定为一区域,该区域在垂直方向上去除所述待匹配图像中的上部预设区域和下部预设区域内的图像、在水平方向上包括所述第二左鱼眼图像和所述第二右鱼眼图像的部分重叠区域。
CN201710428932.XA 2017-06-08 2017-06-08 全景图像拼接方法、装置、电子设备及存储介质 Active CN109035134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710428932.XA CN109035134B (zh) 2017-06-08 2017-06-08 全景图像拼接方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710428932.XA CN109035134B (zh) 2017-06-08 2017-06-08 全景图像拼接方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109035134A CN109035134A (zh) 2018-12-18
CN109035134B true CN109035134B (zh) 2021-09-28

Family

ID=64629179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710428932.XA Active CN109035134B (zh) 2017-06-08 2017-06-08 全景图像拼接方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109035134B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110738599B (zh) * 2019-10-14 2023-04-25 北京百度网讯科技有限公司 图像拼接方法、装置、电子设备及存储介质
CN111179184B (zh) * 2019-11-29 2021-05-04 广东工业大学 基于随机抽样一致性的鱼眼图像有效区域提取方法
CN111145091A (zh) * 2019-12-13 2020-05-12 北京大豪科技股份有限公司 图像拼接方法、装置、电子设备及存储介质
CN111339887B (zh) * 2020-02-20 2023-07-21 达闼机器人股份有限公司 商品识别方法及智能货柜系统
CN111915520B (zh) * 2020-07-30 2023-11-10 黑芝麻智能科技(上海)有限公司 用于改善拼接图像的亮度的方法、装置和计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150051389A (ko) * 2013-11-04 2015-05-13 현대모비스 주식회사 영상 처리 방법 및 이를 위한 장치
CN104835118A (zh) * 2015-06-04 2015-08-12 浙江得图网络有限公司 通过两路鱼眼摄像头采集全景图像的方法
CN106339981A (zh) * 2016-08-25 2017-01-18 安徽协创物联网技术有限公司 一种全景拼接方法
CN106651767A (zh) * 2016-12-30 2017-05-10 北京星辰美豆文化传播有限公司 一种获取全景图像的方法及装置
CN106683045A (zh) * 2016-09-28 2017-05-17 深圳市优象计算技术有限公司 一种基于双目像机的全景图像拼接方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016062486A (ja) * 2014-09-19 2016-04-25 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150051389A (ko) * 2013-11-04 2015-05-13 현대모비스 주식회사 영상 처리 방법 및 이를 위한 장치
CN104835118A (zh) * 2015-06-04 2015-08-12 浙江得图网络有限公司 通过两路鱼眼摄像头采集全景图像的方法
CN106339981A (zh) * 2016-08-25 2017-01-18 安徽协创物联网技术有限公司 一种全景拼接方法
CN106683045A (zh) * 2016-09-28 2017-05-17 深圳市优象计算技术有限公司 一种基于双目像机的全景图像拼接方法
CN106651767A (zh) * 2016-12-30 2017-05-10 北京星辰美豆文化传播有限公司 一种获取全景图像的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Generation of Panoramic View from 360 ° Fisheye Images Based on Angular》;Xiao Shouzhang,Wang Fengwen;《2011 10th International Symposium on Distributed Computing and Applications to Business, Engineering and Science》;20111017;377-385 *
基于双经度模型的鱼眼图像畸变矫正方法;魏利胜,周圣文,张平改,孙驷洲;《仪器仪表学报》;20150228;187-191 *

Also Published As

Publication number Publication date
CN109035134A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109035134B (zh) 全景图像拼接方法、装置、电子设备及存储介质
US20200288059A1 (en) Image processor, image processing method and program, and imaging system
CN107945112B (zh) 一种全景图像拼接方法及装置
US11012620B2 (en) Panoramic image generation method and device
CN108537721B (zh) 全景图像的处理方法、装置及电子设备
WO2018214365A1 (zh) 图像校正方法、装置、设备、系统及摄像设备和显示设备
US11055826B2 (en) Method and apparatus for image processing
US10726580B2 (en) Method and device for calibration
WO2017091927A1 (zh) 图像处理方法和双摄像头系统
CN111915483B (zh) 图像拼接方法、装置、计算机设备和存储介质
US10565803B2 (en) Methods and apparatuses for determining positions of multi-directional image capture apparatuses
CN109785390B (zh) 一种用于图像矫正的方法和装置
CN105516597A (zh) 一种全景拍摄处理方法及装置
CN111866523B (zh) 全景视频合成方法、装置、电子设备和计算机存储介质
CN112396558A (zh) 图像处理方法、装置及计算机可读存储介质
CN111598777A (zh) 天空云图的处理方法、计算机设备和可读存储介质
CN111292413A (zh) 图像模型的处理方法及装置、存储介质、电子装置
CN114549666B (zh) 一种基于agv的环视图像拼接标定方法
CN113344789B (zh) 图像拼接方法及装置、电子设备、计算机可读存储介质
CN111353945A (zh) 鱼眼图像校正方法、装置及存储介质
CN114119405A (zh) 图像处理方法及装置、计算机可读存储介质和电子设备
CN114004839A (zh) 全景图像的图像分割方法、装置、计算机设备和存储介质
GB2557212A (en) Methods and apparatuses for determining positions of multi-directional image capture apparatuses
CN114143528B (zh) 多视频流融合方法、电子设备、存储介质
CN111480335B (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
GR01 Patent grant
GR01 Patent grant