关于二维插值算法INTERP2的实现
有没有哪位高手知道INTERP2的算法在哪里可以找到.Help interp2 以及INTERP2.M里面均没有它的计算公式,本论坛里面也没有找到类似问题的答案,请高手帮忙,查了很多数值计算的书,都只有一维的插值算法.
[ 本帖最后由 eight 于 2007-7-19 16:43 编辑 ] 为了方便理解,先考虑一维情况下的线性插值
对于一个数列c,我们假设c到c之间是线性变化的
那么对于浮点数x(a<=x<a+1),c(x)=c*(x-a)+c*(1+a-x);
这个好理解吧?
把这种插值方式扩展到二维情况
对于一个二维数组c,我们假设对于任意一个浮点数i,c(a,i)到c(a+1,i)之间是线性变化的,c(i,b)到c(i,b+1)之间也是线性变化的(a,b都是整数)
那么对于浮点数的坐标(x,y)满足(a<=x<a+1,b<=y<b+1),我们可以先分别求出c(x,b)和c(x,b+1):
c(x,b) = c*(x-a)+c*(1+a-x);
c(x,b+1) = c*(x-a)+c*(1+a-x);
好,现在已经知道c(x,b)和c(x,b+1)了,而根据假设c(x,b)到c(x,b+1)也是线性变化的,所以:
c(x,y) = c(x,b+1)*(y-b)+c(x,b)*(1+b-y)
这就是双线性插值,不知道我这么讲是否将明白了
参考资料:http://zhidao.baidu.com/question/9256284.html
[ 本帖最后由 花如月 于 2007-7-20 10:20 编辑 ] 原帖由 yxb345 于 2007-7-19 15:52 发表 http://www.chinavib.com/forum/images/common/back.gif
有没有哪位高手知道INTERP2的算法在哪里可以找到.
Help interp2 以及INTERP2.M里面均没有它的计算公式,本论坛里面也没有找到类似问题的答案,请高手帮忙,查了很多数值计算的书,都只有一维的插值算法.
看看朱志刚翻译的《数字图像处理》一书吧,几何运算那章就有介绍
回复 #1 yxb345 的帖子
刚才看了源文件'nearest' - nearest neighbor interpolation
'linear'- bilinear interpolation
'cubic' - bicubic interpolation
'spline'- spline interpolation
这些插值的算法都有的,自己看看吧edit interp2
回复 #2 花如月 的帖子
双线性插值就是二维插值么?回复 #5 yxb345 的帖子
二维线性插值,就是双线性插值了。interp2的4中插值方法可以供自己选,最临近、线性、立方和样条,越往后越复杂,计算越慢,精度却更好[ 本帖最后由 eight 于 2007-7-23 11:31 编辑 ] 原帖由 花如月 于 2007-7-20 19:53 发表 http://www.chinavib.com/forum/images/common/back.gif
二维线性插值,就是双线性插值了。interp2的4中插值方法可以供自己选,最临近、线性、立方和样条,越往后越复杂,计算越慢,精度却更好
恩,同意。应该说,二维线性插值通常是使用双线性插值来实现。至于那4种方式,虽然越往后精度越高,不过图象也会变得越来越模糊
页:
[1]