import cv2
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as c
def cv_show(img):
cv2.imshow("img",img)
cv2.waitKey(0)
def cv_read(img_file,gray=True):
if gray == True:
return cv2.imread(img_file,0)
else:
return cv2.imread(img_file)
图像金字塔
- 高斯金字塔
- 拉普拉斯金字塔

高斯金字塔
向下采样(缩小图片尺寸)

向上采样(放大图片尺寸)

img = cv2.imread("img.png")
up = cv2.pyrUp(img)
cv_show(up)

img = cv2.imread("img.png")
down = cv2.pyrDown(img)
cv_show(down)

拉普拉斯金字塔
拉普拉斯金字塔也有很多层,每一层的计算公式都是

也就是说,使用原图 img 减去通过 高斯金字塔下采样再上采样的图片,每层都是如此
G 0 , . . . , G L G_0,...,G_LG0,...,GL 代表金字塔中的每一层

'''只展示第一层的拉普拉斯金字塔'''
layer1 = img - cv2.pyrUp(cv2.pyrDown(img))
cv_show(layer1)

版权声明:本文为qq_42902997原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。