图形学初识--双线性插值算法

news2024/9/24 9:27:37

文章目录

  • 为什么需要双线性插值算法?
  • 双线性插值算法是什么?
  • 如何双线性插值?
  • 结尾:喜欢的小伙伴可以点点关注+赞哦

为什么需要双线性插值算法?

ChatGP回答: 双线性插值(bilinear interpolation)是一种常用的插值方法,用于在二维空间内估算未知点的值。它主要应用于图像处理、计算机视觉、地理信息系统(GIS)、数值分析和其他需要在二维数据中进行平滑过渡的领域。

白话解释: 在二维图像数据中,它的坐标都是整数,例如: ( 1 , 1 ) , ( 52 , 53 ) (1,1),(52,53) (1,1),(52,53)这种,但是如果在某种算法计算中,需要获取 ( 50.5 , 100.3 ) (50.5,100.3) (50.5,100.3) 类似这种坐标的像素值,常规就两种思路:

1、最近取值。这里就是直接取 ( 50 , 100 ) (50, 100) (50,100)​的像素值

2、邻近插值。这里就是利用 ( 50 , 100 ) , ( 51 , 100 ) , ( 50 , 101 ) , ( 51 , 101 ) (50, 100),(51, 100),(50, 101),(51, 101) (50,100),(51,100),(50,101),(51,101) 这几个坐标像素值的组合

上述的第二种思路: 其实就是双线性插值。

在本章节中,主要解决的问题就是: 大区域应用低分辨率纹理,避免过于离谱的马赛克(像素风)效果!

如下图: 左图就是最近邻取值,右图就是双线性插值!

在这里插入图片描述

双线性插值算法是什么?

已知图像的四个位置的像素值, f ( x 0 , y 0 ) = v 0 , f ( x 1 , y 0 ) = v 1 , f ( x 0 , y 1 ) = v 2 , f ( x 0 1 , y 1 ) = v 3 f(x_0, y_0) = v0, \quad f(x_1, y_0) = v1, \quad f(x_0, y_1) = v2, \quad f(x_01, y_1) = v3 f(x0,y0)=v0,f(x1,y0)=v1,f(x0,y1)=v2,f(x01,y1)=v3

计算 f ( x , y ) = ? ( x 0 < x < x 1 且 y 0 < y < y 1 ) f(x, y) = ? \quad (x_0 < x < x_1 \quad且\quad y_0 < y < y_1) f(x,y)=?(x0<x<x1y0<y<y1)

如何双线性插值?

问题描述: 已知直线起始端点 p 0 = ( x 0 , y 0 ) p_0 = (x_0, y_0) p0=(x0,y0) p 1 = ( x 1 , y 1 ) p_1 = (x_1, y_1) p1=(x1,y1) f ( p 0 ) = v 0 f(p_0) = v_0 f(p0)=v0 f ( p 1 ) = v 1 f(p_1) = v_1 f(p1)=v1,求直线上任意一点 p = ( x , y ) p=(x,y) p=(x,y) f ( p ) = ? f(p) = ? f(p)=?

如下图所示:

在这里插入图片描述

双线性插值指两次线性插值: 可以先插值x再插值y,也可以先插值y再插值x。咱们这里先x,再y。

1、连接 ( x 0 , y 0 ) 和 ( x 1 , y 0 ) (x_0, y_0)和(x_1,y_0) (x0,y0)(x1,y0) ( x 0 , y 1 ) 和 ( x 1 , y 1 ) (x_0, y_1)和(x_1,y_1) (x0,y1)(x1,y1), 将 ( x , y ) (x,y) (x,y) 投影到两条两条直线上,交点分别为: ( x , y 0 ) 和 ( x , y 1 ) (x,y_0)和(x,y_1) (x,y0)(x,y1)

如下图所示:

在这里插入图片描述

咱们分别计算: f ( x , y 0 ) 和 f ( x , y 1 ) f(x, y_0)和f(x,y_1) f(x,y0)f(x,y1)
f ( x , y 0 ) = x − x 0 x 1 − x 0 ∗ f ( x 1 , y 0 ) + x 1 − x x 1 − x 0 ∗ f ( x 0 , y 0 ) f ( x , y 1 ) = x − x 0 x 1 − x 0 ∗ f ( x 1 , y 1 ) + x 1 − x x 1 − x 0 ∗ f ( x 0 , y 1 ) f(x, y_0) = \frac{x-x_0}{x_1-x_0} * f(x_1, y_0) + \frac{x_1-x}{x_1-x_0} * f(x_0, y_0)\\ f(x, y_1) = \frac{x-x_0}{x_1-x_0} * f(x_1, y_1) + \frac{x_1-x}{x_1-x_0} * f(x_0, y_1) f(x,y0)=x1x0xx0f(x1,y0)+x1x0x1xf(x0,y0)f(x,y1)=x1x0xx0f(x1,y1)+x1x0x1xf(x0,y1)

