【发布时间】:2012-12-06 22:49:08
【问题描述】:
基本上我试图实现这一点:将任意图像强加到预定义的不平整表面。 (见下面的例子)。
-->
我在图像处理或 3D 算法方面没有太多经验,所以这是我目前能想到的最好的方法:
- 预定义一组坐标(假设我们有一个 10x10 的网格,我们有 100 个以 (0,0)、(0,10)、(0,20) 等开头的坐标。将会有9x9 = 81 个网格。
- 记录 T 恤图像上每个单独坐标的转换,例如(0,0) 变为 (51,31),(0, 10) 变为 (51, 35),依此类推。
- 将原始图像三角化为 81x2=162 个三角形(每个网格有 2 个三角形)。根据步骤 2 中得到的坐标变换对图像的每个三角形进行变换,并将其绘制在 T 恤图像上。
我遇到的问题/疑问:
- 我不知道如何平滑每个三角形,这样 T 恤上的图像才不会显得参差不齐。
- 有更好的方法吗?在继续实施之前,我想确保我没有在这里重新发明轮子。
谢谢!
【问题讨论】:
-
您总是可以提高分辨率并创建更小的三角形:P 我认为您需要一种不同的算法来代替这种三角测量。剪切和撕裂的东西。
-
您可以简单地使用从“T 恤坐标”到纹理坐标的样条插值。通过这种方式,您可以获得从 T 恤图像中的每个像素到纹理图像的平滑映射,并且可以简单地查找每个像素的纹理。但不适用于折痕或遮挡。
标签: image image-processing graphics 3d textures