您还没有登陆到CGPAD.COM   现在登录   注册新用户
搜索 CGPAD.COM
 
 
 
张友邦    尘世如潮人如水 只叹江湖几人回
 http://span.cgpad.com
 
 
   空间首页  生活日记  原创作品  博客文章  共享资源  新闻网摘  我的收藏  社区活动  博客留言   进入后台
 
 
双线性插值(Bilinear Interpolation)源代码
分类:发表:2008-04-25 16:40:49   点击:6033   回复:10

在图像放大算法中,双线性插值简单而有效,可以让结果图像显得平滑而不是呈现锯齿状。它的原理很简单,把临近四个点的像素值与相应的贡献系数相乘后加起来就可以了。

下面的代码是用于FerryMan Fractal中的图象插值算法:

//bilinear interpolation
int x1 = ((int)x) % bp.bmWidth;
int y1 = ((int)y) % bp.bmHeight;
int x2 = (u1 + 1% bp.bmWidth;
int y2 = (v1 + 1% bp.bmHeight;

// calculate fractional parts of u and v
float fracx = x - floorf(x);
float fracy = y - floorf(y);

// calculate weight factors
float w1 = (1.0f - fracx) * (1.0f - fracy);
float w2 = fracx * (1.0f - fracy);
float w3 = (1.0f - fracx) * fracy;
float w4 = fracx *  fracy;

// get the result
return point(x1, y1) * w1 + point(x2, y1) * w2 + point(x1, y2) * w3 + point(x2, y2) * w4;


标签:Bilinear Interpolation
 
附件:
 
声明:CGPAD文章版权属于作者,受法律保护。没有作者书面许可不得转载。
 
评论或跟帖
 

#1 ly1 (trtr) 2009-05-21 12:51:13
hg
 

#2 qwr2134 (ss) 2009-09-06 02:11:42
?看不到啊
 

#3 wqfadd (wqfadd) 2009-09-25 13:48:51
???????????????看不到呀
 

#4 dmcontents (star) 2009-12-06 01:16:53
先谢谢,好
 

#5 dmcontents (star) 2009-12-06 01:18:13
怎么下载呢,无法看到附件
 

#6 haibalai (sai) 2010-01-06 12:38:55

学习

 

#7 flybaby111 (flybaby) 2010-03-17 10:41:39
谢谢 正需要这个资料
 

#8 hello (hello) 2010-04-08 11:24:47
xuexixuexi
 

#9 kekehenu (zk) 2011-03-01 11:11:48
学习学习


 

#10 HelloBoy (HelloBoy) 2011-04-23 12:01:33
大哥  附件在哪里啊
 
 
 
版权所有 © 2005-2008 CGPAD.COM,湘ICP备07500998号,兼容浏览器:IE6IE7FireFoxOperaSafariChrome
Total Requests: 5271220, Total Visits: 3081992, Processing Time: 48ms,