图像金字塔
高斯金字塔
向下取样----pyrDown
(1)对图像进行高斯卷积核
(2)删除所有偶数行和列
其中,高斯核卷积运算(高斯滤波)就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值(权重不同)经过加权平均后得到。
import cv2
import numpy as np
import matplotlib.pyplot as plt#读取原始图像
img = cv2.imread('zxp.jpg')#图像向下取样
r = cv2.pyrDown(img)#显示图像
cv2.imshow('original', img)
cv2.imshow('PyrDown', r)cv2.waitKey()
cv2.destroyAllWindows()
向上取样----pyrUp
注意向上采样和向下采样不可逆
import cv2
import numpy as np
import matplotlib.pyplot as plt#读取原始图像
img = cv2.imread('zxp_PyrDown2.jpg')#图像向上取样
r = cv2.pyrUp(img)#显示图像
cv2.imshow('original', img)
cv2.imshow('PyrUp', r)
cv2.waitKey()
laplacion金字塔
每一层的图像是由 :拉普拉斯金字塔中的第i层,等于「高斯金字塔中的第i层」与「高斯金字塔中的第i+1层的向上采样结果」之差。
图像的还原:
import cv2
src = cv2.imread("pyramid.jpg")# 向下采样
down0 = cv2.pyrDown(src)
down1 = cv2.pyrDown(down0)
down2 = cv2.pyrDown(down1)# 拉普拉斯变换(原理)
L0 = down0 - cv2.pyrUp(down1)
L1 = down1 - cv2.pyrUp(down2)# 拉普拉斯变换(恢复原始图像)
src_L0 = L0 + cv2.pyrUp(down1)
src_L1 = L1 + cv2.pyrUp(down2)
由于向上采样和向下采样不可逆故高斯金字塔不能还原图像,laplacion金字塔记录了损失信息,可以还原