Notice: Unexpected clearActionName after getActionName already called in /var/www/html/includes/context/RequestContext.php on line 338
Mitchell-Netravali-Filter – Wikipedia Zum Inhalt springen

Mitchell-Netravali-Filter

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Bikubische Filterung)

Die Mitchell-Netravali-Filter oder BC-Splines sind eine vorrangig in der Computergrafik verwendete Gruppe von Rekonstruktionsfiltern, die zum Beispiel beim Antialiasing oder bei der Skalierung von Rastergrafiken verwendet werden können. In Bildbearbeitungsprogrammen werden sie auch als bikubische Filter bezeichnet, da sie zu den kubischen Splines zählen.

Definition

Datei:Mitchell Filter.svg
Graph des Mitchell-Netravali-Filters mit Parameterwahl (⅓, ⅓)

Die Mitchell-Netravali-Filter wurden im Rahmen einer Untersuchung zu Artefakten von Rekonstruktionsfiltern entworfen. Die Filter sind stückweise kubische Filter mit vier Pixel breiten Trägern. Nach Ausschluss ungeeigneter Filter aus dieser Familie, wie zum Beispiel unstetige Kurven, verbleiben zwei Parameter <math>B</math> und <math>C</math>, durch die die Mitchell-Netravali-Filter konfigurierbar sind. Die Filter sind wie folgt definiert:

<math>

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{, wenn } |x|<1 \\ \begin{array}{l} (-B-6C)|x|^3 + (6B+30C)|x|^2 \\ \qquad + (-12B-48C)|x| + (8B+24C) \end{array} & \text{, wenn } 1\le |x|<2 \\ 0 & \text{ansonsten} \end{cases} </math>

Es ist möglich, zweidimensionale Versionen der Mitchell-Netravali-Filter durch Separation zu konstruieren (siehe: Rekonstruktionsfilter: Konstruktion zweidimensionaler Filter). In diesem Fall können die Filter durch eine Reihe von Interpolationen mit dem eindimensionalen Filter ersetzt werden. Aus den Farbwerten der vier benachbarten Pixel <math>P_0</math>, <math>P_1</math>, <math>P_2</math>, <math>P_3</math> berechnet sich dann der Farbwert <math>P(d)</math> folgendermaßen:

<math>\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}</math>

<math>P</math> liegt hierbei zwischen <math>P_1</math> und <math>P_2</math>; <math>d</math> ist der Abstand zwischen <math>P_1</math> und <math>P</math>.

Spezialfälle

Datei:Mitchell-Netravali Artefakte.svg
Subjektives Aussehen von mit Mitchell-Netravali-Filtern rekonstruierten Bildern. Die gestrichelte Linie markiert eine von den Entwicklern als guter Kompromiss empfohlene Parameterfamilie.

Je nach Wahl der Parameter B und C kann es zu verschiedenen Artefakten kommen (siehe Bild rechts). Die Entwickler schlugen die Parameter aus der Familie <math>B+2C=1</math> und besonders <math>\textstyle B=C=\frac{1}{3}</math> als guten Kompromiss vor.

Die Wahl bestimmter Parameter führt zu bekannten kubischen Splines:

Datei:Resize Catmull-Rom.png
Vergrößerung mit bikubischem Filter in GIMP (B=0, C=0,5)
Datei:Resize Cubic B-Spline.png
Vergrößerung mit bikubischem Filter in Paint.NET (B=1, C=0)

Literatur

Weblinks