生活随笔
收集整理的這篇文章主要介紹了
14-图像金字塔
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
由第一個圖可知,圖像金字塔這無非就是對圖像進行放大和縮小罷了
1,高斯金字塔
向下采樣方法(縮小),越采樣越小,即從金字塔底部向上采樣
cv2.pyrDown(img)
向上采樣方法(放大),越采樣越大,即從金字塔頂部向下采樣
cv2.pyrUp(img)
import cv2
import numpy
as np
def show_photo(name
,picture
):cv2
.imshow
(name
,picture
)cv2
.waitKey
(0)cv2
.destroyAllWindows
()
img
= cv2
.imread
('E:\Jupyter_workspace\study\data/test2.png')
show_photo
('img',img
)
print(img
.shape
)
up
= cv2
.pyrUp
(img
)
show_photo
('up',up
)
print(up
.shape
)
down
= cv2
.pyrDown
(img
)
show_photo
('down',down
)
print(down
.shape
)
up
= cv2
.pyrUp
(img
)
up_down
= cv2
.pyrDown
(up
)
show_photo
('up_down',up_down
)
print(up_down
.shape
))
down
= cv2
.pyrDown
(img
)
down_up
= cv2
.pyrUp
(down
)
show_photo
('down_up',down_up
)
print(down_up
.shape
)
res
= np
.hstack
((img
,up_down
,down_up
))
show_photo
('img up_down down_up',res
)
效果如下:
原圖、先放大再縮小、先縮小再放大進行比較
雖然先放大再縮小或者先縮小再放大都和原圖大小一樣,但是實則清晰度已經變了,已經丟了很多數據了
2,拉普拉斯金字塔
Gi為原圖像數據,即img
PyrUp(PyrDown(Gi))對原圖像先up再down
然后用原圖像Gi減去PyrUp(PyrDown(Gi))
首先,G0為原圖先進行低通濾波和縮小尺寸操作得到G1,G1再進行放大尺寸得到E1,然后,G0-E1得到LP1,即與上述公式效果一致
cv2.pyrDown(img)縮小
cv2.pyrUp(img)放大
import cv2
import numpy
as np
def show_photo(name
,picture
):cv2
.imshow
(name
,picture
)cv2
.waitKey
(0)cv2
.destroyAllWindows
()img
= cv2
.imread
('E:\Jupyter_workspace\study\data/test2.png')
down
= cv2
.pyrDown
(img
)
down_up
= cv2
.pyrUp
(down
)
lpls
= img
-down_up
show_photo
('lpls',lpls
)
總結
以上是生活随笔為你收集整理的14-图像金字塔的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。