双线性插值的原理网上资料非常多,本文重点介绍双线性插值实现的两种方式: 角对齐(coner_align = True)
和 边对齐(coner_align = False)
。两种不能的方式下去实现双线性插值,目标图像中的每个像素点,它是如何计算取值的,本文会通过原理结合代码
的方式将实现细节讲清楚。
1. 原理
我们会把每个像素看成一个1x1的正方形,图中红色点表示像素的中心点。假设我们的目标是将3x3
的图像,通过双线性插值的方式,上采样到5x5
的图像。主要的实现步骤如下:
(1) 首先将目标图像缩放到原图尺寸
两种不同的对齐方式,目标图像到原图的缩放比率scale是不一样的。
角对齐
:4个角点的像素中心点和原图像4个角点的像素中心点是对齐的
, 按照这种对齐方式将目标图像缩放到原图边对齐
:目标图像的4条边和原图像的4条边是对齐的
,按照这种对齐方式将目标图像缩放到原图。
因此,这两种对齐方式,目标图像缩放到原图的缩放比率
是不一样的。很明显,角