【发布时间】:2020-11-09 22:19:29
【问题描述】:
我有具有不同高度和不同间距的步骤的 2D 数据。我想反转量化并重新创建原始表面的近似值。
Example of heavily stepped data, and desired smooth result
我不介意是否有伪影和形状变化,但我确实希望 C1 尽可能在表面上连续,并且新的量化应该产生相同的步进数据(可能有点有损,但这是理想的)
我尝试过三次插值和高斯模糊。它们要么具有过于局部的影响,要么破坏了原作中的细节。
理想情况下,无论是 1 像素宽的台阶还是 100 像素宽的台阶,一排台阶都应该产生一条直线。随后的不同大小的台阶应该产生一条平滑、连续的线。
实际上,我想将其用作 8 位浮动转换器以消除像 127...128 这样的单个强度步骤上的条带如果值的变化超过一个小的公差 (1?),那么它们应该保持为锐利的边缘.
一个想法是分离出相同值的岛屿,限制它们的边界高度并放松内部。这将移除台阶,但边界仍将是不连续渐变的折痕。
扩展固定边界的想法——我可以在值和梯度上放松——同时在图像上保持一组边界点的值固定。
我想知道是否有更好的角度来解决这个问题,或者之前有什么好的工作。
*** 更新 我尝试了双边平滑,但发现它在平滑半径与步长相差很大的区域留下了伪影。尽管 Bilateral 作为与范围无关的平滑计算的后处理可能很有用。
我尝试了一种反转的 mipmap 方法 - 没有用。
目前的最佳尝试是多方向二次高度估计 - 使用加权质量投票来选择在每个像素处使用的最佳方向。
【问题讨论】:
标签: bitmap 2d antialiasing smoothing heightmap