前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >双线性插值(超级易懂的)「建议收藏」

双线性插值(超级易懂的)「建议收藏」

作者头像
全栈程序员站长
发布2022-08-11 13:16:25
2.5K0
发布2022-08-11 13:16:25
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

双线性插值

简介

在两个方向分别进行一次线性插值(首先在一个方向上使用线性插值,然后再在另一个方向上使用线性插值执行双线性插值。尽管每个步骤在采样值和位置上都是线性的,但是插值总体上不是线性的,而是在采样位置上是二次的。)

作用

一般用于重新采样图像和纹理。 计算四个周围纹理像素的属性(颜色,透明度等)的加权平均值,并将其应用于屏幕像素。 (简单来说,我要求一个已知坐标的像素值,先去找他四个周围已知像素的坐标,通过两次单线性插值,找到他的像素值是多少)

单线性插值

这里是单线性插值
这里是单线性插值
列式
列式

仔细看就是用x和x0,x1的距离作为一个权重,用于y0和y1的加权。双线性插值本质上就是在两个方向上做线性插值。

双线性插值的公式

在这里插入图片描述
在这里插入图片描述

如图所示,我们需要求P点的像素值。我们已知了Q11、Q21、Q12、Q22、P的坐标。也知道Q11、Q21、Q12、Q22的像素值。所以先用关于X的单线性插值去分别计算R1、R2的像素值

在这里插入图片描述
在这里插入图片描述

在右边的等式中的字母f(Q11)、f(Q12)、f(Q21)、f(Q22)、x1、x2、x都是已知的,求出的f(x,y1)与f(x,y2)即为R1、R2的像素值。 再使用关于y方向的单线性插值计算P点的像素值 得出:

在这里插入图片描述
在这里插入图片描述

在右边的等式中的字母y1、y2、y都是已知的,f(x,y1)与f(x,y2)即为上一个式子中求出的R1、R2像素值。

双线性插值的例子

举个栗子:

在这里插入图片描述
在这里插入图片描述

如右侧示例所示,可以通过在第20行和第21行的第14列和第15列的值之间进行线性内插,来计算计算为在第20.2行第14.5列处的像素处的强度值.(这里也正好说明了一般使用最相邻的像素点)

在这里插入图片描述
在这里插入图片描述

双线性插值的直观展示

在这里插入图片描述
在这里插入图片描述

我们可以看出这里的是在一个平面的双线性插值(Bilinear)

意义

此算法减少了由于将图像调整大小为非整数缩放因子而导致的某些视觉失真

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130489.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 双线性插值
    • 简介
      • 作用
        • 单线性插值
          • 双线性插值的公式
            • 双线性插值的例子
              • 双线性插值的直观展示
                • 意义
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档