基于全景照片和场景模型计算导出纹理贴图
基于全景照片和场景模型计算导出纹理贴图
首先,假设全景的位姿是已知,一般可以通过传感器测量或者相关标定方法计算得到;另外,还假设相机中心与模型坐标中心重合(只有这样才能将全景和模型映射到标准球上);这里重点介绍如何基于全景照片和场景模型(.obj)计算导出纹理贴图(.png)。主要用到一种球面映射的思想,具体实现如下:
一、实现思路
1、全景照片标准化,扩大填充为2:1大小的全景照片,如果已经是2:1的全景无需这种扩充变换。
2、标准全景照片映射到标准球面上。(标准球是半径为1m的空间球体)
3、场景模型映射到标准球面上。
4、场景模型的分割以及分割线计算,一般曲面分割的较小块,平面分割为较大块。
5、基于分割块计算球面上对应的全景照片的区域,并将该局部全景数据拾取出,copy到纹理照片(png)中,计算顶点在纹理照片中的坐标。即为纹理坐标。
6、遍历所有分割块,重复第五步,直到分割块的纹理计算完毕为止。
7、导出obj格式(包含顶点坐标、纹理坐标、法线、面),纹理照片。( 一般为obj+mtl+png照片)
二、实现代码(略)
三、效果
球映射
纹理区域计算