我想实现本文给出的图像上采样的自适应双线性插值方法。但我被困在一个非常基本的问题上。
Matlab 中的 imresize() 通过在最近的 2x2 邻域中获取像素的加权平均值来执行双线性插值。
我想知道 Matlab 如何确定边界像素的这个 2x2 邻域?
我真正想知道的是我应该如何确定所附论文中边界像素的邻域,因为每个边界在至少 1 个方向上都没有邻域,例如,最上面的行不会有任何用于确定任何垂直上部遮罩的行,最左边的列将没有任何用于确定任何水平遮罩的列, 等等。
我举了 Matlab 的例子,以获得关于这种算法中的语言如何解决边界情况的直觉。
你提到的"2x2"邻域实际上是角落的强度。因此,您将在此 2x2 强度值内插值。
为了更好地理解,请尝试执行以下操作,然后您将看到输出:
I=[1 2; 100 200]
imresize(I,2, 'bilinear')
请注意,对于"双线性"插值,四个角是相同的,这与默认的"双立方"不同。希望有帮助。