图像双线性插值
来源:互联网 发布:游戏美工收入 编辑:程序博客网 时间:2024/05/21 10:45
双线性内插值算法描述如下:
对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v) (其中i、j均为浮点坐标的整数部分,u、v为浮点坐标的小数部分,是取值[0,1)区间的浮点数),则这个像素得值 f(i+u,j+v) 可由原图像中坐标为 (i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:
f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)
其中f(i,j)表示源图像(i,j)处的的像素值,以此类推。
比如,象刚才的例子,现在假如目标图的象素坐标为(1,1),那么反推得到的对应于源图的坐标是(0.75 , 0.75), 这其实只是一个概念上的虚拟象素,实际在源图中并不存在这样一个象素,那么目标图的象素(1,1)的取值不能够由这个虚拟象素来决定,而只能由源图的这四个象素共同决定:(0,0)(0,1)(1,0)(1,1),而由于(0.75,0.75)离(1,1)要更近一些,那么(1,1)所起的决定作用更大一些,这从公式1中的系数uv=0.75×0.75就可以体现出来,而(0.75,0.75)离(0,0)最远,所以(0,0)所起的决定作用就要小一些,公式中系数为(1-u)(1-v)=0.25×0.25也体现出了这一特点。
对于一个目的像素,设置坐标通过反向变换得到的浮点坐标为(i+u,j+v) (其中i、j均为浮点坐标的整数部分,u、v为浮点坐标的小数部分,是取值[0,1)区间的浮点数),则这个像素得值 f(i+u,j+v) 可由原图像中坐标为 (i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:
f(i+u,j+v) = (1-u)(1-v)f(i,j) + (1-u)vf(i,j+1) + u(1-v)f(i+1,j) + uvf(i+1,j+1)
其中f(i,j)表示源图像(i,j)处的的像素值,以此类推。
比如,象刚才的例子,现在假如目标图的象素坐标为(1,1),那么反推得到的对应于源图的坐标是(0.75 , 0.75), 这其实只是一个概念上的虚拟象素,实际在源图中并不存在这样一个象素,那么目标图的象素(1,1)的取值不能够由这个虚拟象素来决定,而只能由源图的这四个象素共同决定:(0,0)(0,1)(1,0)(1,1),而由于(0.75,0.75)离(1,1)要更近一些,那么(1,1)所起的决定作用更大一些,这从公式1中的系数uv=0.75×0.75就可以体现出来,而(0.75,0.75)离(0,0)最远,所以(0,0)所起的决定作用就要小一些,公式中系数为(1-u)(1-v)=0.25×0.25也体现出了这一特点。
阅读全文
0 0
- 图像双线性插值算法
- 图像双线性插值
- 双线性插值-图像旋转
- 【图像处理】双线性插值
- 图像双线性插值
- 图像双线性插值
- 图像缩放双线性插值算法
- 图像放大并用双线性插值
- 双线性插值实现图像缩放
- 图像缩放之双线性插值
- 图像旋转 双线性插值 c++
- 【VC图像处理】双线性插值
- 图像缩放by双线性插值
- C++ 双线性插值缩放图像
- C++ 双线性插值缩放图像
- 基于YUV422的图像缩放 (双线性插值)
- 双线性插值图像放大/缩小算法
- 图像缩放双线性插值算法[zz]
- Windows安装配置theano,Python3.6
- 《简明Python教程》之基础
- DEV组件LookupEdit,ComboBoxEdit绑定数据源
- Rxjava editText 实现searchview的功能
- react-native 的 TabBarIOS 组件(底部选择器)
- 图像双线性插值
- awk统计各个接口调用次数
- @keyframes详解与实例
- 分组类控件(Panel)分组框控件(groupBox)和选项卡控件(TabControl)
- Request Payload 和 Form Data 的区别
- [转]WINDOWS下一个文件夹最多可以放多少个文件--终于找到答案了
- 【转】配置Log4j
- c# out与ref
- 航延险项目 java web开发是前端验证好还是后端验证好?