Is there a two-dimensional sinc interpolation software?

14 ビュー (過去 30 日間)
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis 2021 年 9 月 30 日
回答済み: Nikeet Pandit 2022 年 5 月 10 日
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.

採用された回答

Star Strider
Star Strider 2021 年 9 月 30 日
One-dimensional sinc interplation is described in Ideal Bandlimited Interpolation. It may be possible to adapt it to a 2D problem.
.
  2 件のコメント
Matt J
Matt J 2021 年 9 月 30 日
編集済み: Matt J 2021 年 9 月 30 日
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 2021 年 9 月 30 日
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?

サインインしてコメントする。

その他の回答 (2 件)

Matt J
Matt J 2021 年 9 月 30 日
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 件のコメント
Jaime De La Mota Sanchis
Jaime De La Mota Sanchis 2021 年 9 月 30 日
Thanks for the answer. Is there a way to find the equation used to build said interpolation?

サインインしてコメントする。


Nikeet Pandit
Nikeet Pandit 2022 年 5 月 10 日
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

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by