目錄
1. 高斯圖像金字塔
1.1. 圖像向下取樣
原理:先對圖像做高斯平滑,然後刪除圖像的偶數行和偶數列,即將圖像在x和y方向均減少一半,最後的圖像爲原來圖像的四分之一
命令:dst = cv2.pyrDown(img)
down1 = cv2.pyrDown(img)
down2 = cv2.pyrDown(down1)
結果:
1.2. 圖像向上採樣
原理:將圖像的行和列,間隔的插入零,最後做一個高斯模糊
命令:dst = cv2.pyrUp(img)
up1 = cv2.pyrUp(down2)
up2 = cv2.pyrUp(up1)
結果:
可以發現,經過圖像的下采樣和上採樣後,圖像的大小恢復了原來的大小,但圖像損失了信息這是不可挽回的,所以圖像比原始圖像要模糊
2. 拉普拉斯圖像金字塔
拉普拉斯金字塔過程:
向下採樣過程:用高斯金字塔的第i層減去i+1層做上採樣的圖像,得到拉普拉斯第i層的圖像
向上採樣過程:用高斯金字塔的i+1層做上採樣加上拉普拉斯的第i層,得到第i層的原始圖像
2.1. 圖像向下採樣
原理:
解釋:拉普拉斯第i層的圖像是將上一層圖像先做高斯下采樣得到,然後對做一次高斯下采樣和高斯上採樣,最後兩者相減便得到了拉普拉斯第i層圖像
G0 = img
G1 = cv2.pyrDown(img)
U0 = cv2.pyrUp(G1)
L0 = G0 - U0
cv2.imshow('L0', L0)
G2 = cv2.pyrDown(G1)
U1 = cv2.pyrUp(G2)
L1 = G1 - U1
cv2.imshow('L1', L1)
G3 = cv2.pyrDown(G2)
U2 = cv2.pyrUp(G3)
L2 = G2 - U2
cv2.imshow('L2', L2)
結果:
2.2. 圖像向上採樣
原理:
解釋:第i層的恢復結果是拉普拉斯第i層的圖像加上高斯第i+1層做上採樣的圖像
G2 = cv2.pyrUp(G3)
O2 = G2 + L2
cv2.imshow('O2', O2)
G1 = cv2.pyrUp(G2)
O1 = G1 + L1
cv2.imshow('O1', O1)
G0 = cv2.pyrUp(G1)
O0 = G0 + L0
cv2.imshow('O0', O0)
結果:
與單純的高斯金字塔相比,拉普拉斯金字塔保留了圖像的高頻信息