图像插值算法--最邻近、双线性、双三次插值
来源:互联网 发布:域名反向解析作用 编辑:程序博客网 时间:2024/06/05 15:34
1、最邻近元法
这是最简单的一种插值方法,不需要计算,在待求象素的四邻象素中,将距离待求象素最近的邻象素灰度赋给待求象素。设i+u, j+v(i, j为正整数, u, v为大于零小于1的小数,下同)为待求象素坐标,则待求象素灰度的值 f(i+u, j+v) 如下图所示:
如果(i+u, j+v)落在A区,即u<0.5, v<0.5,则将左上角象素的灰度值赋给待求象素,同理,落在B区则赋予右上角的象素灰度值,落在C区则赋予左下角象素的灰度值,落在D区则赋予右下角象素的灰度值。
最邻近元法计算量较小,但可能会造成插值生成的图像灰度上的不连续,在灰度变化的地方可能出现明显的锯齿状。
2、双线性内插法
双线性内插法是利用待求象素四个邻象素的灰度在两个方向上作线性内插,如下图所示:
对于 (i, j+v),f(i, j) 到 f(i, j+1) 的灰度变化为线性关系,则有:
f(i, j+v) = [f(i, j+1) - f(i, j)] * v + f(i, j)
同理对于 (i+1, j+v) 则有:
f(i+1, j+v) = [f(i+1, j+1) - f(i+1, j)] * v + f(i+1, j)
从f(i, j+v) 到 f(i+1, j+v) 的灰度变化也为线性关系,由此可推导出待求象素灰度的计算式如下:
f(i+u, j+v) = (1-u) * (1-v) * f(i, j) + (1-u) * v * f(i, j+1) + u * (1-v) * f(i+1, j) + u * v * f(i+1, j+1)
双线性内插法的计算比最邻近点法复杂,计算量较大,但没有灰度不连续的缺点,结果基本令人满意。它具有低通滤波性质,使高频分量受损,图像轮廓可能会有一点模糊。
3、三次内插法
该方法利用三次多项式S(x)求逼近理论上最佳插值函数sin(x)/x, 其数学表达式为:
待求像素(x, y)的灰度值由其周围16个灰度值加权内插得到,如下图:
待求像素的灰度计算式如下:
f(x, y) = f(i+u, j+v) = ABC
其中:
三次曲线插值方法计算量较大,但插值后的图像效果最好。
最邻近插值(近邻取样法)、双线性内插值、三次卷积法 等插值算法对于旋转变换、错切变换、一般线性变换 和 非线性变换 都适用。
转载自 http://blog.csdn.net/u013146742/article/details/52923864
- 图像插值算法--最邻近、双线性、双三次插值
- Matlab 插值算法(最邻近、双线性、双三次插值)
- 图像最邻近插值算法,双线性插值算法
- 基于最邻近插值和双线性差值算法实现图像的旋转
- 图像处理中两种基本的插值算法(最邻近插值法和双线性内插法)
- 图像处理中两种基本的插值算法(最邻近插值法和双线性内插法)
- OpenCV 图像插值计算(双线性插值/双三次插值)
- 图像插值算法之双三次插值
- python 图像插值 最近邻、双线性、双三次
- 图像插值算法之双线性插值
- 最临近、双线性、三次卷积插值算法比较
- 最临近、双线性、三次卷积插值算法比较
- 最临近、双线性、三次卷积插值算法比较
- 最临近、双线性、三次卷积插值算法比较
- 最临近、双线性、三次卷积插值(图像放缩)
- 最临近、双线性、三次卷积插值(图像放缩)
- 使用双线插值算法缩放位图图像
- 图像缩放插值算法以及matlab简单实现(最近邻法、双线性插值法、三次卷积法)
- 时间管理
- 关于同步异步、阻塞非阻塞的理解
- 测试之代码检查错误罗列
- Android Fingerprint -- HAL层的初始化工作
- 8种对话框(Dialog)使用方法汇总
- 图像插值算法--最邻近、双线性、双三次插值
- ABP官方文档(四)【启动配置】
- Jquery append 方法在ie8不兼容问题
- gulp常见插件总结
- WebSocket+SockJs+STMOP
- ZXing 生成二维码和条形码
- jQuery
- Vue 创建项目
- UVA