这里的思路就不用解释了吧,前面文章关于直线线性插值已经讲过了,不懂的小伙伴可以回去翻翻哦!

2、通过 f ( x , y 0 ) 和 f ( x , y 1 ) f(x,y_0)和f(x,y_1) f(x,y0)f(x,y1)​ 的值,再做一次插值得到 f ( x , y ) f(x,y) f(x,y)

f ( x , y ) = y 1 − y y 1 − y 0 ∗ f ( x , y 0 ) + y − y 0 y 1 − y 0 ∗ f ( x , y 1 ) f(x,y) = \frac{y_1 - y}{y_1-y_0} * f(x,y_0) + \frac{y - y_0}{y_1-y_0} * f(x,y_1) f(x,y)=y1y0y1yf(x,y0)+y1y0yy0f(x,y1)

大功告成,是不是很简单呢!

结尾:喜欢的小伙伴可以点点关注+赞哦

希望对各位小伙伴能够有所帮助哦,永远在学习的道路上伴你而行, 我是航火火,火一般的男人!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1701507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【UE5.1 角色练习】08-传送技能

前言 在上一篇&#xff08;【UE5.1 角色练习】07-AOE技能&#xff09;基础上继续实现人物通过鼠标点击然后传送技能的功能。 效果 步骤 1. 首先需要显示鼠标光标&#xff0c;我们可以在玩家控制器中勾选“显示鼠标光标” 2. 在项目设置中添加一个操作映射&#xff0c;设置按…

助力企业标准化搭建--图框模板的创建

古有秦皇书同文、车同轨&#xff0c;今各行各业都有国际标准、国家标准&#xff0c;其目的就是为了标准化、统一化&#xff0c;由此可见标准化的重要性&#xff1b;一个企业若是想规范员工的操作&#xff0c;推行标准化也很重要&#xff1b;因此对于需要绘制电气图纸的行业来说…

路由器交换机直连方案(RM50+RTL8367N)

不经过网口和变压器&#xff0c;实现板级网口扩展。 通过网口&#xff0c;网线连接 板级芯片直接连接&#xff0c;验证OK 激光导航控制板通过路由器上网成功

linux定时任务管理操作

1、Crontab命令格式 crontab [-u username] [-l|-e|-r] 参数&#xff1a; -u: 只有root才能进行这个任务&#xff0c;也即帮其他用户新建/删除crontab工作调度; -e: 编辑crontab 的工作内容; -l: 查阅crontab的工作内容; -r: 删除所有的crontab的工作内容&#xff0c;若仅…

LangChain 0.2 - 对话式RAG

文章目录 一、项目说明二、设置1、引入依赖2、LangSmith 三、Chains1、添加聊天记录Contextualizing the question聊天记录状态管理 2、合并 四、Agents1、检索工具2、代理建造者3、合并 五、下一步 本文翻译整理自&#xff1a;Conversational RAG https://python.langchain.co…

【电控实物-PMSM】

遗留问题 电流环闭环 电流环频率会受到编码器回传频率影响&#xff1f; Ld&Lq辨识 L观测器设计验证 滑膜观测器/高频注入 前馈&#xff08;加大负载&#xff09; 各种电流控制模式&#xff1a; 参数辨识 Ld&Lq

Latex:newcommand

参考文献&#xff1a; latex中自定义的命令———\newcommand-CSDN博客LaTeX技巧924&#xff1a;详解newcommand的参数和默认值 - LaTeX工作室 (latexstudio.net) 文章目录 (re)newcommand自定义的一些命令 (re)newcommand ”定义命令“ 的定义&#xff1a; \newcommand{<…

Oladance、韶音、南卡开放式耳机选哪个?2024年主流产品硬核测评!

近期&#xff0c;不少朋友向我咨询关于挑选开放式耳机的建议&#xff0c;希望找到既适合自己又具有高品质的选项。鉴于市场上开放式耳机品牌繁多&#xff0c;每款产品在音质、佩戴感受及整体性能上的表现各有千秋&#xff0c;正确选择一款耳机成为了音乐爱好者们关注的焦点。错…

