Mitchell–Netravali滤波器

Mitchell–Netravali滤波器BC–样条是一组主要用于计算机图形学的,例如,可被用于抗锯齿或缩放光栅图形。它们在图像编辑程序中也被称为双三次滤波器,因为它们是二维三次样条。

定义
Mitchell–Netravali滤波器是作为对失真(artifacts)调查的一部分而被设计的。滤波器是具有四像素宽支撑的分段三次滤波器。从这个系列中排除不合适的滤波器后,例如不连续的曲线,仍然存在两个参数B和C ,通过它们可以配置Mitchell–Netravali滤波器。滤波器定义如下:

:
k(x) = \frac{1}{6}
\begin{cases}
\begin{array}{l}
(12-9B-6C)|x|^3 + (-18+12B+6C)|x|^2 \\
\qquad + (6-2B)
\end{array} & \text{, if } |x|

通过构造 Mitchell–Netravali滤波器的二维版本有可能的。在这种情况下,滤波器可以被一维滤波器的一系列插值代替。从四个相邻像素的颜色值P_0, P_1, P_2, P_3然后计算颜色值P(d)如下:

:\begin{align}
P(d) &\textstyle = \left((-\frac{1}{6}B-C)P_0 + (-\frac{3}{2}B-C+2)P_1 + (\frac{3}{2}B+C-2)P_2 + (\frac{1}{6}B+C)P_3\right) d^3 \\
&\textstyle + \left((\frac{1}{2}B+2C)P_0 + (2B+C-3)P_1 + (-\frac{5}{2}B-2C+3)P_2 -CP_3\right) d^2 \\
&\textstyle + \left((-\frac{1}{2}B-C)P_0 + (\frac{1}{2}B+C)P_2\right) d \\
&\textstyle + \frac{1}{6}BP_0 + (-\frac{1}{3}B+1)P_1 + \frac{1}{6}BP_2 \\
\end{align}

P介于P_1和P_2 ; d是P_1和P之间的距离。

主观效果
如下图所示,参数B和C的某些选择可能会导致各种失真。研究人员推荐参数数值来自B+2C=1 (虚线)家族和尤其是\textstyle B=C=\frac{1}{3}作为一个令人满意的妥协
|-
|style="text-align:right;"|1/3
|style="text-align:right;"|1/3
|Mitchell–Netravali
|ImageMagick中的 Mitchell滤波器
|-
|style="text-align:right;"|1
|style="text-align:right;"|0
|B样条
|Paint.NET中的双三次滤波器
|}

例子
参阅

  • 振鈴效應
  • 各向异性过滤

参考资料

评论 (0)

  • 还没有评论,来抢沙发吧。