数字图像处理双线性插值



如果在数字图像处理中,我使用双线性插值进行图像缩放,如果缩放系数为1.5倍,则如何表示物理矩阵结构中的1.5列?

这是插值如何工作的快速草图:

假设您正在从大小NXN的图像到大小MXM的图像。

步骤1:创建大小MXN的中间图像。二维目前保持不变。我们仅沿着第一个维度插入。

因此,对于每个图像行,输入为n值,我们生成M值。假设输入值的坐标为0、1、2、3,... n-1。输出值的坐标为0,N/M,2*n/m,... n-1。这给了您分数坐标。

对于每个输出值,插值输入值。例如,第四输出值为3*n/m。在位置floor(3*N/M)ceil(3*N/M)上选择输入值,然后计算线性插值值。

步骤2:创建大小m*m的输出图像,并沿第二维重复上面的每行的过程,再次从n个样品到M样品。

如果1D插值是一个单独的函数,则此过程确实很容易实现。许多人将直接实现双线性插值作为2D操作,计算每个输出值的2D坐标。但是,将其作为可分离的转型实施有很多好处。例如,它可以轻松地将插值方法更改为立方,兰开斯甚至B-Splines,因为它都是1D。将过程从2D图像扩展到3D图像也很容易。

最新更新