代码语言:javascript复制
import cv2
def gaussian_pyramid(image):
level=3#高斯金字塔层数
temp=image.copy()
gaussian_images=[]
for i in range(level):
dst=cv2.pyrDown(temp)#图像进行向下采样
gaussian_images.append(dst)
cv2.imshow("gaussian" str(i),dst)
temp=dst.copy()
return gaussian_images
img=cv2.imread('C:/Users/xpp/Desktop/Lena.png')
cv2.namedWindow('img',cv2.WINDOW_AUTOSIZE)
cv2.imshow('img',img)
gaussian_pyramid(img)
cv2.waitKey(0)
cv2.destroyAllWindows()
算法:高斯金字塔是信号的多尺度表示法,亦即将同一信号或图片多次的进行高斯模糊,并且向下取样,方向向上,逐渐丢失图像的信息,藉以产生不同尺度下的多组信号或图片以进行后续的处理。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。
高斯金字塔:
- 首先使用高斯核对输入图像进行卷积处理
- 然后删除当前图像中所有偶数行和偶数列,得到的图像面积就会变成源图像的1/4
- 直到达到设定中止条件时,停止向下采样,得到一系列尺寸缩放的图像集
文献:Lan, Z. , Lin, M. , Li, X. , Hauptmann, A. G. , & Raj, B. . (2015). Beyond gaussian pyramid: multi-skip feature stacking for action recognition. IEEE.