文章目录
CV — 双线性插值算法
一、概念
-
双线性插值:
-
双线性插值,又称为双线性内插。在数学上,双线性插值是对线性插值在二维直角网格上的扩展,用于对双变量函数(例如 x 和 y)进行插值。其核心思想是在两个方向分别进行一次线性插值。
-
示例:
-
附:维基百科–双线性插值:

我们已知函数 f 在 Q11 = (x1,y1),Q12 = (x1,y2),Q21 = (x2,y1),Q22 = (x2,y2) 四个点的值,我们想得到未知函数 f 在点 P = (x,y) 的值。
- 步骤如下:
- 首先在 X 方向进行线性插值,得到:

- 然后在 y 方向进行线性插值,得到:
以上便是采用双线性插值,得到的 P (x,y) 的值 f(x,y)。
- 首先在 X 方向进行线性插值,得到:
- 步骤如下:
-
注意此处如果先在 y 方向插值、再在 x 方向插值,其结果与按照上述顺序双线性插值的结果是一样的。
-
-
二、双线性插值函数
- 插值法是一种根据原图(source)图片信息构造目标图像(destination)的方法。而其中的双线性插值法是一种目前使用较多的插值方法,他在精度和计算量之间有较好的权衡,所以使用较为广泛。
1.最近邻插值法
给定一个图片像素的矩阵,将1个3∗33∗3尺寸的矩阵使用最近邻插值法到4∗4的矩阵
[ 1 2 3 4 5 6 7 8 9 ] (src) \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}\tag{src} ⎣⎡147258369⎦⎤(src)
⟹
[ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ] (dst) \begin{bmatrix} ?& ?& ?& ? \\ ?& ?& ?& ? \\ ?& ?& ?& ? \\ ?& ?& ?& ? \end{bmatrix}\tag{dst} ⎣⎢⎢⎡???????</

本文详细介绍了双线性插值算法的概念、原理及应用,对比了最近邻插值法,深入解析了OpenCV中resize函数的优化策略,通过Python代码实现了算法,并展示了直观效果对比,探讨了精度偏差问题。
源码分析&spm=1001.2101.3001.5002&articleId=104720100&d=1&t=3&u=7d40691593e24d89bb8621a5a1c257ff)
6412

被折叠的 条评论
为什么被折叠?



