高斯金字塔与拉普拉斯金字塔的原理与python构建

article/2025/8/15 4:17:59

转载自:https://zhuanlan.zhihu.com/p/94014493

高斯金字塔和拉普拉斯金字塔【1】在图像相关领域应用广泛,尤其是图像融合和图像分割方面。本文从理论和opencv实现两个方面对两种金字塔进行了介绍,并给出了二者的视觉效果。

 

1、高斯金字塔

在计算机视觉与图像处理相关任务中,经常需要使用同一张图的不同尺寸的子图,我们可以使用高斯金字塔来获取这些子图。高斯金字塔是通过对一张图逐级下采样获得的,如下图所示:

上图中最下层是原始的图像,越靠上的层图像尺寸越小,这一组图像就被称为高斯金字塔(在某些资料中,下采样之前需要首先进行高斯滤波,本文为了简化过程省略了这一步骤)。假设G0表示原始图像,Gi表示第i次下采样得到的图像,那么高斯金字塔的计算过程可以表示如下:

其中Down表示下采样函数,下采样可以通过抛去图像中的偶数行和偶数列来实现,这样图像长宽各减少二分之一,面积减少四分之一。opencv提供了pyrDown()函数用于下采样,代码如下:

def gaussian(ori_image, down_times=5):# 1:添加第一个图像为原始图像temp_gau = ori_image.copy()gaussian_pyramid = [temp_gau]for i in range(down_times):# 2:连续存储5次下采样,这样高斯金字塔就有6层temp_gau = cv2.pyrDown(temp_gau)gaussian_pyramid.append(temp_gau)return gaussian_pyramid

进行5次下采样可以获得下面得6级高斯金字塔(第1级为原始高分辨率图像):

可以看出,随着下采样的进行,图像的分辨率不断降低,视觉效果也越来越模糊。

 

2、拉普拉斯金字塔

拉普拉斯金字塔可以认为是残差金字塔,用来存储下采样后图片与原始图片的差异。我们知道,如果高斯金字塔中任意一张图Gi(比如G0为最初的高分辨率图像)先进行下采样得到图Down(Gi),再进行上采样得到图Up(Down(Gi)),得到的Up(Down(Gi))与Gi是存在差异的,因为下采样过程丢失的信息不能通过上采样来完全恢复,也就是说下采样是不可逆的。下面展示了一张图先进行下采样,再进行上采样的过程:

可以看出,原始图片下采样后得到的小尺寸图片虽然保留了视觉效果,但是将该小尺寸图像再次上采样也不能完整的恢复出原始图像。为了能够从下采样图像Down(Gi)中还原原始图像Gi,我们需要记录再次上采样得到Up(Down(Gi))与原始图片Gi之间的差异,这就是拉普拉斯金字塔的核心思想,下面最右边的图展示了这种差异(为了效果明显我进行了伽马矫正):

拉普拉斯金字塔就是记录高斯金字塔每一级下采样后再上采样与下采样前的差异,目的是为了能够完整的恢复出每一层级的下采样前图像。下面的公式就是前面的差异记录过程:

对于前文得到的高斯金字塔,现在可以构建对应的拉普拉斯金字塔如下(第1级为高斯金字塔中最小尺寸的图,也就是高斯金字塔最后1级;为了下图看起来更明显我进行了伽马矫正):

opencv提供了pyrUp()函数用于上下采样过程,对应代码如下:

def laplacian(gaussian_pyramid, up_times=5):laplacian_pyramid = [gaussian_pyramid[-1]]for i in range(up_times, 0, -1):# i的取值为5,4,3,2,1,0也就是拉普拉斯金字塔有6层temp_pyrUp = cv2.pyrUp(gaussian_pyramid[i])temp_lap = cv2.subtract(gaussian_pyramid[i-1], temp_pyrUp)laplacian_pyramid.append(temp_lap)return laplacian_pyramid

 

3、总结

高斯金字塔和拉普拉斯金字塔作为获取不同分辨率图像的方法,原理并不复杂,但是自己并没有找到中文论文专门介绍,仅仅找到了拉普拉斯金字塔论文【1】,大部分其它论文都是直接对其进行应用的。所以,如果本文的介绍有误,请帮我指出此错误。


http://chatgpt.dhexx.cn/article/qv5ve99W.shtml

相关文章

图像金字塔、高斯金字塔、拉普拉斯金字塔是怎么回事?附利用拉普拉斯金字塔和高斯金字塔重构原图的Python-OpenCV代码

图像金字塔是对图像进行多分辨率表示的一种有效且简单的结构。 一个图像金字塔是一系列以金字塔形状排列的分辨率逐步降低的图像。图像金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率表示。 图像金字塔有什么作用? 图像金字塔常用于图像缩放…

高斯金字塔

1、为什么要构建高斯金字塔 高斯金字塔模仿的是图像的不同的尺度,尺度应该怎样理解?对于一副图像,你近距离观察图像,与你在一米之外观察,看到的图像效果是不同的,前者比较清晰,后者比较模糊&am…

系统集成项目管理工程师知识点

