图像金字塔
图像金字塔
python
import cv2
"""
图像金字塔:同一图像不同分辨率的子图合集
主要用于图像分割
"""
高斯金字塔
python
"""
高斯金字塔:通过高斯平滑和亚采样(采样后图像变小了)获得一系列下采样图像
它通过不断降采样(缩小)原始图像来构建,处理后结果图像是原图像的四分之一。
高斯金字塔主要用于图像的分割、特征提取、图像匹配等任务。
原理:用高斯核对图像进行卷积,然后进行下采样(去除所有偶数行和列)
"""
img = cv2.imread('./img/cat.jpeg')
# 分辨率减小的操作,下采样(会丢失图像信息)
dst = cv2.pyrDown(img)
# 与之对应的上采样(将图像在每个方向上扩大两倍,新增的行和列用0填充),用高斯核(乘以四)与放大的图像卷积
dst1 = cv2.pyrUp(img)
拉普拉斯金字塔
python
"""
拉普拉斯金字塔:通过在高斯金字塔(下采样)的基础上,对每一层图像进行上采样,并使用原高斯金字塔的相应层减去上采样后的结果,从而得到的一系列残差图像。
"""
# 先缩小后放大
dst2_1 = cv2.pyrDown(img)
dst2_2 = cv2.pyrUp(dst2_1)
# 然后原图和高斯金字塔的差 即:拉普拉斯金字塔
# 第一层拉普拉斯金字塔
lap_0 = img - dst2_2
cv2.waitKey(0)
cv2.destroyAllWindows()