2D-Interpolation auf 4 Arten
Zum Code
Interpolation ist die Kunst, Zwischenwerte zu berechnen, um z.B. ein 10x10 Array zu einem 100x100 Array zu vergrößern und dabei möglichst die Orignaldaten zu rekonstruieren (angenommen das 100x100 Array wurde vorher auf 10x10 verkleinert). Vor allem bei dem Vergrößern von Bildern sind diese Verfahren interessant, da sie die Bilder unterschiedlich scharf machen.

Der Einfachheit halber rechnen wir nur mit Werten von 0 bis 500 statt im RGB-Modus mit 3x 0 bis 255, die Werte werden nachher durch ein Array in eine Farbe umgewandelt, ähnlich einem Verlauf.

Dieser Code stellt die Verfahren Nearest Neighbour, Bilinear Interpolation, Bicubic Interpolation und Sin(x)/x Interpolation vor (letzteres Verfahren beruht auf der sog. Sinc-Kurve).

Die verschiedenen Verfahren unterscheiden sich in der Anzahl der in die Berechnung einbezogenen Punkten und in ihren Formeln. Am komplexesten ist wohl die Sin(x)/x Interpolation, die für die Berechnung eines Zwischenwertes alles Werte benutzt. Am häufigsten findet man jedoch die bikubische Interpolation, da diese einen angemessen Kompromiss zwischen Geschwindigkeit und Qualität darstellt.

History
27.12.2002 Online gestellt

Autor: Dominik Auras <Dominik_auf_vbinside.de>