OpenCV学习(4.8) 图像金字塔
1.目的
在这一章当中,
- 我们将了解图像金字塔。
- 我们将使用图像金字塔创建一个新的水果,“Orapple”
- 我们将看到这些功能: cv.pyrUp() , cv.pyrDown()
在通常情况下我们使用大小恒定的图像。但在某些情况下,我们需要使用不同分辨率的同幅图像。例如,在搜索图像中的某些内容如脸部信息时,并不确定该内容在图像中占据的大小。在这种情况下,我们需要创建一组不同分辨率的相同图像,并在所有图像中搜索该内容。这些不同分辨率的图像被称为图像金字塔(因为当它们堆叠排列时,底部为最高分辨率图像而顶部为最低分辨率图像,看起来像金字塔)。
图像金字塔有两种: 1)高斯金字塔和 2)拉普拉斯金字塔
通过去除较低级别图像(较高分辨率)中的连续行和列来形成高斯金字塔中的较高级别图像(较低分辨率)。较高级别图像的每个像素值由低一级别图像的 5 个像素值高斯加权得到,由此图像面积减少到原来的四分之一。这些图像被称为 Octave(组)。当我们在金字塔中上升时(即分辨率降低),重复相似的操作。同理,在金字塔中下降时,每个级别的图像面积大小为上一级的四倍。我们可以使用 cv.pyrDown() 和 cv.pyrUp() 函数获取高斯金字塔。
2. 图像金字塔
import cv2
import numpy as np
from matplotlib import pyplot as plt# 读取原始图像
image = cv2.imread(r'D:\study\EmotionDetection_RealTime-master\data\data\te\13.jpg', cv2.IMREAD_COLOR)# 创建图像金字塔
# 这里我们将创建三个层次的金字塔
pyramid_images = [image]
cv2.imshow('image',image)
downscaled_image = cv2.pyrDown(image)
cv2.imshow('downscaled_image',downscaled_image)upsampled_image = cv2.pyrUp(image)cv2.imshow('upsampled_image',upsampled_image)# 等待按键后关闭所有窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
2.1 cv2.pyrDown()
cv2.pyrDown()函数用于对图像进行下采样,即减少图像的分辨率。它通常用于创建图像金字塔的较低层次。下采样的具体过程是:
- 对图像进行高斯模糊。
- 将模糊后的图像沿水平方向和垂直方向各减半。
这样,原始图像的分辨率被降低了一半。

2.2 cv2.pyrUp()
cv2.pyrUp()函数用于对图像进行上采样,即增加图像的分辨率。它通常用于创建图像金字塔的较高层次。上采样的具体过程是:
- 将图像复制到一个新的尺寸更大的图像中。
- 在新图像的边缘填充零。
- 对新图像进行高斯模糊。
这样,原始图像的分辨率被提高了一倍。

