发明内容
本发明针对现有的球形显示技术中投影机将接收的平面矩形图像直接经鱼眼镜头投影到球幕上造成明显变形的问题,提供一种投影机球形显示及旋转输出图像的处理方法,将计算机中待投影的图像画面在输出给投影机前进行变形处理,使得投影机输出的图像是圆形的,能够解决图像变形的问题,并能够在球幕上绕任意轴旋转,提高在球幕上投影的球形显示效果。
本发明的技术方案如下:
一种投影机球形显示和旋转输出图像的处理方法,其特征在于,将待投影的平面矩形图像作为源图像同时将投影机球形显示输出的图像作为目标图像,以笛卡尔坐标为基础建立源图像坐标系和目标图像坐标系,并以目标图像坐标系为基础增加与目标图像坐标系垂直的第三个坐标轴以建立目标图像的球形坐标系;根据鱼眼镜头的光路特性,先将目标图像的像素坐标转为球形坐标系下的三维坐标,再对所述三维坐标进行旋转变换,并将旋转变换后的三维坐标转换为极坐标系下的坐标,然后根据极坐标系下的坐标得到源图像的像素坐标,所述三维坐标转换的极坐标系下的坐标的角度和半径分别对应源图像坐标系的坐标轴方向的坐标;通过得到的源图像的像素坐标处的像素点颜色进行目标图像相对应的像素坐标处的像素点颜色输出,以将待投影的平面矩形图像进行变形处理输出旋转后的圆形图像。
所述将目标图像的像素坐标转为球形坐标系下的三维坐标的步骤是:先将目标图像的像素坐标转为极坐标系下的坐标,再由极坐标系下的坐标转换为球形坐标系下的三维坐标。
对所述三维坐标进行旋转变换是通过目标图像在球形坐标系下的三维坐标与球形坐标系下绕任意轴旋转的旋转矩阵的乘积关系得到目标图像旋转前在球形坐标系下的三维坐标。
所述旋转变换后的三维坐标转换为极坐标系下的坐标后,根据目标图像旋转前在球形坐标系下的三维坐标情况对所述三维坐标转换的极坐标系下的坐标的角度进行预处理。
在所述旋转变换后的三维坐标转换为极坐标系下的坐标后再转换为二维平面坐标,以确定旋转前的目标图像的像素点在目标图像坐标系下的位置。
所述源图像的像素坐标在源图像坐标系的两坐标轴的坐标范围均是[0,1],所述得到的源图像的像素坐标为归一化坐标,分别根据源图像的像素的宽和高得到源图像的实际像素坐标。
所述源图像坐标系的坐标原点位于源图像的左上角。
所述目标图像的像素坐标在目标图像坐标系的两坐标轴的坐标范围均是[-1,1],所述目标图像的坐标原点位于目标图像的中心。
所述目标图像的像素坐标转为极坐标系下的坐标的角度
为中间值,所述中间值的范围为[0,π],所述中间值
经过处理后得到极坐标系下的运算角度(θ),所述运算角度的范围为[0,2π),根据目标图像像素点所在的不同的象限由
得到θ的值:
再由极坐标系下的坐标转换为球形坐标系下的三维坐标。
本发明的技术效果如下:
本发明涉及的投影机球形显示和旋转输出图像的处理方法,能够将计算机中待投影的普通的平面矩形图像(源图像)在输出给投影机前进行变形处理以使得投影机输出圆形图像(目标图像),并能够实现投影机球形显示的旋转。该方法具体是通过分别建立源图像坐标系、目标图像坐标系以及球形坐标系,根据鱼眼镜头的光路特性进行系列的变换:先将目标图像的像素坐标转为球形坐标系下的三维坐标,再对三维坐标进行旋转变换,并将旋转变换后的三维坐标转换为极坐标系下的坐标,三维坐标转换的极坐标系下的坐标的角度和半径分别对应源图像坐标系的坐标轴方向的坐标,所以能够再根据极坐标系下的坐标得到源图像的像素坐标,即建立了源图像和旋转前的目标图像的像素坐标对应关系,再通过得到的源图像的像素坐标处的像素点颜色作为目标图像相对应的像素坐标处的像素点颜色输出,使得投影机输出的图像是圆形的,避免了将平面矩形图像直接经鱼眼镜头投影到球幕上造成明显图像变形的问题,将处理得到的投影机球形显示输出的圆形图像经过鱼眼镜头投影到球幕上,减少图像变形,通过极坐标变换技术和三维旋转变换技术,实现投影机球形显示和旋转输出图像的处理,并能够在球幕上绕任意轴旋转,提高了投影机输出的图像在球幕上投影的球形显示效果。
具体实施方式
下面结合附图对本发明进行说明。
本发明涉及一种投影机球形显示和旋转输出图像的处理方法,其流程图如图2所示。将计算机中待投影的平面矩形图像作为源图像同时将投影机球形显示输出的图像作为目标图像,以笛卡尔坐标为基础建立源图像坐标系和目标图像坐标系,并以目标图像坐标系为基础增加与目标图像坐标系垂直的第三个坐标轴以建立目标图像的球形坐标系;根据鱼眼镜头的光路特性,先将目标图像的像素坐标转为球形坐标系下的三维坐标,再对所述三维坐标进行旋转变换,并将旋转变换后的三维坐标转换为极坐标系下的坐标,然后根据极坐标系下的坐标得到源图像的像素坐标,设置三维坐标转换的极坐标系下的坐标的角度和半径分别对应源图像坐标系的水平和垂直坐标轴方向的坐标;通过上述的极坐标变换和三维旋转变换能够建立源图像和旋转前的目标图像的像素坐标对应关系,只要将得到的源图像的像素坐标处的像素点颜色对应到目标图像的像素坐标处的像素点颜色输出,就可以将待投影的平面矩形图像进行变形处理输出旋转后的圆形图像,完成投影机球形显示和旋转输出圆形图像的处理。
本发明所述的投影机球形显示和旋转输出图像的处理方法能够将待投影的原始图像(可以是视频或图片)的平面矩形图像的画面在输出前进行变形处理,使得输入到投影机的图像是圆形的,即投影机输出的图像也是圆形的,并能够在经由鱼眼镜头投影下的球幕上绕任意轴旋转,也就是绕所建立的球形坐标系的任意轴旋转。绕任意轴旋转是指绕球表面上任意一个点与球心的轴线进行旋转,由于绕任意轴旋转是三维,而球形变化的原始的矩形图片(即源图像)和输出的圆形图片(即目标图像)都是二维的,本发明球形显示和旋转输出的处理方法采取将二维输出画面坐标变换为球形坐标系上的坐标,然后再对球形坐标进行三维旋转变换,最后再将变换后的三维坐标转换为源图像的二维坐标,从而最终实现输出的目标图像在球幕显示中的任意轴旋转。由球形显示和旋转的鱼眼镜头的光路分析可得到球形显示图像变形以及球形显示的旋转分别利用极坐标变换技术和三维旋转变换技术。本发明处理方法的具体步骤如下:
步骤A、先将待投影的平面矩形图像作为源图像,同时将投影机球形显示输出的圆形图像作为目标图像,以笛卡尔坐标为基础分别建立如图3所示的源图像坐标系和如图4所示的目标图像坐标系。图3中的计算机中待投影的原始的平面矩形图像转换为投影机显示输出的如图4所示的圆形的目标图像。还需要建立球形坐标系,即以目标图像坐标系为基础增加与目标图像坐标系垂直的第三个坐标轴Z轴以建立目标图像的球形坐标系,如图5所示,为投影机球形显示输出的圆形图像绕任意轴心旋转所建立的球形坐标系,以球的正下方和正上方的连线为Z轴(可理解为是南极和北极的连线),赤道面为目标坐标系的XY平面。
为使得坐标归一化,在定义坐标范围时,源图像的像素坐标在源图像坐标系的两坐标轴的坐标范围均是[0,1],即图3所示的源坐标系中的源图像坐标x范围为[0,1],y范围为[0,1],其中y坐标是从上到下,源图像的坐标原点位于源图像的左上角。目标图像的像素坐标在目标图像坐标系的两坐标轴的坐标范围均是[-1,1],即图4所示的目标坐标系中的目标图像坐标x范围为[-1,1],y方向的坐标范围也为[-1,1],目标图像的坐标原点位于目标图像的中心。同时在图5所示的球形坐标系中归一化后的球的半径为单位1。
步骤B、根据鱼眼镜头的光路特性,将目标图像的像素坐标转为球形坐标系下的三维坐标。假设目标图像的像素点在目标图像坐标系下的坐标为Pt2d(dstX,dstY),可以先将目标图像的像素坐标转为极坐标系下的坐标,再由极坐标系下的坐标转换为球形坐标系下的三维坐标。具体分为:
B1、将Pt
2d(dstX,dstY)由笛卡尔坐标系转为极坐标系下的坐标
其中R为极坐标系下的半径,
的范围是[0,π],因为所需的极坐标系下的角度的范围是[0,2π),故认为
为中间值,可将该中间值
经过处理后得到极坐标系下的运算角度θ,运算角度的范围为[0,2π),根据目标图像像素点所在的不同的象限由
得到θ的值:
B2、对于R>1的点在极坐标单位圆以外,在源图像中没有对应点,可直接跳过后续步骤,并将其填充为黑色或者不处理;对于R<=1情况,由极坐标转换为球形坐标系下的三维坐标Pt,Pt=(Ptx,Pty,Ptz):
Pt=(sin(R·π)·cos(θ),sin(R·π)·sin(θ),cos(R·π)) (3)
为后续计算处理方便,可将三维坐标Pt处理为以下形式的四维坐标向量:
Pt=(sin(R·π)·cos(θ),sin(R·π)·sin(θ),cos(R·π),1) (4)
步骤C、在目标图像绕任意轴心旋转时,对所述三维坐标进行旋转变换,即Pt绕任意轴旋转,假设绕轴(Ac,Ay,Az),旋转角度为φ,则三维空间绕任意轴A反向旋转角度φ的旋转矩阵为:
公式(5)中C和S所代表的公式如下:
通过目标图像在球形坐标系下的三维坐标Pt与球形坐标系下绕任意轴旋转的旋转矩阵M的乘积关系得到目标图像旋转前在球形坐标系下的三维坐标Pt′,其中Pt′=(Pt′x,Pt′y,Ptz′)。即通过旋转矩阵M得到Pt点旋转前的Pt′的位置:
Pt′=Pt·M (7)
步骤D、将旋转变换后的三维坐标Pt′转换为极坐标系下的坐标Pt′rθ(R',θ’),
在旋转变换后的三维坐标转换为极坐标系下的坐标后,还可以根据目标图像旋转前在球形坐标系下的三维坐标情况对所述三维坐标转换的极坐标系下的坐标的角度进行预处理,使θ′角度分布在[0,2π)范围内。即在旋转变换时处理以下一些特殊情况:
步骤E、在步骤D后可以再将Pt′rθ(R',θ’)转换为二维平面坐标,以确定旋转前的目标图像的像素点在目标图像坐标系下的位置Pt′2d:
Pt′2d=(R'·cos(θ′),R'·sin(θ′)) (10)
步骤F、根据极坐标系下的坐标Pt′rθ(R',θ’)得到对应的源图像的像素坐标(srcX,srcY),源图像的X方向对应三维坐标转换的极坐标的角度θ′、Y方向对应三维坐标转换的极坐标的半径R',计算公式为:
步骤G、公式(11)得到的源图像的像素坐标srcX,srcY是归一化的坐标,再分别根据源图像的像素的宽和高得到源图像的实际像素坐标:
其中,srcWidth和srcHeight分别为源图像的像素的宽和高,如源图像的像素是1024*768,则源图像的实际像素x坐标srcX’=srcX*1024,y坐标srcY’=srcY*768。
步骤H、将得到的源图像的像素坐标处的像素点颜色对应到目标图像相对应的像素坐标处的像素点颜色输出。由于得到了目标图像旋转前的像素点在源图像所对应的像素点位置,如该位置的像素点为红色,则其目标图像的像素点Pt2d(dstX,dstY)也输出红色,各像素点均一一对应输出,就可以将计算机中待投影的平面矩形图像进行变形处理输出旋转后的圆形图像,从而完成投影机球形显示和旋转输出圆形图像的处理。也可以根据源图像所对应的像素点及其周围点进行多倍采样作为目标像素点颜色值。
如计算机中待投影的是图1所示的平面矩形图像的画面时,通过本发明所述的投影机球形显示和旋转输出图像的处理方法,将图1所示的平面矩形图像的画面在输出前进行变形处理,使得投影机输出如图6所示的圆形图像,该圆形图像经过鱼眼镜头投影到球幕上,能够减少图像变形,并能够在球幕上绕任意轴旋转,提高了投影机输出的图像在球幕上投影的球形显示效果。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明创造,但不以任何方式限制本发明创造。因此,尽管本说明书参照附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换,总之,一切不脱离本发明创造的精神和范围的技术方案及其改进,其均应涵盖在本发明创造专利的保护范围当中。