【OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)

『youcans 的 OpenCV 例程200篇 - 总目录』


【youcans 的 OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)


扩展例程:1.40 图像金字塔

图像金字塔是一种以多分辨率来解释图像的结构,常用于图像分割、图像压缩和机器视觉。

在需要处理同一图像的不同分辨率的子图时,需要创建一组具有不同分辨率的原始图像。把最大的图像放在底部,最小的放在顶部,看起来就像一座金字塔,称为图像金字塔。

图像金字塔是一系列来源于同一张原始图像、以金字塔形状排列的分辨率逐步降低的图像集合。
金字塔的底部是原始图像的高分辨率的表示,顶部是低分辨率的近似。

OpenCV 为向下采样和向上采样提供了两个函数:cv2.pyrDowncv2.pyrUp

函数说明:

cv2.pyrDown(src, dst=None, dstsize=None, borderType=None) → dst  # 向下采样
cv2.pyrUp(src, dst=None, dstsize=None, borderType=None) → dst  # 向上采样

函数 cv2.pyrDown 是从高分辨率的大尺寸图像逐次向下采样得到一系列图像,构建一个金字塔,称为高斯金字塔(Gaussian pyramid),实际上是一个重复高斯平滑并重新对图像采样的过程。拉普拉斯金字塔每次向下采样后将再次向上采样,并记录残差信息,可以对图像进行最大程度的还原。

# 1.40 图像金字塔

def GussianPyramid(image): # 高斯金字塔
    level = 2  # 金字塔的层数
    imgCopy = image.copy()
    pyramidImages = []  # 创建图像 List
    for i in range(level):
        dst = cv2.pyrDown(imgCopy)  # 下采样
        pyramidImages.append(dst)  # 添加到图像 List
        cv2.imshow("pyramid down "+str(i), dst)
        imgCopy = dst.copy()
    return pyramidImages
    
img = cv2.imread("../images/imgLena.tif")  # 读取彩色图像(BGR)
cv2.namedWindow("input image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("input image", img)
GussianPyramid(img)  # 高斯图像金字塔
# LapalianPyramid(img)  # 拉普拉斯图像金字塔
cv2.waitKey(0)

在这里插入图片描述


(本节完)


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125112487)
Copyright 2022 youcans, XUPT
Crated:2021-11-18

【第3章:图像的几何变换】

30. 图像的缩放(cv2.resize)
31. 图像金字塔(cv2.pyrDown)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youcans_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值