matlab interp2函数详解

切入正题:

 下面是一个测试INTERP2()函数的MATLAB代码

function INTERP2_TEST()
    I=[2 3 6 8
      3 5 1 7
      4 2 9 6
      6 8 1 3];
[X,Y]=meshgrid(1:4,1:4);
xa=X*0.5;
xb=X*2;
ya=Y*0.5;
yb=Y*2;
Ia=interp2(X,Y,I,xa,ya,'*linear');
disp(Ia);
Ib=interp2(X,Y,I,xb,yb,'*linear');
disp(Ib);
      figure;
      surf(I);
       figure;
      surf(xa,ya,Ia);
      figure;
      surf(xb,yb,Ib);

执行结果如下:

>> interp2_test
       NaN       NaN       NaN       NaN
       NaN    2.0000    2.5000    3.0000
       NaN    2.5000    3.2500    4.0000
       NaN    3.0000    4.0000    5.0000


     5     7   NaN   NaN
     8     3   NaN   NaN
   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN、


    由此可以看出

    Ia=interp2(X,Y,I,xa,ya,'*linear')的结果是与I 相同大小的图像,由于a=0.5,因此取I左上1/4处的值,并通过线性插值扩展到与I相同尺寸。

           I=[2 3 6 8
        3 5 1 7
         4 2 9 6
        6 8 1 3];

      Ib=interp2(X,Y,I,xb,yb,'*linear')的结果是与I 相同大小的图像,由于b=2,因此采样取I上值,并通过线性插值扩展到与I相同尺寸。

          I=[2 3 6 8
        3 1 7
         4 2 9 6
        6 8 1 3];

若将I扩展为图像;


原始图像I,


Ia


  


Ib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值