Prenons un cas 1D avec la fonction INTERP1 dont le comportement est (presque) identique à IMRESIZE :
Soit 10 valeurs définies comme ceci
1 2
| x = 1:10
y = linspace(21,30,10) |
x =
1 2 3 4 5 6 7 8 9 10
y =
21 22 23 24 25 26 27 28 29 30
Si on souhaite réduire de moitié le nombre de valeurs, on peut faire ceci :
1 2
| xi = linspace(1,10,5)
yi = interp1(x,y,xi,'nearest') |
xi =
1.0000 3.2500 5.5000 7.7500 10.0000
yi =
21 23 26 28 30
Avec l'argument 'nearest', pour chaque valeur de xi, MATLAB cherche la valeur dans x la plus proche et retourne la valeur de y correspondante dans yi.
Par exemple, pour xi=7.75, la valeur de x la plus proche est 8, dont la valeur de y correspondante est 28. Donc pour xi=7.75, yi=28.
IMRESIZE fait la même chose en 2D (ou en 3D dans le cas des images en couleurs vraies type RGB)
Partager