2D Interpolation mit Splines < Interpol.+Approx. < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:48 Mo 29.04.2013 | Autor: | Jan_K. |
Hallo!
Ich habe folgendes Problem: Ich möchte Splines für die Interpolation von Pixeln für das Skalieren von Bildern (in Matlab)verwenden. Ich habe einen Quellcode, in dem folgende allgemeine Definition eines kubischen B-Spline-Kerns verwendet wurde:
[Dateianhang nicht öffentlich]
Da B-Splines normalerweise ja nicht interpolaierend sind, sind sie für dieses Problem nicht passend. Ich möchte also statt den B-Splines eine interpolierende Spline Art wie z.B. natürliche kubische Splines verwenden. Kann mir jemand sagen, wie die obige Definition/Fallunterscheidung für eine interpolierende Spline Art ist und am besten noch wie sich diese berechnet? Vielen Dank!
Ich habe diese Frage (noch)in keinem Forum auf anderen Internetseiten gestellt. Falls doch, dann füge ich den Link ein.
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|
> Hallo!
> Ich habe folgendes Problem: Ich möchte Splines für die
> Interpolation von Pixeln für das Skalieren von Bildern (in
> Matlab)verwenden. Ich habe einen Quellcode, in dem folgende
> allgemeine Definition eines kubischen B-Spline-Kerns
> verwendet wurde:
>
> [Dateianhang nicht öffentlich]
>
> Da B-Splines normalerweise ja nicht interpolierend sind,
> sind sie für dieses Problem nicht passend. Ich möchte
> also statt den B-Splines eine interpolierende Spline Art
> wie z.B. natürliche kubische Splines verwenden. Kann mir
> jemand sagen, wie die obige Definition/Fallunterscheidung
> für eine interpolierende Spline Art ist und am besten noch
> wie sich diese berechnet? Vielen Dank!
Hallo Jan ,
was meinst du genau damit, dass "B-Splines normaler-
weise nicht interpolierend seien" ?
Vielleicht meinst du damit, dass die berechnete B-Spline-
Kurve nicht exakt durch alle gegebenen Punkte verläuft,
sondern von diesen abweichen kann ?
Wenn ja, und wenn du dies vermeiden willst, dann
bist du wohl mit "normalen" Splines besser bedient.
Ein wichtiger Unterschied ist allerdings zu beachten:
Für die Berechnung einer "normalen" Splinefunktion
über viele Teilintervalle hinweg muss man ein sehr
umfangreiches Gleichungssystem lösen. Für einen
kubischen B-Spline hat man dagegen eine Reihe
von einfacheren Gleichungssystemen zu lösen, und
der gesamte Rechenaufwand wird wesentlich reduziert,
was insbesondere für (schnelle !) Grafik-Anwendungen
sehr wichtig sein kann !
ein ev. nützlicher Link:
https://www.ads.tuwien.ac.at/docs/lva/mmgdv/k1___014.htm
oder google nach:
[PDF]Spline-Interpolation - Technische Universität Chemnitz
LG , Al-Chw.
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 10:40 Di 30.04.2013 | Autor: | Jan_K. |
Hallo und danke für deine Antwort erstemal!
Und ja mit "dass B-Splines normalerweise nicht interpolierend seien" meinte ich genau das, nämlich dass die Kurve nicht durch alle Stützpunkte geht, sondern sie nur annähert.
Deswegen möchte ich statt den B-Splines einer andere, interpolierende Art nehmen. Und ich bin nicht direkt daran interessiert, die Kurve zu zeichnen. Ich möchte ja ein Bild skalieren und dazu müssen nur ein paar Werte berechnet werden, die zwischen den Stützpunkten auf der Kurve liegen. Die "Definition" des B-Splines meines ersten Posts ist also konkret der B-Spline-Filterkern, mit dem Daten gefilter werden können. Das Bild zu diesem Filterkern:
[Dateianhang nicht öffentlich]
Da das Filtern mit diesem Kern aber Werte erzeugt, die in den Stützstellen von den original-Werten abweichen (da die kubischen B-Splines nicht interpolieren sondern nur approximieren)ist dieser Kern nicht geeignet. In einem Paper und folgendem Skript:
http://www.students.tut.fi/~harrila/DIP2_Splines.pdf
(auf Seite 16) habe ich gelesen, dass es zu diesem B-Spline Filterkern einen äquivalenten interpolierenden Kern gibt, den man durch Z-Transformation berechnen kann.
Das Bild zu diesem Kern:
[Dateianhang nicht öffentlich]
Und an der Definition bzw. Fallunterscheidung dieses Kerns bin ich interessiert:) Leider fehlt die in dem Paper. Ich hoffe jemand kann mir da helfen... Danke
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich] Anhang Nr. 2 (Typ: png) [nicht öffentlich]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Mi 08.05.2013 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|