Was ist der verwendete Algorithmus zur Interpolation in Matlab ist imresize Funktion?

Ich bin mit der Matlab/Octave imresize() Funktion, die passt in diesem Fall einem gegebenen 2D-array. Ich möchte verstehen, wie eine bestimmte Interpolations-Algorithmus verwendet, in imresize funktioniert.

(Ich bin mit octave unter windows)

z.B.

A =  1 2 
     3 4

ist ein 2D-array. Dann nutze ich den Befehl

b=imresize(a,2,'linear'); 

grundsätzlich upsampling Zeilen und Spalten von 2.

Die Ausgabe ist

1.0000   1.3333   1.6667   2.0000
1.6667   2.0000   2.3333   2.6667
2.3333   2.6667   3.0000   3.3333
3.0000   3.3333   3.6667   4.0000

Ich verstehe nicht, wie diese lineare interpolation arbeitet. Es wird gesagt, die bilineare interpolation, aber wie sieht es pad die Daten an Grenzen und wie sieht es mit der Ausgabe, dass es immer auf???

Zweiten Beispiel:
Für

A = 

1   2   3   4
5   6   7   8
0   1   2   3
1   2   3   4

wie funktioniert imresize(a,1.5,'linear') geben Sie die folgende Ausgabe?

1.00000   1.60000   2.20000   2.80000   3.40000   4.00000
3.40000   4.00000   4.60000   5.20000   5.80000   6.40000
4.00000   4.60000   5.20000   5.80000   6.40000   7.00000
1.00000   1.60000   2.20000   2.80000   3.40000   4.00000
0.40000   1.00000   1.60000   2.20000   2.80000   3.40000
1.00000   1.60000   2.20000   2.80000   3.40000   4.00000

InformationsquelleAutor goldenmean | 2011-06-22

Schreibe einen Kommentar