修复错误拍摄的3D头部扫描

时间:2011-10-10 15:01:12

标签: graphics xna directx 3d

我面临的问题是如下。 我有一些3D头部扫描,其中一些是正确拍摄的(如附图所示),但在很多情况下,很容易看出被扫描的人的头部与机器的正面没有完全对齐,因而纹理的一侧( (和深度图)似乎“更宽”(确切的原因是,一侧从后面拍得更多,如果你看耳朵就很容易看到。)

幸运的是,当我从圆柱坐标转到贝叶斯坐标并使用XNA渲染面部时,面部是对称的。

现在的问题是,我希望所有头部的纹理和深度贴图都与正确的一样漂亮和对称(因为后来我想对齐它们并执行PCA)。

我现在的想法是,我可以在所有顶点之间插入表面,并从那些插值中获取彼此相等距离的新顶点。 这个解决方案看起来很多工作,也许它太过分了。 也许还有其他一些方法(比如确定DirectX / XNA的插值数据必须在某个时候计算它)。

我将非常感谢有用的答案。

正确的例子: http://i55.tinypic.com/332mio2.jpg 不正确的例子: http://i54.tinypic.com/309ujvt.jpg

1 个答案:

答案 0 :(得分:0)

使用某些坐标转换可能会在某种程度上挽救(部分)坏扫描,但您必须猜测对齐的“不正确”,并且可能无法自动执行。

,除非原始主题已死(或以其他方式不可用);重做扫描可能要容易得多。

进行另一次扫描很可能会更快,并且您不会因为转换坏扫描而失去质量。不正确的样本上的鼻子似乎遮住了鼻子的侧面,没有花哨的算法可以修复丢失的数据。