最邻近插值算法

1. 算法简介

各种插值算法以及图像相关基础知识介绍在笔者之前的博客《CV学习笔记-数字图像概述》中已经详细介绍,在此仅作简单介绍:
最邻近插值The nearest interpolation

设i+u, j+v (i, j为正整数, u, v为大于零小于1的小数,下同)为待求象素坐标,则待求象素
灰度的值 f(i+u, j+v) 如下图所示:

简而言之,就是在放大图像时,用最近的已有像素点替代不存在的像素点(因为放大图像,像素点变多,需要用已有的像素点按照比例去给像素值赋值),由于算法简单,所以效果远不如双线性插值。

2.源码示例解析

读入测试图片后,使用nearestInterp方法进行处理,得到处理后的输出对象out,并将原图与处理后的图像一并展示。
nearestInterp方法中使用的参数是将图像放大到800,故新生成图片的两个维度的值(i,j)与原图像中两个维度(x,y)的映射关系编写思路是:

同理得y = j /s w 

这样就得到了(x,y)到(i,j)的映射关系,由于像素值均为整数序列对,故强制取整,也是最邻近的体现。

3.效果

由于最邻近插值的算法简单,导致效果一般,有肉眼可见的模糊点。