pytorch双线性插值

这篇博客详细介绍了图像处理中的插值技术,包括单线性、双线性和最近邻插值方法。重点讲解了双线性插值的原理,提供了一个简单的Python实现,并对比了PyTorch中的双线性插值操作。通过实例展示了不同插值方法对图像缩放的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、单线性插值

在这里插入图片描述

在这里插入图片描述
化简得:
重要公式
在这里插入图片描述
将y视为像素值的函数;

在这里插入图片描述

2、双线性插值

问题:求P点的像素值?

在这里插入图片描述

根据单线性插值公式:

1、得到R1和R2点的像素值:

在这里插入图片描述

2、然后通过R1和R2线性插值得到P点的像素值:

在这里插入图片描述

所以,一共使用了三次单线性插值得到,最终的像素值。

另外,其中由于相邻像素点差1,所以y2 - y1 = 1 ,和x2-x1 = 1,所以分母就为1.

最终得到的计算公式为:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、最近邻法

使用下面公式,寻找最近一个像素值
最近邻法
其中:
在这里插入图片描述

存在问题:右偏移

在这里插入图片描述
原公式是右偏移的,新公式中心对其了。

因为在原公式中是右偏移的,所以使用中心点重合来消除一下。

下面是优化公式:
在这里插入图片描述

4、双线性插值简单实现

通过最邻近找到P点,然后需要找到出四个相邻像素点。
在这里插入图片描述
通过floor函数找到下限,floor +1 找到上限,但是要防止超过图像的像素坐标值

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image


def Bilinear(dst,des_w,des_h,src_w,src_h):

    for c in</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值