一、引言

双线性插值作为一种比较简单的二维插值方法,常用于曲面插值或者图像插值。双线性插值需要已知四个角点坐标(xi,yi,zi),i=1,2,3,4,然后以此构建一张曲面片,即插值曲面。根据这四个已知角点,利用双线性插值函数,就可以计算该插值曲面片内部各点处的函数值,也可以用来预测该插值曲面片外部邻近区域的函数值。

二、双线性插值公式推导

如下图所示曲面片,四个角点坐标已知,对应的xoy平面矩形区域。

1)根据点A和点B建立直线AB方程,坐标是(x’,y1,z’):

2)根据点C和点D建立直线CD方程,坐标是(x’’,y2,z’’):

3)以直线AB和直线CD为端点,建立同时垂直于AB与CD的直线:

4)将式(1)和式(2)代入式(3)得:

该函数就是双线性插值函数。(虽然该公式看着稍微有点烦,但是你不能不说它很简单)

当四个角点分别是图像相邻的四个角点时,且假设其中一个角点(x1,y1)位于原点,由于相邻的像素距离是1,所以上式中的分母都是1,则可以得到图像上相邻四个像素构成的曲面片的插值函数为:

此公式即为图像的双线性插值公式。(图像的双线性插值原来如此简单

二、曲面片的双线性插值实例(纯纯的手工,非interp1)

例1. 已知某曲面的四个角点坐标分别为( 0.1, 0.1 ), ( 0.1, 1.2 ), ( 1.1, 0.1 ), ( 1.1, 1.2 ),利用双线性插值完成该曲面插值,绘制插值插值之后的曲面片。

1)绘制四个角点构成曲面网格图:

参考代码:

clear all

clc

x = [ 0.1, 0.1; 1.1, 1.1 ];

y = [ 0.1, 1.2; 0.1, 1.2 ];

z = [ 1, 0.3; 1.9, 0.6 ];

plot3( x, y, z, 'ro' )

hold on

mesh( x, y, z )

colormap winter

colorbar

axis( [ -0.1, 1.2, -0.1, 1.2, 0, 2 ] )

hidden off

运行结果如下:

2)绘制利用曲面片内部插值点生成的网格曲面片

[ xi, yi ] = meshgrid( [ 0.1 : 0.1 : 1 ] );

x1 = x(1, 1);

x2 = x(2, 1);

y1 = y(1, 1);

y2 = y(1, 2);

z1 = z(1, 1);

z2 = z(2, 1);

z3 = z(1, 2);

z4 = z(2, 2);

x2_1 = x2 - x1;

y2_1 = y2 - y1;

yi_1 = yi - y1;

xi_1 = xi - x1;

zi = ( yi_1 .* xi_1 * ( z1 - z2 - z3 + z4 ) ) / ( x2_1 .* y2_1 ) ...

+ ( yi_1 .* ( z3 - z1 ) ) / y2_1 + ( xi_1 .* ( z2 - z1 ) ) / x2_1 + z1;

mesh( xi , yi, zi )

colormap spring

axis( [ -0.1, 1.2, -0.1, 1.2, 0, 2 ] )

colorbar

运行结果:

3)增加外部插值点之后得到的插值曲面

参考代码:(只需要修改横坐标和纵坐标取值范围即可)

[ xi, yi ] = meshgrid( [ -0.5 : 0.1 : 1.5 ] );

x1 = x(1, 1);

x2 = x(2, 1);

y1 = y(1, 1);

y2 = y(1, 2);

z1 = z(1, 1);

z2 = z(2, 1);

z3 = z(1, 2);

z4 = z(2, 2);

x2_1 = x2 - x1;

y2_1 = y2 - y1;

yi_1 = yi - y1;

xi_1 = xi - x1;zi = ( yi_1 .* xi_1 * ( z1 - z2 - z3 + z4 ) ) / ( x2_1 .* y2_1 ) ...

+ ( yi_1 .* ( z3 - z1 ) ) / y2_1 + ( xi_1 .* ( z2 - z1 ) ) / x2_1 + z1;

mesh( xi , yi, zi )

colormap spring

axis( [ -0.5, 1.6, -0.5, 1.6, -1, 3 ] )

colorbar

运行结果:

