首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无缝纹理

无缝纹理
EN

Computer Graphics用户
提问于 2017-07-03 01:41:02
回答 1查看 2.1K关注 0票数 6

我理解艺术家是如何手工制作无缝纹理的,但是计算机程序如何使这个过程自动化呢?像PixPlant这样的软件能够做到这一点,但我不明白它是如何做到的。

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2017-07-10 02:47:41

对于这些类型的算法,通常需要依赖多种形式的纹理合成。这并不意味着你必须从零开始生成整个纹理。例如,您可以重新生成纹理的侧面以达到无缝效果。这个答案可能不完整,因为它是一个很大的领域,不同的方法将有不同的效果取决于输入图像。

沿

边缘的模糊

作为一名艺术家,制作无缝纹理的一种方法是在两个方向上抵消图像。然后,你可以模糊边缘。

这个例子并不是最好的,但是使用特定纹理类型的结果可以得到不错的结果。

或者,您可以通过将图像与其自身重叠,然后取这两幅图像之间的差异,在这里对边缘进行最小裁剪。

最小切割算法

最流行的算法之一是图像被子。这背后的想法是将纹理分割成一堆补丁。首先从所有补丁中随机选择一个补丁子集,然后在将补丁与相邻补丁(Es)重叠时,选择出错最少的补丁,从而填充纹理。然后,沿着重叠区域执行最小的裁剪。

我在这个算法的经验是,它很好地工作在许多纹理,有圆形的细节。例如,如果纹理是草,那么它的性能就会很差。每个补丁重叠的数量对质量也有很大的影响。重叠越大,比赛就越好,但重复的可能性越大。另外,如果候选补丁的子集太大,那么您将得到重复。否则,你可能找不到好的匹配。

该算法有一些扩展,包括PatchMatch (在Photoshop中使用)。

梯度校正

另一种处理无缝纹理的方法是删除渐变。泊松图像编辑可以帮助解决这一点,如果您打破您的图像,并使用各种片段是前景和背景对象。

一个更简单的方法是创建一个低频(例如mipmap)的纹理,然后删除你的图像的梯度。当然,高频数据并不是无缝的,但是您可以用其他算法删除它。

计算机视觉接近

您也可以使用各种计算机视觉方法。这里的想法是,当您试图平铺纹理时,您将保持重要的功能不变。例如,如果图像边缘有一块有岩石的泥土纹理,使用不同的特征检测器,比如高斯的差异,可以帮助你识别这块岩石,并在你打瓷砖之前把它移除。您可能需要填写其余的纹理,岩石被移除,但这可能有助于使图像更加无缝。

附加参考资料

  • 图像拼接与PatchMatch高层解释
  • 梯度域合成
票数 10
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/5317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档