Qu'est-ce que l'algorithme utilisé pour interpoler dans Matlab imresize fonction?

Je suis en utilisant le logiciel Matlab/Octave imresize() fonction qui ré-échantillonne un tableau 2D. Je veux comprendre comment un algorithme d'interpolation utilisé dans imresize œuvres.

(Je suis en utilisant l'octave sur windows)

par exemple

A =  1 2 
     3 4

est un tableau 2D. Puis-je utiliser la commande

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

essentiellement à un suréchantillonnage de lignes et de colonnes par 2.

La sortie est

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

Je ne comprends pas comment cette interpolation linéaire est de travail. Il est dit d'utiliser biinterpolation linéaire, mais comment est-il pavé de données à des limites et comment elle fait pour obtenir le résultat qu'il obtient?

Deuxième exemple:
Pour

A = 

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

comment imresize(a,1.5,'linear') donne la sortie suivante?

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

OriginalL'auteur goldenmean | 2011-06-22