matlab interp2插值函数的使用

参考:
https://blog.csdn.net/hanchan94/article/details/53942998
https://blog.csdn.net/sgfmby1994/article/details/52598270

interp2 的作用

interp2函数也是用来进行插值操作的,举个例子来讲,假设我们有一个3×3的矩阵,但是我们有了新的需求,想把该矩阵扩展成5×5的新的更大的矩阵。此时就出现了一个问题,5×5的矩阵一共有25个像素值,而3×3的矩阵只有9个像素值。所以如何用这9个像素值给新的25个像素值赋值,这就是一个插值的问题。在这里我们仅粗略地讲述了插值的目的,并没有叙述插值算法的细节。

interp2 的用法

好了,介绍完插值的目的之后。接下来介绍一下函数的用法。
(1)ZI = interp2(X,Y,Z,XI,YI)
参数说明:
输入:
X,Y 对应插值前X轴和Y轴的坐标分量,合在一起才是(x,y);Z是X,Y坐标对应位置(x,y)的值,XI,YI对应插值后的坐标。
输出:
ZI是XI、YI坐标对应的像素值。
(2)ZI = interp2(X,Y,Z,XI,YI,method)
用指定的算法method 计算二维插值:
’linear’:双线性插值算法(缺省算法);
’nearest’:最临近插值;
’spline’:三次样条插值;
’cubic’:双三次插值。
(3)ZI = interp2(Z,XI,YI)
缺省地,X=1:n、Y=1:m,其中[m,n]=size(Z)。再按第一种情形进行计算。

[x,y]=meshgrid(0:2,0:2);
vl = [1:3;4:6;7:9];
[x2,y2]=meshgrid(1:0.1:2,0:2);
zz = interp2(x,y,vl,x2,y2,'bicubic');
% [x3,y3]=meshgrid(1:0.1:2,0:0.1:2);
% zz2 = interp2(x,y,vl,x3,y3,'bicubic');

代码的结果如下:
插值前的数据:
这里写图片描述
插值后的数据:
这里写图片描述

  • 18
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值