[发明专利]一种在三维场景中任意位置生成全景图的方法有效
申请号: | 201710313000.0 | 申请日: | 2017-05-05 |
公开(公告)号: | CN107133918B | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 陈健 | 申请(专利权)人: | 陈健;厦门汇鑫元软件有限公司 |
主分类号: | G06T3/40 | 分类号: | G06T3/40;G06T17/00 |
代理公司: | 厦门创象知识产权代理有限公司 35232 | 代理人: | 尤怀成 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 三维 场景 任意 位置 生成 全景 方法 | ||
1.一种在三维场景中任意位置生成全景图的方法,其特征在于,包括以下步骤:
S1、在三维场景中创建虚拟相机,并以虚拟相机所在点O为中心点建立右手坐标系O-XYZ,将虚拟相机水平与垂直方向的视场角度设置为90°,方向朝向-Z轴,并保持俯仰角和翻滚角为0°;
S2、设定渲染图片的形状为正方形,其边长为w,将虚拟相机分别朝向-Z、-X、+Z、+X、+Y以及-Y方向各渲染一张图片,以获得当前位置的六视图;
S3、以虚拟相机所在点O为中心,分别建立球体与立方体,设定球体半径为1,立方体边长为2,立方体的各边平行于X、Y、Z轴;
S4、计算球面任意点P的坐标,根据球面任意点P的坐标计算连线OP与立方体相交点Pc的坐标;
S5、设定所需全景图的宽度与高度,将全景图上的像素点一一映射到球面坐标系中,获得全景图像素点在球面坐标系的映射坐标;
S6、在W*H个像素点的全景图中,对每个像素点p按宽度、高度方向分别循环,根据全景图到球面坐标系中的映射坐标以及Pc点的坐标确定对应的采样图及采样坐标;根据采样坐标所对应的点在采样图中的颜色确定全景图中像素点p的颜色,获得所需全景图,其中,W表示全景图的宽度,H表示全景图的高度;
其中,各采样图及其采样坐标的确定方式如下,
当且时,球体上的全景图在后视图中采样,采样坐标为:
当且时,球体上的全景图在左视图中采样,采样坐标为:
当且时,球体上的全景图在前视图中采样,采样坐标为:
当且时,球体上的全景图在右视图中采样,采样坐标为:
当且时,球体上的全景图在顶视图中采样,采样坐标为:
当且时,球体上的全景图在底视图中采样,采样坐标为:
其中,xpc、ypc和zpc分别表示点Pc在X轴、Y轴和Z轴的坐标值,θ表示连线OP与YOZ平面的夹角,表示连线OP与XOZ平面的夹角。
2.根据权利要求1所述的一种在三维场景中任意位置生成全景图的方法,其特征在于:步骤S4中,令连线OP与YOZ平面的夹角为θ,围绕Y轴顺时针方向旋转为正向;令连线OP与XOZ平面夹角为P在y轴正半轴方向夹角为正。
3.根据权利要求2所述的一种在三维场景中任意位置生成全景图的方法,其特征在于:步骤S4中,球面任意点P(xp,yp,zp)在平面XOZ中的投影为B,连线OB交球面于点A,设M、N为OZ轴上的点,连线AM及BN平行于X轴,则由AM=AO*sinθ及AO=1可得由OM=AO*cosθ及可得则球面任意点P的坐标为
OPc与OP共线,则有则相交点Pc(xpc,ypc,zpc)的坐标为
球面任意点P的坐标及相交点Pc的坐标根据其在坐标系O-XYZ中的位置取正负值。
4.根据权利要求3所述的一种在三维场景中任意位置生成全景图的方法,其特征在于:步骤S5中,设定所需全景图的宽度为W,高度为H,则全景图上任意一点p(x,y)在球面坐标系的坐标值为
5.根据权利要求1所述的一种在三维场景中任意位置生成全景图的方法,其特征在于:步骤S6中,采样坐标所对应的点正好位于采样图的像素点q上时,像素点p取该像素点q的颜色,否则,取采样坐标对应点的邻域插值颜色或最邻近点颜色。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陈健;厦门汇鑫元软件有限公司,未经陈健;厦门汇鑫元软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710313000.0/1.html,转载请声明来源钻瓜专利网。