图像插值的五种方式

INTER_NEAREST

对于最近邻插值,该块将附近转换后的像素值的值用作输出像素值。

例如,假设此矩阵我们以这个矩阵为例:
图像插值的五种方式_第1张图片
以上代表您的输入图像。 您想使用最近邻插值在正水平方向上将此图像平移1.7像素。 以下步骤说明了块的最近邻插值算法
图像插值的五种方式_第2张图片
从而得到我们最后的结果:
图像插值的五种方式_第3张图片

INTER_LINEAR

对于双线性插值,该块对每个输出像素值使用两个转换像素值的加权平均值。
还是一上面哪个初始的矩阵为例,这次我们想使用双线性插值将此图像在水平正方向平移0.5像素。 以下步骤说明了Translate块的双线性插值算法:
图像插值的五种方式_第4张图片
通过用任一侧的转换值的加权平均值替换每个输入像素值来创建输出矩阵。 结果是以下矩阵,其中输出矩阵比输入矩阵多一列:
图像插值的五种方式_第5张图片
算法过程以下图为例:
图像插值的五种方式_第6张图片
四个Q已知,我们需先找到x然后y然后求出P

在这里插入图片描述

INTER_AREA

如果要在每个方向上将图像缩小2倍,则可以通过以下方式调用该函数:
resize(src, dst, Size(), 0.5, 0.5, interpolation);
要缩小图像,通常使用CV_INTER_AREA插值时效果最佳,而要放大图像,通常使用CV_INTER_CUBIC(速度慢)或CV_INTER_LINEAR(速度更快,但仍然可以看到)最好。

INTER_CUBIC

通过考虑最接近的4x4已知像素邻域,Bicubic比双线性迈出了一步,共计16个像素。 由于这些像素与未知像素之间的距离不同,因此在计算中,较近的像素将具有较高的权重。 与以前的两种方法相比,Bicubic可以产生明显更清晰的图像,并且可能是处理时间和输出质量的理想组合。 因此,它是许多图像编辑程序(包括Adobe Photoshop),打印机中的标准

INTER_LANCZOS4

Lanczos重采样使用卷积核对输入图像的像素进行插值,以便计算输出图像的像素值。 Lanczos卷积核k(x)定义为:
在这里插入图片描述
该算法的效果非常好但是很耗时。

你可能感兴趣的:(图像插值的五种方式)