计算机视觉 opencv python 图像金字塔

图像金字塔:

图像金字塔是一种以多分辨率来解释图像的结构,
通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像。
把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像素(尺寸)
逐渐降低的图像,一直到金字塔的顶部只包含一个像素点的图像,
这就构成了传统意义上的图像金字塔。

获得图像金字塔一般包括二个步骤:

1. 利用低通滤波器平滑图像 
2. 对平滑图像进行抽样(采样)
有两种采样方式——上采样(分辨率逐级升高)和下采样(分辨率逐级降低)

高斯金字塔

向下采样方法(缩小)
	1. 与高斯核卷积
	2. 将所有偶数行和列去除

向上采用方法(放大)
	1. 将图像在每个方向扩大为原来的2倍 新增的行和列以0填充
	2. 然后用给定的滤波器卷积(每个维度都扩大为原来两倍的过滤器)去估计丢失像素的近似值。相当于把原来的值 弄的分散一些。

代码

import cv2

img = cv2.imread('img1.png')
print(img.shape)

# 高斯金字塔 一层层小下去
# 向上采样
up = cv2.pyrUp(img)
print(up.shape)

# 向下采样
down = cv2.pyrDown(img)
print(down.shape)

# 拉普拉斯金字塔
# 高频细节信息在卷积和下采样中丢失
# 保留所有层所丢失的高频信息 用于图像恢复
# 第i层的高斯金字塔 向上采样 得到第i-1层的图像 + 第i-1层的拉普拉斯金字塔 还原丢失的细节
# 计算公式 = 原图 - PyrUp(PyrDown(原图))

la = img - cv2.pyrUp( cv2.pyrDown(img) )


cv2.imshow("img",la+img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值