图像金字塔是图像多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。
图像金字塔用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。
金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似,层级越高,图像越小,分辨率越低。
cv.pyrUp() # 对图像进行上采样
cv.pyrDown() # 对图像进行下采样
import cv2 as cv
import matplotlib.pyplot as plt
# 1 图像读取
img = cv.imread("./1.png")
# 2 进行图像采样
up_img = cv.pyrUp(img) # 上采样操作
img_1 = cv.pyrDown(img) # 下采样操作
# 3 图像展示
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi=100)
axes[0].imshow(img[:, :, ::-1])
axes[0].set_title("原图")
axes[1].imshow(up_img[:, :, ::-1])
axes[1].set_title("上采样结果")
axes[2].imshow(img_1[:, :, ::-1])
axes[2].set_title("下采样结果")
plt.show()