信息化知识 在这个学时里,将学习有关信息化的许多知识点,这些知识点的试题大多出现在上午试 题中。这引起知识点主要是: (1)信息与信息化的定义。 (2)国家信息化发展战略(2006-2020&…

快速了解Scala技术栈

http://www.infoq.com/cn/articles/scala-technology/ 我无可救药地成为了Scala的超级粉丝。在我使用Scala开发项目以及编写框架后,它就仿佛凝聚成为一个巨大的黑洞,吸引力使我不得不飞向它,以至于开始背离Java。固然Java 8为Java阵营增添了一…

一篇博客带你掌握pytorch基础,学以致用(包括张量创建,索引,切片,计算,Variable对象的创建,和梯度求解,再到激活函数的使用,神经网络的搭建、训练、优化、测试)

一篇博客带你掌握pytorch基础,学以致用 1.将numpy的 ndarray对象转换为pytorch的张量 在 Pytroch 中,Tensor 是一种包含单一数据类型元素的多维矩阵,译作张量。熟悉 numpy 的同学对这个定义应该感到很熟悉,就像ndarray一样&…

AI题目整理

文章目录 1、网络配置时batchsize的大小怎样设置?过小和过大分别有什么特点?2、设置学习率衰减的原因?3、有哪些分类算法?4、分类和回归的区别?5、请描述一下K-means聚类的过程?6、训练集、测试集、验证集的作用?7、请讲解一下k折交叉验证?8、分类和聚类的区别?9、讲述…

【深度学习】对迁移学习中域适应的理解和3种技术的介绍

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 1 『如何理解域适应』 域适应是计算机视觉的一个领域,我们的目标是在源数据集上训练一个神经网络,并确保在显著不同于源数据集的目标数据集上也有…

协议模糊的堆叠式Seq2seq注意模型

摘要--通过生成大量异常数据作为程序的输入,模糊测试是发现软件漏洞的有效方法。很难自动模糊协议,因为必须手动构造一个满足协议规范的模板以生成测试用例。在本文中,我们建立了堆叠的seq2seq注意模型来自动生成协议测试用例。Seq2seq-atten…

【推荐收藏】3.5万字图解Pandas

文章目录 第一部分:Pandas 展示技术提升1. 排序2.按多列排序3. 添加一列4. 快速元素搜索5. 按列连接(join)6.按列分组7. 数据透视表8、Pandas速度 第二部分. Series 和 Index索引(Index)按值查找元素缺失值比较追加、插入、删除统计数据重复数…

层次分析法原理及应用案例

层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序&#…

论文研读-AI4VIS-可视化推荐-VizML: 一种基于机器学习的可视化推荐方法

VizML: 一种基于机器学习的可视化推荐方法 1 论文概述1.1 摘要1.2 引言 2 问题陈述3 相关工作3.1 基于规则的可视化推荐系统3.2 基于机器学习的可视化推荐系统 4 数据4.1 Plotly介绍4.2 数据描述和分析,收集和清理4.2 数据特征提取4.3 设计选择提取 5 方法5.1 特征处…

《python数据分析与挖掘实战》笔记第3章

文章目录 第3章:数据探索3.1、数据质量分析3.2、数据特征分析3.2.1、分布分析3.2.2、对比分析3.2.3、统计量分析1.集中趋势度量2.离中趋势度量 3.2.4、周期性分析3.2.5、贡献度分析3.2.6、相关性分析1. 直接绘制散点图2. 绘制散点图矩阵3. 计算相关系数 3.3、python…

对迁移学习中域适应的理解和3种技术的介绍

域适应是计算机视觉的一个领域,我们的目标是在源数据集上训练一个神经网络,并确保在显著不同于源数据集的目标数据集上也有良好的准确性。为了更好地理解域适应和它的应用,让我们先看看它的一些用例。 我们有很多不同用途的标准数据集&#…

基于1305变频器的几种变参数运行测试

该文主要用于学习归纳,因此会省略正规操作中很多步骤,详述原理。欢迎指正。 一. 设备参数 1305变频器一台(380-460V/9A/4.0KW/5HP);三相异步交流电动机(1.5(2HP)/3.65A/380V/50Hz/1420rpm/4),直流发电机组;计算机&am…

2022秋 | PTA编程训练(一)

目录 1.素数对猜想 2.数组元素循环右移问题 3.水仙花数 4.找出不是两个数组共有的元素 5.找鞍点 6.验证“哥德巴赫猜想” 7.黑洞数 8.装箱问题 9.IP地址转换 10.龟兔赛跑 1.素数对猜想 题目详情: 让我们定义dn​为:dn​pn1​−pn​&#xff0…

测试用例设计之正交表法详解

正交实验法的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。 数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方。 什么是n阶拉丁方? 用n个不同的拉丁字母排成一…

2018年华为数通技术大赛复赛拓扑题

正在准备华为杯的竞赛,期间的训练需要用心练习,希望我的这篇文章能对跟我一样的小伙伴们起到作用。在比赛之前,我们的目的都不是配通这个网络,而是在一次次错误中总结经验,你会受益匪浅!不多说,…

华为网络技术比赛-云平台课件笔记

** (一)5 G ** 在这这张图片很重要啊!!!! 5G的子载波带宽是不固定的!!!!!! 注意: Massive MIMO (1&a…

2022年金砖国家技能大赛-IT网络系统管理样题

2022年金砖国家技能大赛-IT网络系统管理(完整版) 1-网络构建部分 任务二:实现集团、北京数据中心、分公司、办事处的网络互联互通。 拓扑图: 2-项目实施: 一、完成模拟器组网,按照拓扑图搭建及命令,过程略。 二、完成交换部分配置: IDC2北京区域交换机 sysname…

2016年华为网络技术精英大赛复赛试题

2016年华为网络技术精英大赛复赛试题 【转载请注明出处】http://blog.csdn.net/guyuealian/article/details/51470839 1 实验考试说明 本次实验考试满分100分。 考生需要在除给定文档外没有任何协助的情况下,在150分钟内完成本考试的所有内容。 实验中请根据题干…