Effacer les filtres
Effacer les filtres

Is there a two-dimensional sinc interpolation software?

17 vues (au cours des 30 derniers jours)
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis le 30 Sep 2021
Hello everyone. I have found this package of software. I am interested in doing a two-dimensonal sinc interpolation as defined in the diapositives 15 to 18 of this presentation. Unfortunately. I haven't found anything.
Can anybody point me to some code that might work?
Best regards.
Jaime.

Réponse acceptée

Star Strider
Star Strider le 30 Sep 2021
One-dimensional sinc interplation is described in Ideal Bandlimited Interpolation. It may be possible to adapt it to a 2D problem.
.
  2 commentaires
Matt J
Matt J le 30 Sep 2021
Modifié(e) : Matt J le 30 Sep 2021
Yes, it is possible, but this is only valid for plaid upsampling, not arbitrary interpolation.
Image=double(imread('cameraman.tif'));
M=length(Image);
t=1:M;
dt=0.2;
ts = -M:dt:2*M;
[Ts,T] = ndgrid(ts,t);
A=sinc(Ts - T);
A([1:M/dt,end+1-M/dt:end],:)=[];
ImageInterpolated = A*Image*A.';
whos Image ImageInterpolated
Name Size Bytes Class Attributes Image 256x256 524288 double ImageInterpolated 1281x1281 13127688 double
imshow(ImageInterpolated,[])
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis le 30 Sep 2021
That is great, since I have a grid of size 19*13 with values of temperature and I want to find an equation using this sinc interpolation to have a function to describe said field. Is there a way to adapt this code so that instead of an image, a matrix is introduced and the resulting expressin can be read?

Connectez-vous pour commenter.

Plus de réponses (2)

Matt J
Matt J le 30 Sep 2021
Since interpolation is commonly approximated by cubic spline interpolation, which you have an option for in interp2.
Vq = interp2(X,Y,V,Xq,Yq,'spline');
  1 commentaire
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis le 30 Sep 2021
Thanks for the answer. Is there a way to find the equation used to build said interpolation?

Connectez-vous pour commenter.


Nikeet Pandit
Nikeet Pandit le 10 Mai 2022
We know that Fourier is a seperable transform... so if we want to do a Fourier 2D transform its equivalent to doing 1D transform on rows and then columns. I assume then this property holds for sinc interpolation... So I adapted the 1D example for sinc interpolation they provide on the sinc(x) documentation ... and then I applied the interpolation to the rows and then interpolation to the columns and it seemed to work

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by