图像金字塔是一组图像的集合,集合中的所有图像都是通过对某一图像连续降采样得到的一组图像序列。
图像金字塔- cv2.pyrUp: 上采样
- cv2.pyrDown: 下采样
有两种经典的金字塔:高斯金字塔和拉普拉斯金字塔,前者采用向下采样,后者是向上采样需要的缺失的信息。
向下采样(生成高斯金字塔)的具体操作为: 从大到小
1. 对图像进行高斯卷积
2. 删除所有的偶数行和偶数列
向上采样的缺失信息(生成拉普拉斯金字塔)的具体操作为:从小到大
1. 首先将维数扩大两倍
2. 将扩大位的值置为0
3. 对新的图像进行高斯卷积
4. 用新的层次的高斯金字塔减去 3 中形成的图像
import cv2
import numpy as np
img = cv2.imread('AM.png')
up = cv2.pyrUp(img) # 上采样
down = cv2.pyrDown(img) # 下采样
cv2.imshow('img',img)
cv2.imshow('up',up)
cv2.imshow('down',down)
cv2.waitKey(0)
cv2.destroyAllWindows()
image.png
先上采样,再下采样,不能恢复原图的清晰度
up=cv2.pyrUp(img)
#先向上取样再向下取样,有损失
up_down=cv2.pyrDown(up)
cv_show(up_down,'up_down')
cv_show(np.hstack((img,up_down)),'up_down')
image.png
-
拉普拉斯金字塔
image.png
cv_show('img-up_down',img-up_down) # 前面两图的差异(减法),原图片 - 先向上取样再向下取样
网友评论