`
izuoyan
  • 浏览: 8943311 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

双线性插值(Bilinear Interpolation)

阅读更多

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

//bilinearinterpolation
intx1=((int)x)%bp.bmWidth;
inty1=((int)y)%bp.bmHeight;
intx2=(u1+1)%bp.bmWidth;
inty2=(v1+1)%bp.bmHeight;

//calculatefractionalpartsofuandv
floatfracx=x-floorf(x);
floatfracy=y-floorf(y);

//calculateweightfactors
floatw1=(1.0f-fracx)*(1.0f-fracy);
floatw2=fracx*(1.0f-fracy);
floatw3=(1.0f-fracx)*fracy;
floatw4=fracx*fracy;

//gettheresult
returnpoint(x1,y1)*w1+point(x2,y1)*w2+point(x1,y2)*w3+point(x2,y2)*w4;

本文属Span Zhang(张友邦)原创,转载请注明出处。

中国原创分形艺术、中国原创分形软件第一站

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics