OpenCV学习(4.8) 图像金字塔

1.目的

在这一章当中,

  • 我们将了解图像金字塔。
  • 我们将使用图像金字塔创建一个新的水果,"Orapple"
  • 我们将看到这些功能: cv.pyrUp()cv.pyrDown()

在通常情况下我们使用大小恒定的图像。但在某些情况下,我们需要使用不同分辨率的同幅图像。例如,在搜索图像中的某些内容如脸部信息时,并不确定该内容在图像中占据的大小。在这种情况下,我们需要创建一组不同分辨率的相同图像,并在所有图像中搜索该内容。这些不同分辨率的图像被称为图像金字塔(因为当它们堆叠排列时,底部为最高分辨率图像而顶部为最低分辨率图像,看起来像金字塔)。

图像金字塔有两种: 1)高斯金字塔 和 2)拉普拉斯金字塔

通过去除较低级别图像(较高分辨率)中的连续行和列来形成高斯金字塔中的较高级别图像(较低分辨率)。较高级别图像的每个像素值由低一级别图像的 5 个像素值高斯加权得到,由此图像面积减少到原来的四分之一。这些图像被称为 Octave(组)。当我们在金字塔中上升时(即分辨率降低),重复相似的操作。同理,在金字塔中下降时,每个级别的图像面积大小为上一级的四倍。我们可以使用 cv.pyrDown()cv.pyrUp() 函数获取高斯金字塔。

2. 图像金字塔

python 复制代码
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()函数用于对图像进行下采样,即减少图像的分辨率。它通常用于创建图像金字塔的较低层次。下采样的具体过程是:

  1. 对图像进行高斯模糊。
  2. 将模糊后的图像沿水平方向和垂直方向各减半。

这样,原始图像的分辨率被降低了一半。

2.2 cv2.pyrUp()

cv2.pyrUp()函数用于对图像进行上采样,即增加图像的分辨率。它通常用于创建图像金字塔的较高层次。上采样的具体过程是:

  1. 将图像复制到一个新的尺寸更大的图像中。
  2. 在新图像的边缘填充零。
  3. 对新图像进行高斯模糊。

这样,原始图像的分辨率被提高了一倍。

原始图像的分辨率通常指的是图像在水平和垂直方向上的像素数量。这是图像的一个重要属性,因为它决定了图像的清晰度和细节水平。

例如,一个分辨率为1024x768的图像意味着图像在水平方向上有1024个像素,在垂直方向上有768个像素。这意味着图像的总面积是786432个像素(1024x768)。

分辨率通常以像素为单位表示,但也可以用其他单位,如英寸(inches)或厘米(centimeters)。在这种情况下,分辨率指的是每英寸或每厘米的像素数量。例如,一个分辨率为300dpi(dots per inch)的图像意味着每英寸有300个像素。

相关推荐
witAI几秒前
**GLM5剧本拆解2025指南,解锁多模态创作新范式**
人工智能·python
Betelgeuse762 分钟前
DjangoBlog学习案例:掌握Django MVT架构与多应用协作实践
学习·架构·django
badhope4 分钟前
C语言二级考点全解析与真题精讲
c语言·开发语言·c++·人工智能·python·microsoft·职场和发展
爱吃的小肥羊6 分钟前
Claude Code Skills 资源大盘点:导航站 + GitHub 精选仓库全整理
人工智能·ai编程
ai产品老杨8 分钟前
终结协议孤岛:基于GB28181/RTSP融合网关的多品牌设备统一接入与边缘推流方案
人工智能·docker·架构·kubernetes·音视频
Dr_哈哈11 分钟前
给 AI 装技能包:skills 生态科普
人工智能
沉沙丶16 分钟前
模型预测控制专题(九)—— 进一步优化的方向
人工智能·电机控制·永磁同步电机·模型预测·预测控制·pmsm·无模型预测控制
lpfasd12322 分钟前
2026年第11周GitHub趋势周报:AI智能体爆发,RAG与本地部署成新焦点
人工智能·github
李昊哲小课23 分钟前
NumPy 完整学习笔记
笔记·python·学习·数据分析·numpy
nonono27 分钟前
深度学习——SETR(Segmentation Transformer)学习(2020.12)
深度学习·学习·transformer