原始图像的分辨率通常指的是图像在水平和垂直方向上的像素数量。这是图像的一个重要属性,因为它决定了图像的清晰度和细节水平。
例如,一个分辨率为1024x768的图像意味着图像在水平方向上有1024个像素,在垂直方向上有768个像素。这意味着图像的总面积是786432个像素(1024x768)。
分辨率通常以像素为单位表示,但也可以用其他单位,如英寸(inches)或厘米(centimeters)。在这种情况下,分辨率指的是每英寸或每厘米的像素数量。例如,一个分辨率为300dpi(dots per inch)的图像意味着每英寸有300个像素。
相关文章:
OpenCV学习(4.8) 图像金字塔
1.目的 在这一章当中, 我们将了解图像金字塔。我们将使用图像金字塔创建一个新的水果,“Orapple”我们将看到这些功能: cv.pyrUp() , cv.pyrDown() 在通常情况下我们使用大小恒定…...
【TB作品】msp430f5529单片机,dht22,温湿度传感器,OLED显示屏
使用DHT22温湿度传感器和OLED显示屏的单片机项目 博客名称 利用MSP430单片机读取DHT22并显示温湿度 作品功能 本项目利用MSP430单片机读取DHT22温湿度传感器的数据,并将温湿度信息显示在OLED显示屏上。通过这个项目,您可以学习如何使用单片机与传感器…...
Kotlin 异常处理
文章目录 什么是异常抛出异常通过异常信息解决异常捕获异常 什么是异常 我们在运行程序时,如果代码出现了语法问题或逻辑问题,会导致程序编译失败或退出,称为异常。运行结果会给出一个一长串的红色字,通常会给出异常信息…...
nltk下载报错
捣鼓voice_clone时报错: 报错信息: mport nltk nltk.download(‘cmudict’)For more information see: https://www.nltk.org/data.htmlAttempted to load tokenizers/punkt/PY3/english.pickleSearched in: - ‘/home/zhangshuai/nltk_data’ - ‘/hom…...
Vulnhub-DC5
靶机IP:192.168.20.139 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 信息收集 nmap扫下端口及版本 dirsearch扫下目录 LinuxphpNginx 环境 我们再去看前端界面,发现在contact界面有能提交的地方,但是经过测试不…...
pytorch 笔记:pytorch 优化内容(更新中)
1 Tensor创建类 1.1 直接创建Tensor,而不是从Python或Numpy中转换 不要使用原生Python或NumPy创建数据,然后将其转换为torch.Tensor直接用torch.Tensor创建或者直接:torch.empty(), torch.zeros(), torch.full(), torch.ones(), torch.…...
vue 创建一个新项目 以及 手动配置选项
【Vue】3.0 项目创建 自定义配置_vue3.0-CSDN博客...
c#快速获取超大文件夹文件名
c#快速获取超大文件夹文件名 枚举集合速度快:(10万个文件) //by txwtech IEnumerable<string> files2 Directory.EnumerateFiles("d:\aa", "*.xml", SearchOption.TopDirectoryOnly);//过滤指定查询xml文件 慢: var fi…...
华为OD技术面试-最小异或-2024手撕代码真题
题目:最小异或 给你两个正整数 num1 和 num2 ,找出满足下述条件的正整数 x : x 的置位数和 num2 相同,且 x XOR num1 的值 最小 注意 XOR 是按位异或运算。 返回整数 x 。题目保证,对于生成的测试用例, x 是 唯一确定 的。 整数的 置位数 是其二进制表示中 1 的数目。 示…...
基于SpringBoot+Vue单位考勤系统设计和实现(源码+LW+调试文档+讲解等)
💗博主介绍:✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还…...
Anaconda软件:安装、管理python相关包
Anaconda的作用 一个python环境中需要有一个解释器, 和一个包集合. 解释器: 根据python的版本大概分为2和3. python2和3之间无法互相兼容, 也就是说用python2语法写出来的脚本不一定能在python3的解释器中运行. 包集合:包含了自带的包和第三方包, 第三…...
pinia 重置状态插件
一、前言 测试提出,登出登录后,再次进入页面后。页面的查询项非初始状态。检查后发现,是因为查询项的值存到了store呢,从store中获取,故需要一个重置store的方法 二、pinia 查阅pinia官网后,发现pinia提…...
一千题,No.0049(跟奥巴马一起编程)
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在…...
《python程序语言设计》2018版第5章第46题均值和标准方差-上部(我又一次被作者的出题击倒)
第N次被作者打倒了,第5章46题解题上集的记录 计算均值的代码段 step_num 0num_c 0 pow_c 0 while step_num < 10:a eval(input("Enter number is: "))num_c apow_c pow(a, 2)step_num 1 t2 num_c / 10这个结果和书里的答案差一点。书里写的是…...
自己做的精灵图制作,图片合成,卓宠,窗口置顶,磁力链下载等工具软件
欢迎使用和提bug,才v1.0.2,有新奇的自己需要的功能可以提给我,我看看能不能做。 网站地址 github...
C++协程
什么是协程 协程(Coroutine)是程序组件,可以在执行过程中暂停并在稍后继续执行。与传统的子例程(如函数或过程)不同,子例程一旦调用,必须等其返回后才能继续执行调用它的代码。协程则可以在执行…...
linux系统——ping命令
ping命令可以用来判断对远端ip的连通性,可以加域名也可以加公共ip地址 这里发送出56字节,返回64字节...
vue3第三十七节(自定义插件之自定义指令)防重指令
引言:自定义指令,我们可以通过插件的形式进行全局注册: 例如:在提交按钮请求接口时候,为了防止重复提交,而导致的请求资源浪费,或者是新增提交时候,防止新增相同的数据。 我们的全局…...
面试高频问题----5
一、线程池参数的执行顺序 1.如果线程池中的线程数量小于核心线程数,则创建新的线程来处理任务 2.如果线程池中的线程数量等于核心线程数,但工作队列未满,将任务放入工作队列中执行 3.如果工作队列已满,但线程数小于最大线程数…...
计算机网络 —— 网络层(子网掩码和子网划分)
计算机网络 —— 网络层(子网掩码和子网划分) 网络地址转换NAT子网掩码和子网划分举个例子第一步:看类型第二步:从主机号开始比对第三步:去头去尾 我们今天来看子网掩码和子网划分: 网络地址转换NAT 网络…...
【职业发展】程序员成长路径:从初级到架构师的进阶指南
【职业发展】程序员成长路径:从初级到架构师的进阶指南 引言 程序员的职业发展是一个持续学习和成长的过程。从初级程序员成长为技术架构师,需要经历多个阶段的积累和蜕变。本文将详细分析程序员成长的各个阶段,帮助你规划职业发展路径。 …...
上海交通大学用1万条数据打败了工业界巨头的AI搜索神器
这项由上海交通大学研究团队主导完成的研究,以技术报告形式于2026年5月5日发布在预印本平台arXiv,编号为arXiv:2605.04036v1。对这一领域有深入兴趣的读者可以通过该编号检索完整论文。**一个让整个AI圈子都有些意外的故事**先说一个背景:现在…...
Cloudflare + PlanetScale:在边缘运行全栈应用,数据库也不例外
全栈开发者面对的一道老难题 Cloudflare Workers 解决了计算层的全球分发问题——你的代码跑在 Cloudflare 遍布全球的 300 多个数据中心里,离用户近,启动快,不需要管理任何服务器。 但数据不一样。 数据库天然是"有状态的"&#x…...
从‘一个材质’到‘上百个Shader’:用UE4材质实例化彻底搞懂Static Switch的代价与正确用法
从‘一个材质’到‘上百个Shader’:UE4材质实例化中Static Switch的陷阱与优化实践 在Unreal Engine 4的材质创作中,Static Switch Parameter(静态开关参数)就像一把双刃剑——它能让美术师快速切换不同材质效果,却也暗…...
K8s原生ML编排进入“编译期优化”时代(SITS 2026首次披露:eBPF驱动的模型感知调度器Alpha版已交付头部5家云厂商)
更多请点击: https://intelliparadigm.com 第一章:AI原生Kubernetes编排:SITS 2026 K8s for ML工作负载 SITS 2026 引入了专为机器学习工作负载深度优化的 AI-native Kubernetes 编排层,突破传统 K8s 在资源弹性、异构设备调度与…...
硬件工程师实战指南:工业物联网安全、无线充电与TSN网络设计解析
1. 项目概述:一场面向硬件工程师的线上技术盛宴最近在整理行业资料时,翻到了EE Times几年前发布的一个“即将到来的线上技术活动”汇总页面。虽然发布时间是2018年,但里面提到的几个技术主题——工业物联网安全、硬件身份认证、工业以太网演进…...
从Distributed到Lumped:三种SPEF寄生模型,你的芯片时序分析该选哪一个?
芯片时序分析中的SPEF模型选择:精度与效率的终极权衡 在28nm以下工艺节点,互连线寄生效应导致的时序偏差可能占到整体时钟周期的30%以上。面对动辄数千万个net的现代SoC设计,工程师们不得不在模型精度与运行时间之间做出艰难抉择。就像一位资…...
从CMake报错到编译成功:一站式解决absl依赖配置难题
1. 当CMake突然报错:absl依赖缺失的紧急处理 第一次看到这个报错时,我正赶着在截止日期前完成gRPC服务的部署。控制台突然弹出的红色错误让我心头一紧:"Could not find a package configuration file provided by absl"。这种依赖缺…...
航模电调XXD2212的“坑”与“宝”:从欠压报警到堵转丢步的实战避坑指南
XXD2212电调实战指南:从欠压保护到电机匹配的深度解析 1. 揭开XXD2212电调的神秘面纱 XXD2212作为航模圈内广为人知的入门级电调,以其极高的性价比吸引了大量无人机和机器人爱好者。这款电调采用新唐科技MS51FB9AE作为主控芯片,搭配六MOS管组…...
别再乱用STOP模式了!STM32L4三种STOP模式深度对比与选型实战
STM32L4低功耗设计实战:STOP模式选型与能效优化全解析 在物联网终端设备与便携式仪器开发中,每微安电流的节省都直接关系到产品的市场竞争力。最近为一个农业传感器项目做方案评审时,发现团队在STOP模式选择上存在严重误区——工程师们习惯性…...
