WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Bilineare Interpolation

 

QuoVarianz
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.01.2013, 02:02     Titel: Bilineare Interpolation
  Antworten mit Zitat      
Hallo,

ich wüßte gern wie Matlab die Bilineare Interpolation ausrechnet, also die Formel ist mir geläufig, aber wenn eine Matrix gegeben ist

und man soll ausgehend von dem Punkt in Bildmitte interpolieren, was ist dann mein X,Y und was mein P1 P2 P3 und P4

und wo wir schonmal dabei sind wie wär das mit dem nearest Neighbour? ich mein bei einer Matrix mit einheitlicher Grauwertaufteilung was bedeutet da schon der am "nächsten liegende Punkt"?

Danke im Voraus

Thomas
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.01.2013, 09:09     Titel: Re: Bilineare Interpolation
  Antworten mit Zitat      
Hallo QuoVarianz,

Um Dir zu erklären, was X,Y und P1 P2 P3 P4 bedeutet, bräuchten wir zunächst mal die Formel, auf die sich diese Variablen beziehen. Ich könnte das zwar erraten, aber wenn ich falsch liege ist eine Antwort schädlicher als keine Antwort.

Zitat:
und wo wir schonmal dabei sind wie wär das mit dem nearest Neighbour? ich mein bei einer Matrix mit einheitlicher Grauwertaufteilung was bedeutet da schon der am "nächsten liegende Punkt"?

Ich verstehe die Frage nicht. Natürlich bedeutet das die Koordinaten, die dem gesuchten Punkt am nächsten liegen. Aber das ist irgendwie trivial, so dass ich vermute, Du suchst nach etwas anderem.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
QuoVarianz
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 18.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2013, 03:06     Titel:
  Antworten mit Zitat      
Hallo Jan,

Die Formel zur handschriftlichen Ausrechnung der ilinearen Interpolation lautet:



die kann ich auch anwenden, Problem bleibt: Grauwert Matrix gegeben ..was ist men X,Y P1 bis P4

(hier bezeichnet als F1 bis F4, aber ist ja wurscht)

zum Nearest Neighbour: Naja auch das bezieht sich darauf das ein punkt in der Matrix gegeben ist z.B 4 mal 4 Matrix ..ausgehend vom Punkt in Bildmitte

ich mein innerhalb einer Matrix sind die Abstände alle gleich, oder gibt es explizit eine Regel wie "der nächste RECHTE Punkt vom auszugehenden Bildpunkt" oder links....oben...unten

ansonsten zeig mir doch mal anhand einer beispielmatrix und einem beliebigen bildpunkt was der nächstgelegene Punkt ist, vielleicht seh ich ja echt den Wald vor lauter Bäumen nicht

Gruß

Quo
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.01.2013, 23:11     Titel:
  Antworten mit Zitat      
Hallo QuoVarianz,

Ich sehe in der geposteten Formel weder X, Y, P1 bis P4 noch F1 bis F4. Rätselhaft.

Zitat:
ich mein innerhalb einer Matrix sind die Abstände alle gleich, oder gibt es explizit eine Regel wie "der nächste RECHTE Punkt vom auszugehenden Bildpunkt" oder links....oben...unten

Ich verstehe das Problem nicht. Eine Interpolation ist eigentlich einfach:
Man hat (z.B.) 4 Punkte gegeben, die an bestimmten Koordinaten sitzen und bestimmte Werte haben. Beispiel:

(1,1) 100 (1,2) 200
(2,1) 80 (2,2) 10

Dabei heißt "(1,1)" die Position bei X=1 und Y=1 und 100 ist der dazugehörige Wert. Nun möchte man die Matrix interpolieren, z.B. um die ASuflösung zu vergrößern oder um einen Wert zu bestimmen, der nicht auf einer vorhandenen Koordinate liegt, z.B. (1.4,1.3).
Nearest Neighbour gäbe dann den Wert des nächsten Punkte zurück, also 100 von (1,1). Eigentlich trivial, oder?
Für eine bilineare Interpolation wird in X- und Y-Richtung linear interpoliert.
Code:
Z = [100, 200; 80, 10];
x = 1:2;
y = 1:2;
interp2(x,y,Z, 1.4, 1.3)   % 113.6

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.