J'essaie de créer une fonction qui met à l'échelle une image basée sur une valeur (scale_zoom) pour une tâche de devoirs. Je ne veux pas utiliser la fonction intégrée MATLAB resize()
dans cette fonction, donc j'essaie d'interpoler. Toute aide serait grandement appréciée. Voilà ce que j'ai jusqu'à présent:Redimensionnement d'une image dans MATLAB
function pic_new=scale_image(pic,scale_zoom)
[row, col]=size(pic)
ht_scale=size(pic,1)/scale_zoom*col
wid_scale=size(pic,2)/scale_zoom*row
size(ht_scale)
size(wid_scale)
x=(0:scale_zoom)*wid_scale
y=(0:scale_zoom)*ht_scale
length(x)
length(y)
%plotvals=0:0.1:scale_zoom (this is not necessary i think)
newimg=interp1(pic,x,y,'cubic')
image(newimg)
end
Je pense que je suis interpoler très mal:/
Pourquoi utilisez-vous pas interp2() – DanielHsH
Je suppose que vous signifie que vous ne voulez pas utiliser 'imresize', même si vous avez écrit' resize'. Parce que j'utiliserais 'imresize' pour ça. –