- 高斯金字塔是通过对一幅图像一系列的向下采样所产生的。 有时,我们希望通过对金字塔中的小图像进行向上采样以获取完整的大尺寸高分辨率图像,这 时就需要用到拉普拉斯金字塔。
- 因为向下采样时在使用高斯滤波器处理后还要抛弃偶数行和偶数列,不可避免地要丢失 一些信息。
- 为了在向上采样时能够恢复具有较高分辨率的原始图像,就要获取在采样过程中所丢失的 信息,这些丢失的信息就构成了拉普拉斯金字塔。
【例 11.5】使用函数 cv2.pyrDown()和 cv2.pyrUp()构造拉普拉斯金字塔。
import cv2
img = cv2.imread("/Users/zhaofeier/Desktop/源代码及图像/chapter11/lena.bmp")
r1 = cv2.pyrDown(img)
d1 = img - cv2.pyrUp(r1)
r2 = cv2.pyrDown(r1)
d2 = r1 - cv2.pyrUp(r2)
r3 = cv2.pyrDown(r2)
d3 = r2 - cv2.pyrUp(r3)
print("d1.shape=",d1.shape)
print("d2.shape=",d2.shape)
print("d3.shape=",d3.shape)
cv2.imshow("d1",d1)
cv2.imshow("d2",d2)
cv2.imshow("d3",d3)
cv2.waitKey()
cv2.destroyAllWindows()
【例 11.6】编写程序,使用拉普拉斯金字塔及高斯金字塔恢复原始图像。
re1 = d1 + cv2.pyrUp(r1)
re2 = d2 + cv2.pyrUp(r2)
re3 = d3 + cv2.pyrUp(r3)
cv2.imshow("re1",re1)
cv2.imshow("re2",re2)
cv2.imshow("re3",re3)
cv2.waitKey()
cv2.destroyAllWindows()