免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2261 | 回复: 0
打印 上一主题 下一主题

Bicubic Interpolation (双三次插值) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:44 |只看该作者 |倒序浏览

在Wikipedia (http://en.wikipedia.org/wiki/Bicubic_interpolation) 上找到了bicubic的描述,不过它只给出了知道导数情况下的公式。后来在CSDN上找到了C语言的算法描述(http://topic.csdn.net/t/20021118/15/1186136.html),改造了一下做了个测试。他没有给出插值样条,通常使用sin(x * PI) / x的逼近。

span::real Tessellation::sinxx(span::real value) {
    
if (value < 0) value = -value;

    
if (value < 1.0) { 
        span::real temp 
= value * value; 
        
return 0.5 * temp * value - temp + 2.0 / 3.0
    } 
    
else if (value < 2.0) { 
        value 
= 2.0 - value; 
        value 
*= value * value;
        
return value / 6.0
    } 
    
else {
        
return 0.0
    }
}

以下是测试结果。

Nearest:

Bilinear:

Bicubic:

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP