图像插值
对图像进行升采样时,新图像的像素点并不是与原图一一对应的,因此我们需要用插值的方法确定每个像素点的亮度。
最近邻插值
特点:不改变值域,值域间没有加减计算。
通常用于二值化后的图像,或者用于图像修补、语义分割等任务的 Mask 图像。这类图像的像素值是分类数据,加减、线性插值没有意义。
在 Python opencv 中,使用 cv2.resize(img, size, interpolation=cv2.INTER_NEAREST) 可以进行双三次插值。
双线性插值
原理如下:

双三次插值
通常简写为 bicubic,使用最广泛的插值算法。

在 Python opencv 中,使用 cv2.resize(img, size, interpolation=cv2.INTER_CUBIC) 可以进行双三次插值。该方法不要求 img 是整数矩阵,也就是可以对浮点数进行插值。
在 Python pillow 库(PIL)中,使用 img.resize((h, w), resample=Image.BICUBIC) 方法,对 img 进行双三次插值。
在 pytorch 中,使用 torch.nn.functionals.interpolate() 进行双三次插值,输入的图像格式与 CNN 相同,须为四维张量 B \times C \times H \times W,B 为通道数。
BEYOND THE ARTICLE
读完了,有什么想法?
阅读已保存的问答示例,并循着引用回到原文。
— 本文完 — 返回文章列表