OpenCV学习笔记15-图像金字塔

本文介绍了图像金字塔的概念及其两种类型——高斯金字塔和拉普拉斯金字塔,并详细解释了它们的工作原理及如何使用OpenCV中的cv2.pyrDown()和cv2.pyrUp()函数来构建图像金字塔。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图像金字塔:简单来说就是同一图像的不同分辨率的子图集合,可以将图像在不同的尺寸进行展示。分为2类:高斯金字塔和拉普拉斯金字塔。

高斯金字塔:图片层次越高,分辨率越低。顶部是通过将底部图像中的连续的行和列去除得到的。顶部图像中的每个像素值等于下一层图像中 5 个像素的高斯加权平均值。这样操作一次一个 MxN 的图像就变成了一个 (M/2)x(N/2) 的图像。所以这幅图像的面积就变为原来图像面积的四分之一。这被称为Octave。连续进行这样的操作我们就会得到一个分辨率不断下降的图像金字塔。

拉普拉斯金字塔:主要展示的是图像的轮廓信息,它是当前层次的图像,和高层次图像做高斯模糊的图像,做差值。

OpenCV中提供cv2.pyrDown()和cv2.pyrUp()两个函数来实现金字塔功能。

  • cv2.pyrDown() 从一个高分辨率大尺寸的图像向上构建一个金子塔(尺寸变小,分辨率降低,会丢失信息);
  • cv2.pyrUp() 从一个低分辨率小尺寸的图像向下构建一个金子塔(尺
    寸变大,但分辨率不会增加)。

import numpy as np
import cv2

img = cv2.imread('opencv_logo.jpg', 0)
lower_reso = cv2.pyrDown(img)
higher_reso = cv2.pyrUp(img)

cv2.imshow('img',img)
cv2.imshow('lower_reso', lower_reso)
cv2.imshow('higher_reso', higher_reso)
cv2.waitKey(0)
cv2.destroyAllWindows()

这里写图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值