我想写一个算法(在C#中),将两个或更多不相关的高度图缝合在一起,因此地图之间没有可见的接缝。基本上我想模仿这个网页上找到的功能: http://www.bundysoft.com/wiki/doku.php?id=tutorials:l3dt:stitching_heightmaps如何缝合多个高度图以去除接缝?
(你可以只看图片得到的,我说的是什么要点)
我也希望能够采取一个单一的高度图,并改变它,以便它可以平铺,以创建一个无尽的世界(所有这些都用于Unity3d)。但是,如果我可以将多个高度图拼接在一起,我应该可以轻松修改算法以在单个高度图上执行操作,所以我不担心这部分。
任何类型的指导将不胜感激,因为我已经搜索和搜索解决方案没有成功。只是在正确的方向简单微调将不胜感激!我了解许多图像处理技术可以应用于高度贴图,但一直无法找到能够产生我期待的结果的图像处理算法。例如,image stitching似乎只适用于具有重叠视野的图像,对于不相关的高度图不是这种情况。
会在某种程度上使用FFT低通滤波器工作,还是只能用于生成单个tileable高度图?
由于该算法将在Unit3d中使用,因此任何C#代码都必须局限于.Net 3.5,因为我相信这是Unity使用的最新版本。 感谢您的帮助!
好的,我明白你在说什么,但是你会如何将它应用于高度图?在您的示例中,生成的缝合线的长度为10,但合并后,最初的左和右线条的长度为14.我需要生成与原始左/右线条长度相同的新左/右线条,左边的最右边的值与右边的最左边的值匹配(如果它们不是相同的值,那么heightmaps之间会有差距)。 – 2013-05-08 16:18:05
感谢您的帮助,插值绝对在正确的轨道上。我添加了一个答案,迄今为止产生了最好的结果。将自己的答案标记为问题的答案是否可以,或者通常是否被忽视? – 2013-05-09 03:18:21