码迷,mamicode.com
首页 > 其他好文 > 详细

双线性插值-推导和应用

时间:2019-06-30 20:42:06      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:放大   还需要   nbsp   先来   结果   推导   图像   png   info   

先来个新人的愚蠢问题:(这些都是本人之前不理解的 - -!)

为什么要使用双线性插值,它有何应用?

输入时什么,输出是什么?

 

先回答第一个问题-----

插值多应用于上采样(图片放大)中对放大像素的插值方法。 比如下图:

技术图片

在一幅2*2的图像中已知四点的像素值,那么如果我们要放大1/2变为右图所示,四个角的像素值不变,新增的5个像素该取什么值呢。所以这就是我们要处理的具体应用场景。

 

先来理解线性插值,理解了这个后双线性就可以类推了。

首先化为数学问题分析条件:

一幅图中,  已知:两个点(点具有坐标信息和点所取的值) ,求在两点直线上的一点的值(已知位置信息,值为未知数),

简而言之:已知两点的值求两点直线上一点的值。  已知 a0, a1, (x0,y0), (x1,y1), (x,y)  ---求 b

技术图片

 

 数学好的人心中大概已经知道该怎么求b的值了 ~~

 由于三角形相似 所以求b的值可用下面公式

技术图片

然后将这个公式展开,化简就可以得到如下公式

技术图片

看到这个大家就非常眼熟了,这就是很多博客或百度得出的结果公式,然后这就是这个公式的推理过程。

那知道了线性插值之后,那再讲双线性就非常easy的了 = =

首先,既然有了线性插值那我们为什么还需要双线性插值??

很简单,线性插值,插的值都是在两点连线上的点,而如果在二维平面上。我们要插入的点并不在连线上,这时候就引入双线性插值。

先来一张大家都很眼熟的图

技术图片

然后接着分析;  已知四个点的值和对应四个点的位置,我们求p点的对应值。

思路:将求解过程拆两步,先用已知的两个点,加上P点的一个位置信息x坐标值,求对应R1和R2;      然后利用R1,R2作为已知两点加上P点的位置信息y坐标,求得最终P点的值。

步骤一 : 和线性插值一样的道理,Q11和Q21作为已知点,求Q11和Q21线上的R1点的值

直接利用线性插值的公式带入 即可求出R1的值

步骤二:利用Q12和Q22作为已知点,求Q12和Q22线上的R2点的值

步骤三:利用R1和R2作为已知点,求R1和R2线上的P点的值

ps:先进行x轴计算和先进行y轴计算最终得到的答案是一样的。

 

这样就完成一次双线性插值。那回到最初的应用场景。

技术图片

这该如何插值呢?很简单-----由于像素与像素间距离都是1,所以只需求两个之间的平均即可。

技术图片

那在这种场景中,双线性的优势并没有体现出来,下面列举另一个场景:

假如在一幅4*4的图片中,我们需要提取一个3*3的目标,该目标出现在如图里面的位置,那么3*3的9个像素点值都得通过周围4个已知点进行双线性插值求得。

注意并不是方块代表像素点,这里使用交点代表像素点。也就是在4*4图片中定位3*3位置的像素。

技术图片

 

最后再回到开头提到的第二个问题。

我们双线性插值输入是四个点的值和四点内一点的位置。

                         输出是该位置点的值。

 

双线性插值-推导和应用

标签:放大   还需要   nbsp   先来   结果   推导   图像   png   info   

原文地址:https://www.cnblogs.com/bob-jianfeng/p/11110985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!