147.栈与队列:滑动窗口最大值(力扣)

代码解决 class Solution { private:class MyQueue{public:deque<int> que;// 删除队列中的元素&#xff0c;如果该元素等于队列的front// 这是为了保持队列中元素的正确性void pop(int val){if(!que.empty() && val que.front()){que.pop_front();}}// 添加元素…

ABeam 德硕 Team Building | SDC Green Day——环保公益行动

山野好拾光 春日公益行 继上年度大连办公室Green Day活动的顺利举办&#xff0c;环保的理念更加深入到ABeam每一位员工的心中。春日天气晴好&#xff0c;西安办公室的小伙伴们也迫不及待来上一场说走就走的Green Day Outing活动。 本次环保公益行动主题为「夏日Go Green畅享山…

AI预测体彩排3采取888=3策略+和值012路一缩定乾坤测试5月27日预测第3弹

今天继续基于8883的大底进行测试&#xff0c;今天继续测试&#xff0c;好了&#xff0c;直接上结果吧~ 首先&#xff0c;888定位如下&#xff1a; 百位&#xff1a;7,6,8,5,9,2,0,1 十位&#xff1a;1,2,4,3,6,7,8,9 个位&#xff1a;2,1,0,3,4,5,6,7 …

amis 文件上传 大文件分块上传

amis 图片/文件上传组件 receiver&#xff1a;参数配置为上传接口。 {"type": "input-image", // "type": "input-file","label": "照片","name": "url", "imageClassName": &qu…

德勤:中国、印度等对ChatGPT等生成式AI应用,处领先地位

全球四大会计事务所之一的德勤&#xff08;Deloitte&#xff09;在官网发布了一份&#xff0c;名为《Generative AI in Asia Pacific: Young employees lead as employers play catch-up》的深度调查报告。 主要查看中国、澳大利亚、印度、日本、新加坡、韩国、中国台湾等亚太…

RocketMq源码解析三:路由管理

Nameserver的主要作用是为消息的生产者和消息消费者提供关于主题Topic的路由信息&#xff0c;那么Nameserver需要存储路由的基础信息&#xff0c;还要管理Broker节点&#xff0c;包括路由注册、路由删除等。 一、路由元数据 路由元数据主要保存了topic信息&#xff0c;broker信…

蓝卓入选工信部2023年度“揭榜挂帅”项目

蓝卓“面向多元异构和应用快速开发演化的智能工厂操作系统解决方案”&#xff0c;凭借行业领先的平台技术能力以及数智赋能的硬核实力成功揭榜挂帅。 本次入选不仅代表了蓝卓又一次获得工信部权威专家及国家认可&#xff0c;更是“工厂操作系统”首次在国家层面获得表彰。 智能…

海外网红营销新趋势:“快闪式”营销如何迅速提升品牌曝光度

在当今数字化时代&#xff0c;海外网红营销已成为品牌迅速触达全球消费者、提升品牌曝光度和刺激销售的重要手段。其中&#xff0c;“快闪式”营销以其独特的时效性、创意性和互动性&#xff0c;成为品牌与海外网红合作的新趋势。本文Nox聚星将和大家探讨如何利用海外网红的影响…

【Go专家编程——内存管理——逃逸分析】

逃逸分析 逃逸分析&#xff08;Escape Analysis&#xff09;是指由编译器决定内存分配的位置&#xff0c;不需要程序员决定。 在函数中申请一个新的对象 如果分配在栈上&#xff0c;则函数执行结束后可自动将内存回收如果分配在堆上&#xff0c;则函数执行结束后可交给GC&…

二叉搜索树BST ——(C++)

本篇将会讲解有关二叉树的搜索原理&#xff0c;以及关于二叉搜索树的建立&#xff0c;以及二叉树搜索树的插入、删除和查找等基本操作。最后我们还会对二叉搜索树进行功能扩展&#xff0c;介绍有关搜索二叉树的 K 模型和 KV 模型。目录如下&#xff1a; 目录 1. 搜索二叉树 二叉…

决策树与机器学习实战【代码为主】

文章目录 &#x1f6f4;&#x1f6f4;引言&#x1f6f4;&#x1f6f4;决策树使用案例&#x1f6f4;&#x1f6f4;numpy库生成模拟数据案例&#x1f6f4;&#x1f6f4;决策树回归问题&#x1f6f4;&#x1f6f4;决策树多分类问题 &#x1f6f4;&#x1f6f4;引言 决策树是一种经…