图像金字塔是图像中多尺度表达的一种,一幅图像的金字塔是源于同一张原始图,分辨率逐步减少的图像集合。其通过梯次向下采样获得。直到达到某个终止条件才停止采样。
金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。层级越高,则图像越小。分辨率越低。
有两种图像金字塔。
1)高斯金字塔
2)拉普拉斯金字塔
高斯金字塔中的较高级别(低分辨率)是通过删除较低级别(较高分辨率)图像中的连续行和列而形成的。然后,较高级别的每个像素由基础级别的5个像素的贡献与高斯权重形成。通过这样做,M×N图像变成M/2×N/2图像。因此面积减少到原始面积的四分之一。
拉普拉斯金字塔则用来从金字塔底层图像中向上采样重建一个图像。
高斯金字塔:向下采样方法(缩小)
高斯金字塔:向上采样方法(放大)
拉普拉斯金字塔
在OpenCV中:
对图像向上采样:pyrUp()函数
对图像向下采样:pyrDown()函数
import cv2
import numpy as np
img = cv2.imread("images/img2_small.jpg")
cv2.imshow("img",img)
print (img.shape)
# 上采样操作
up=cv2.pyrUp(img)
cv2.imshow("up",up)
# 下采样操作
down=cv2.pyrDown(img)
cv2.imshow("down",down)
cv2.waitKey()
cv2.destroyAllWindows()