双线性插值公式推导及Matlab实现相关推荐

  1. FCM模糊C均值聚类分析(Fuzzy C-means)公式推导与MATLAB程序

    如何快速上手FCM,无疑是理论公式推导结合实战程序,话不多说,直接进入正题. 1 理论公式推导 1.1 目标函数构建 1.2 隶属度公式推导 1.3 聚类中心公式推导 2 MATLAB实例代码 文件运 ...

  2. CRC并行运算原理分析,公式推导及MATLAB实现,并行CRC Verilog代码生成

    本文参考了博客:https://blog.csdn.net/qq_16923717/article/details/83826856,但是对文章里面的推导和MATLAB实现有点看不太懂+ +,但是这篇 ...

  3. 直方图均衡化 原理、流程、公式推导及matlab实现

    附上按照上述流程实现的MATLAB代码: clc;close all;clear all; H= imread('测试图\lena512.bmp'); H=H(:,:,1); %判断是否为三通道彩色图 ...

  4. 贝塞尔曲线(Bezier Curve)原理、公式推导及matlab代码实现

    1. 定义 贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点, ...

  5. MATLAB 最小二乘法

    MATLAB实现最小二乘法 2017-04-17 15:10 2624人阅读 评论(0) 收藏 举报 分类: MATLAB(12) 作者同类文章X 版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  6. matlab实现彩色图像的直方图均衡化

    本篇用于记录用matlab实现彩色图像的直方图均衡化算法,并与matlab自带的直方图均衡化函数histeq做对比. 直方图原理可以参考下面的博客文章:直方图均衡化 原理.流程.公式推导及matlab ...

  7. CLAHE 算法学习 matlab

    1 clahe算法概念 概念可参考: CLAHE (Contrast Limited Adaptive Histogram Equalization)算法学习 2 clahe算法实现过程 CLAHE具 ...

  8. [参]FMCW的MATLAB仿真

    [参]FMCW的MATLAB仿真 1. https://www.mathworks.com/help/phased/examples/automotive-adaptive-cruise-contro ...

  9. 脉冲神经网络_【强基固本】脉冲神经网络(SNN)

    "强基固本,行稳致远",科学研究离不开理论基础,人工智能学科更是需要数学.物理.神经科学等基础学科提供有力支撑,为了紧扣时代脉搏,我们推出"强基固本"专栏,讲解 ...

  10. 小白学习图像处理3——图像旋转原理

    文章目录 一.图像旋转的原理 二.使用matlab实现 1.思路 2.实现代码 三.优化 1.思路 2.代码实现 3.使用双线性插值 四.matlab函数实现图像旋转 1.imrotate函数 2.i ...

最新文章

  1. C# 视频多人脸识别的实现过程
  2. C++palindrome partitioning回文分割算法的实现(附完整源码)
  3. webstrom打开通过顶部浏览器打开网页,被跳转到默认主页
  4. 【AVR ASF4库函数学习笔记】一、使用Microchip Studio图形化配置工程
  5. HDU4505 小Q系列故事——电梯里的爱情【水题】
  6. DBC2000有什么作用?DBC2000的安装与配置
  7. CAD图纸无法编辑修改怎么回事?
  8. 2023杭州电子科技大学考研分析
  9. 掌握企业邮箱3个好用的技巧,商务沟通安全又轻松!
  10. 51单片机:8051指令简介
  11. 数据有效性 动态选择
  12. 关于错误“未能加载文件或程序集”的错误的若干处理办法——对GAC的简单应用
  13. 怎么用ai做出适量插画_8个步骤,快速绘制矢量插画
  14. Leetcode 1628. Design an Expression Tree With Evaluate Function [Python]
  15. html form背景图片设置,input 提交表单按钮 背景图片的完美设置
  16. 计算机毕业设计ssm电脑销售管理系统
  17. 基于STM32的便携式多功能医用交互设备
  18. 工程项目建设数字化管理解决方案
  19. 土地利用总体规划数据库问题
  20. LintCode入门题目

热门文章

  1. 批量网刻安装操作系统之PXE网络克隆图文教程
  2. python google earth_如何用python编程控制GoogleEarth
  3. WEB2.0是什么东东?[转]
  4. WPF中加载高分辨率图片性能优化
  5. 数字电路与逻辑设计之集成触发器
  6. 软考系统集成项目管理工程师备考经验资料分享
  7. 软考中级网络工程师全面学习笔记第1版(近4万字)
  8. 噪音通道模型_噪声信道模型(NoiseChannelModel)
  9. 骑士CMS文件包含+getshell漏洞复现(python自动化验证扫描漏洞)
  10. 手机怎么打开html游戏,网页游戏打不开怎么解决 网页游戏打不开解决方法