How can i interpolate values to create image with desired number of pixels

1 visualizzazione (ultimi 30 giorni)
I have log_env matrix which is 1407x50 set of data that i can display as an image. I want to interpolate data and result to be 512x512 pixels image. I try to achive that using interp2 as below. However what I'm getting is NaN through almost entire result matrix. Is there a problem with my approach or something must be wrong with data i try to interpolate?
[n,m]=size(log_env);
X=linspace(1,n,512);
Y=linspace(1,m,512);
[Xq,Yq]=meshgrid(X,Y);
new_env=interp2(log_env,Xq,Yq);

Risposta accettata

Voss
Voss il 12 Nov 2023
You've got m and n swapped in the definitions of X and Y.
[n,m]=size(log_env);
X=linspace(1,m,512);
Y=linspace(1,n,512);
[Xq,Yq]=meshgrid(X,Y);
new_env=interp2(log_env,Xq,Yq);

Più risposte (0)

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by