有两类图像金字塔:高斯金字塔和拉普拉斯金字塔
1、高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的。顶
部图像中的每个像素值等于下一层图像中 5 个像素的高斯加权平均值。这样
操作一次一个 MxN 的图像就变成了一个 M/2xN/2 的图像。所以这幅图像
的面积就变为原来图像面积的四分之一。这被称为 Octave。连续进行这样
的操作我们就会得到一个分辨率不断下降的图像金字塔。我们可以使用函数
cv2.pyrDown() 和 cv2.pyrUp() 构建图像金字塔。
函数 cv2.pyrDown() 从一个高分辨率大尺寸的图像向上构建一个金子塔
(尺寸变小,分辨率降低)
img = cv2.imread('messi5.jpg') lower_reso = cv2.pyrDown(higher_reso)
函数 cv2.pyrUp() 从一个低分辨率小尺寸的图像向下构建一个金子塔(尺
寸变大,但分辨率不会增加)。
higher_reso2 = cv2.pyrUp(lower_reso)
你要记住的是是 higher_reso2 和 higher_reso 是不同的。
因为一旦使用 cv2.pyrDown(),图像的分辨率就会降低,信息就会被丢失。
2、拉普拉金字塔的图像看起来就像边界图,其中很多像素都是 0。他们经常
被用在图像压缩中。下图就是一个三层的拉普拉斯金字塔:
3、图像金字塔可以用作图像融合