声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5376|回复: 6

[编程技巧] 关于二维插值算法INTERP2的实现

[复制链接]
发表于 2007-7-19 15:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
有没有哪位高手知道INTERP2的算法在哪里可以找到.
Help interp2 以及INTERP2.M里面均没有它的计算公式,本论坛里面也没有找到类似问题的答案,请高手帮忙,查了很多数值计算的书,都只有一维的插值算法.

[ 本帖最后由 eight 于 2007-7-19 16:43 编辑 ]

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2007-7-20 10:17 | 显示全部楼层
为了方便理解,先考虑一维情况下的线性插值
对于一个数列c,我们假设c[a]到c[a+1]之间是线性变化的
那么对于浮点数x(a<=x<a+1),c(x)=c[a+1]*(x-a)+c[a]*(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[a+1]
*(x-a)+c[a]*(1+a-x);
c(x,b+1) = c[a+1][b+1]*(x-a)+c[a][b+1]*(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 编辑 ]

评分

1

查看全部评分

发表于 2007-7-20 11:40 | 显示全部楼层
原帖由 yxb345 于 2007-7-19 15:52 发表
有没有哪位高手知道INTERP2的算法在哪里可以找到.
Help interp2 以及INTERP2.M里面均没有它的计算公式,本论坛里面也没有找到类似问题的答案,请高手帮忙,查了很多数值计算的书,都只有一维的插值算法.


看看朱志刚翻译的《数字图像处理》一书吧,几何运算那章就有介绍
发表于 2007-7-20 11:44 | 显示全部楼层

回复 #1 yxb345 的帖子

刚才看了源文件
'nearest' - nearest neighbor interpolation
'linear'  - bilinear interpolation
'cubic'   - bicubic interpolation
'spline'  - spline interpolation
这些插值的算法都有的,自己看看吧edit interp2
 楼主| 发表于 2007-7-20 18:37 | 显示全部楼层

回复 #2 花如月 的帖子

双线性插值就是二维插值么?
发表于 2007-7-20 19:53 | 显示全部楼层

回复 #5 yxb345 的帖子

二维线性插值,就是双线性插值了。interp2的4中插值方法可以供自己选,最临近、线性、立方和样条,越往后越复杂,计算越慢,精度却更好

[ 本帖最后由 eight 于 2007-7-23 11:31 编辑 ]
发表于 2007-7-23 11:32 | 显示全部楼层
原帖由 花如月 于 2007-7-20 19:53 发表
二维线性插值,就是双线性插值了。interp2的4中插值方法可以供自己选,最临近、线性、立方和样条,越往后越复杂,计算越慢,精度却更好


恩,同意。应该说,二维线性插值通常是使用双线性插值来实现。至于那4种方式,虽然越往后精度越高,不过图象也会变得越来越模糊

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 18:58 , Processed in 0.058184 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表