插值法公式(常用插值算法详解)

/ 0评 / 0

插值法公式(常用插值算法详解)

做图像处置的同窗应当经常都会用到图像的缩放,我们都知道图片存储的时候其实就是一个矩阵,所以在对图像进行缩放操作的时候,也就是在对矩阵进行操作,如果想要将图片放大,这里我们就须要用到过采样算法来扩展矩阵,如果想要缩小图片就应用欠采样。

如上图所示,左图是原图像矩阵,右图是扩展后的图像矩阵,右图中的橙色点表现的是矩阵扩展之后通过插值算法填充的像素值。所以,这篇文章我们重要探讨的就是如何来通过插值算法来填充像素值

相干函数介绍

在opencv中供给了一个resize函数用来调剂图像的大小,里面供给了好几种不同的插值算法,如下图所示

这里我们重要介绍最常用的前5中插值算法,最后两种插值算法重要是运用在仿射变换中,cv.WARP_FILL_OUTLIERS在从src到dst变换的时候可能会涌现异常值,通过这个设定可以将异常值的像素置0。而cv.WARP_INVERSE_MAP是运用在仿射变换的逆变换,从dst到src的变换,关于仿射变换的更多资料可以参考我的上篇文章一文搞懂仿射变换

插值算法后果比较

我们通过随机生成一个55的图片,然后通过不同的插值算法将其放大10倍之后,来比较最终图片的后果。

如果大家认为灰度图不便利视察,我们可以通过设置plt.imshow的cmap参数来掌握色彩,matplotlib供给了几种不同的类别的颜色映射方法

cmap的类别