【matlab】代码库-双线性插值

interp_2D函数:实现双线性插值

摘要:该MATLAB函数interp_2D实现了二维双线性插值算法。函数接受两个点的坐标及其对应的查找表点,通过fund_updowm辅助函数确定相邻点位置后,先在x方向进行线性插值生成中间值,再在y方向进行插值计算最终结果。算法能正确处理边界情况(当点位于查找表节点时直接取值),适用于二维网格数据的插值计算。

matlab 复制代码
function out = interp_2D(point1,lut_ponit1,point2,lut_ponit2,lut)
%双线性插值计算公式
%    point1  |  注:ripple
%    point2  _  注:Gray


[x_down,x_up]=fund_updowm(point1,lut_ponit1);
[y_down,y_up]=fund_updowm(point2,lut_ponit2);

[V,H]=size(lut_ponit1);
num_point1=max(H,V);
[v,h]=size(lut_ponit2);
num_point2=max(h,v);

new_lut=zeros(num_point2,1,'double');
if x_down~=x_up
    for i=1:num_point1
        new_lut(i,1)=lut(i,x_down)+(point1-x_down)*(lut(i,x_up)-lut(i,x_down))/(x_up-x_down);
    end
else
    new_lut(:,1)=lut(:,x_down);
end

if y_down~=y_up
   
    out=double(new_lut(y_down)+(point2-lut_ponit2(y_down))*(new_lut(y_up)-new_lut(y_down))/(lut_ponit2(y_up)-lut_ponit2(y_down)));
   
else
    out=double(new_lut(y_down));
end



end
相关推荐
你这个代码我看不懂6 小时前
Java软引用对象的创建以及对象回收
java·开发语言
qq_417695056 小时前
C++中的中介者模式
开发语言·c++·算法
xiangpanf6 小时前
PHP爬虫框架:Goutte vs Panther
开发语言·c++·vue.js·php
~无忧花开~6 小时前
React元素渲染:核心概念全解析
开发语言·前端·javascript·react.js
像素猎人6 小时前
pair<类型1, 类型2> 变量名的介绍,自用笔记
开发语言·c++·算法
向往着的青绿色6 小时前
完全平方数【Letcode279题解】
开发语言·c++·数学·算法·面试·性能优化·动态规划
佩奇大王6 小时前
P103 日期问题
java·开发语言·算法
酉鬼女又兒6 小时前
零基础入门前端JavaScript 基础语法详解(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·chrome·蓝桥杯
计算机安禾6 小时前
【C语言程序设计】第38篇:链表数据结构(二):链表的插入与删除操作
c语言·开发语言·数据结构·c++·算法·链表
oem1106 小时前
C++中的适配器模式
开发语言·c++·算法