生活随笔
收集整理的这篇文章主要介绍了
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-图像金字塔的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。