Theory of Bicubic interpolation

조회 수: 35 (최근 30일)
Shubha B.
Shubha B. 2021년 2월 23일
댓글: Shubha B. 2021년 2월 25일
For the bicubic code which is given in the this link https://www.mathworks.com/matlabcentral/answers/405846-bicubic-interpolation-direct-interpolation-formula-matlab-source-code, where can I get the expalnation of this code. The explanation which is given in the link https://en.wikipedia.org/wiki/Bicubic_interpolation
is not matching.

답변 (1개)

Bruno Luong
Bruno Luong 2021년 2월 24일
편집: Bruno Luong 2021년 2월 24일
It has been answered here
In 2D you do in one direction followedred by another.
%%
x = [-1:2];
y = [-1:2];
[X,Y] = meshgrid(x,y);
xq = rand;
yq = rand;
Z = rand(size(X));
Zq = interp2(x,y,Z,xq,yq,'bicubic')
% Check bicubic formula
Pl = [1.5,-2.5,0,1];
Pr = [-0.5,2.5,-4,2];
cubicp = @(x) (x<=1).*polyval(Pl,x) + (x>1 & x<2).*polyval(Pr,x);
cubic = @(x) cubicp(abs(x));
Zq = 0;
[~,i0] = histc(xq,x);
[~,j0] = histc(yq,y);
for i = i0-1:i0+2
for j = j0-1:j0+2
k = sub2ind(size(Z),j,i);
Zq = Zq + cubic(X(k)-xq)*cubic(Y(k)-yq)*Z(k);
end
end
Zq
  댓글 수: 3
Bruno Luong
Bruno Luong 2021년 2월 25일
편집: Bruno Luong 2021년 2월 25일
The theory is in the Key's paper on the reference of the document of interp1 and interp2 and in the link II provide (coeffcient in eqt 4 do you read it?).
Apparently it's free access here
Mostly coefficients are computed to provide a smooth convolution kernel and compact support.
The example I give is formula for interpolation at a singe point (xq,yq).
For more points just loop on it. No relevant if you want to understand the formula.
Shubha B.
Shubha B. 2021년 2월 25일
thank you sir.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by