www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Interpolation und Approximation" - 2D Interpolation mit Splines
2D Interpolation mit Splines < Interpol.+Approx. < Numerik < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Interpolation und Approximation"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

2D Interpolation mit Splines: Frage (beantwortet)
Status: (Frage) beantwortet Status 
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]
        
Bezug
2D Interpolation mit Splines: Antwort
Status: (Antwort) fertig Status 
Datum: 16:55 Mo 29.04.2013
Autor: Al-Chwarizmi


> 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 ,

             [willkommenmr]

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.

Bezug
                
Bezug
2D Interpolation mit Splines: Rückfrage
Status: (Frage) überfällig Status 
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]
Bezug
                        
Bezug
2D Interpolation mit Splines: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:20 Mi 08.05.2013
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Interpolation und Approximation"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]