一种鱼眼图像校正和漫游显示的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及图像处理领域,特别是涉及一种鱼眼图像校正和漫游显示的方法及装 置。
【背景技术】
[0002] 鱼眼镜头是一种极端的广角镜头,它的视角力求达到或超出人眼所能看到的范 围,视角一般可达到220度或230度。可用于制作基于现实场景的全景图象,广泛用于娱乐、 房地产、博物馆、学校等机构的宣传及展示项目。
[0003] 鱼眼图像即为鱼眼镜头拍摄的图像,通常具有严重的形变,如果要利用鱼眼图像, 需要鱼眼图像进行图像校正,其消除其中的形变。
[0004] 现有技术中,对鱼眼图像进行校正时,无论鱼眼图像是通过什么拍摄角度拍摄的, 都采用统一的校正方式,并没有考虑不同拍摄角度对校正过程的影响,因此校正后得到图 像并不能有效的消除形变,影响校正后图像的准确性。
【发明内容】
[0005] 本发明实施例的目的在于提供一种鱼眼图像校正和漫游显示的方法及装置,可以 在校正过程中有效的消除鱼眼图像中的形变,提高校正后图像的准确性。
[0006] 为了达到上述目的,本发明实施例公开了一种鱼眼图像的校正方法,包括步骤:
[0007] 确定待校正的鱼眼图像的拍摄角度;
[0008] 根据确定的所述拍摄角度,确定校正后的球面展开图像的高度和宽度;
[0009] 根据确定的校正后的球面展开图像的高度、宽度及所述拍摄角度,确定所述球面 展开图像中每个像素点的坐标与所述鱼眼图像中每个像素点坐标之间的关系;
[0010] 根据所述关系及鱼眼图像中相应像素点的像素值,确定球面展开图像中每个像素 点的像素值。
[0011] 可选的,所述确定校正后的球面展开图像的高度和宽度包括:
[0012] 根据所述拍摄角度,确定该拍摄角度对应的角度拍摄方式;
[0013] 根据设置的每种角度拍摄方式对应的球面展开图像的高度区间和宽度区间,确定 校正后的球面展开图像的高度和宽度。
[0014] 可选的,所述每种角度拍摄方式对应的球面展开图像的高度区间和宽度区间包 括:
[0015] 当角度拍摄方式为平视拍摄方式时,对应的球面展开图像的高度区间和宽度区间 均为[rs,3rs],其中,^为鱼眼图像中心到达边缘圆的半径中像素点数量;
[0016] 当角度拍摄方式为俯视拍摄方式或仰视拍摄方式时,对应的球面展开图像的高度 区间为[0.5rs,1.5r s ],宽度区间为[3rs,5rs ],其中,rs为鱼眼图像中心到达边缘圆的半径中 像素点数量。
[0017] 可选的,所述根据确定的校正后的球面展开图像的高度、宽度及所述拍摄角度,确 定所述球面展开图像中每个像素点坐标与所述鱼眼图像中每个像素点坐标之间的关系,包 括:
[0018] 根据校正后的球面展开图像的高度、宽度及所述拍摄角度,确定球面展开图像中 每个像素点对应在三维球面坐标系中的坐标;并
[0019] 根据球面展开图像中每个像素点对应在三维球面坐标系中的坐标,确定所述每个 像素点在三维球面坐标系中的坐标对应在鱼眼图像中的坐标。
[0020] 可选的,所述根据校正后的球面展开图像的高度、宽度及所述拍摄角度,确定球面 展开图像中每个像素点对应在三维球面坐标系中的坐标,包括:
[0021]
,确定球面展开图像中每个像素点对应在三维球 面坐标系中的坐标,其中,(Xd,yd)为球面展开图像中像素点的坐标,Wd和hd分别为球面展开 图像的宽度和高度,rangex,rangey分别是不同角度拍摄方式下Θ和供的最大值,x Qffset, yofkt是不同角度拍摄方式下鱼眼图像在完整球面展开图像中的偏移量。
[0022] 可选的,所述根据球面展开图像中每个像素点对应在三维球面坐标系中的坐标, 确定所述每个像素点在三维球面坐标系中的坐标对应在鱼眼图像中的坐标,包括:
[0023] 将所述三维球面坐标系中每个像素点的坐标,转换到笛卡尔坐标系中;
[0024] 根据所述每个像素点在所述笛卡尔坐标系中的坐标、等距离投影模型及确定的拍 摄角度,确定所述每个像素点在笛卡尔坐标系中的坐标投影到二维平面坐标系下的坐标;
[0025] 对投影到二维平面坐标系下的坐标进行去归一化处理,确定去归一化后二维平面 坐标系下的对应坐标与鱼眼图像中对应坐标的关系。
[0026] 可选的,所述根据所述每个像素点在所述笛卡尔坐标系中的坐标、等距离投影模 型及确定的拍摄角度,确定所述每个像素点在笛卡尔坐标系中的坐标投影到二维平面坐标 系下的坐标包括:
[0027] 当所述拍摄角度对应的角度拍摄方式为平视拍摄方式时,
[0028]
,确定所述每个像素点在所述 笛卡尔坐标系中的坐标投影到二维平面坐标系下的坐标,其中,(x,y,z)是每个像素点在所 述笛卡尔坐标系中的坐标,(x/,y/ )是笛卡尔坐标系中的坐标投影到二维平面坐标系下的
[0029]当所述拍摄角度对应的角度拍摄方式为仰视拍摄方式或俯视拍摄方式时,
[0030]
,确定所述每个像素点在所述 笛卡尔坐标系中的坐标投影到二维平面坐标系下的坐标,其中,(x,y,z)是每个像素点在所 述笛卡尔坐标系中的坐标,(x/,y/ )是笛卡尔坐标系中的坐标投影到二维平面坐标系下的
[0031] 可选的,所述对投影到二维平面坐标系下的坐标进行去归一化处理,确定去归一 化后二维平面坐标系下的对应坐标与鱼眼图像中对应坐标的关系包括:
[0032]
,确定去归一化后二维平面坐标系下的对应坐标与鱼眼图像 中对应坐标的关系,其中,(Xs,ys)为鱼眼图像中每个像素点的坐标,ws和hs分为鱼眼图像的 像素列数和行数,^是鱼眼图像中心到达边缘圆的半径中像素点数量,(x/,y/ )是笛卡尔 坐标系中的坐标投影到二维平面坐标系下的坐标。
[0033] 可选的,所述确定球面展开图像中每个像素点的像素值包括:
[0034]根据
[0035] Id(xd,yd) = (l-u)*(l-v)*Is(i,j) + (l_u)*v*Is(i,j+1 )+u*(l_v)*Is(i+l,j)+u*v* Is(i+l,j+l),确定球面展开图像中每个像素点的像素值,其中,(i,j)为鱼眼图像中坐标为 (m,n)的像素点的横纵坐标的整数部分,(u,v)为鱼眼图像中坐标为(m,n)的像素点的横纵 坐标的小数部分,Is (xs,ys)为鱼眼图像中坐标为(m,η)的像素点的像素值,Id (xd,yd)为与鱼 眼图像中像素点对应的球面展开图上像素点的像素值。
[0036]本发明实施例还公开了一种鱼眼图像校正方法的漫游显示方法,包括步骤:
[0037]确定待显示的漫游图像的视角、漫游姿态;
[0038] 根据所述视角、漫游姿态,确定待显示的漫游图像中每个像素点在笛卡尔坐标系 中的坐标;
[0039] 根据所述每个像素点在笛卡尔坐标系中的坐标,确定待显示的漫游图像中每个像 素点对应在球面展开图像中的坐标;
[0040] 根据确定的球面展开图像中每个像素点对应的像素值及漫游图像中每个像素点 的坐标,确定漫游图像中每个像素点的像素值。
[0041] 可选的,所述确定待显示的漫游图像的视角、漫游姿态包括:
[0042]根据终端设备的外接设备或传感器,确定漫游显示图像的视角和漫游姿态。
[0043]可选的,根据所述视角、漫游姿态,确定待显示的漫游图像中每个像素点在笛卡尔 坐标系中的坐标,包括:
[0044]
,确定待显示的漫游图像中每个像素点在 笛卡尔坐标系中的坐标,其中,(Xm,ym)是待显示的漫游图像中每个像素点的坐标,( X,y,Z) 是待显示的漫游图像中每个像素点对应在笛卡尔坐标系中的坐标,(x/,y/ )是中间量坐 标,wjPhm分别为待显示的漫游图像的宽度和高度,R是根据漫游姿态确定的旋转矩阵,f〇V 为漫游视角。
[0045] 可选的,所述根据所述每个像素点在笛卡尔坐标系中的坐标,确定待显示的漫游 图像中每个像素点对应的在球面展开图像中的坐标,包括:
[0046]
将所述每个像素点在笛卡尔坐标系中的坐 标转换到三维球面坐标系中,(x,y,z)是待显示的漫游图像中每个像素点在笛卡尔坐标系 中的坐标;
[0047]
确定待显示的漫游图像中每个像素点对应 在球面展开图像中的坐标,其中,(r,0,灼是待显示的漫游图像中每个像素点在三维球面坐 标系中的坐标,其中^,(^,7<〇为每个像素点对应在球面展开图像中的坐标,《(1和11(1分别 为球面展开图像的宽度和高度,rang ex,rangey分别为球面展开图像对应的鱼眼图像的角度 拍摄方式下的Θ和炉的最大值,Xoffset,yc>ffset是球面展开图像对应的鱼眼图像的角度拍摄方 式下,鱼眼图像在完整球面展开图像中的偏移量。
[0048] 为了达到上述目的,本发明实施例还公开了一种鱼眼图像的校正装置,包括:
[0049] 拍摄角度确定模块,用于确定待校正的鱼眼图像的拍摄角度;
[0050] 图像尺寸确定模块,用于根据所述待校正的鱼眼图像的拍摄角度,确定校正后的 球面展开图像的高度和宽度;
[0051] 坐标关系确定模块,用于根据确定的校正后的球面展开图像的高度、宽度及所述 拍摄角度,确定所述球面展开图像中每个像素点的坐标与所述鱼眼图像中每个像素点坐标 之间的关系;
[0052] 像素值确定模块,用于根据所述关系及鱼眼图像中相应像素点的像素值,确定球 面展开图像中每个像素点的像素值。
[0053] 可选的,所述图像尺寸确定模块具体用于:
[0054]根据所述拍摄角度,确定该拍摄角度对应的角度拍摄方式;
[0055] 根据设置的每种角度拍摄方式对应的球面展开图像的高度区间和宽度区间,确定 校正后的球面展开图像的高度和宽度。
[0056] 可选的,所述图像尺寸确定模块具体用于:
[0057] 当角度拍摄方式为平视拍摄方式时,对应的球面展开图像的高度区间和宽度区间 均为[rs,3rs],其中,^为鱼眼图像中心到达边缘圆的半径中像素点数量;
[0058] 当角度拍摄方式为俯视拍摄方式或仰视拍摄方式时,对应的球面展开图像的高度 区间为[0.5rs,1.5r s ],宽度区间为[3rs,5rs ],其中,rs为鱼眼图像中心到达边缘圆的半径中 像素点数量。
[0059] 可选的,所述坐标关系确定模块包括:
[0060] 三维球面坐标确定子模块,用于根据校正后的球面展开图像的高度、宽度及所述