图像金字塔是图像处理中最美丽的概念之一。通常,我们使用默认分辨率的图像,但很多时候我们需要改变分辨率(降低它)或调整原始图像的大小,在这种情况下,图像金字塔非常方便。
pyrUp()函数将大小增加到原来的两倍,而pyrDown()函数将大小减少到原来的一半。如果我们将原始图像作为基础图像,并继续在其上应用pyrDown函数,并将图像保持在垂直堆栈中,它将看起来像一个金字塔。通过pyrUp函数升级原始图像也是如此。
缩小后, 如果将其重新缩放到原始大小, 则会丢失一些信息, 并且新图像的分辨率将大大低于原始图像。
以下是图像金字塔的示例–
import cv2
import matplotlib.pyplot as plt
img = cv2.imread( "images/input.jpg" )
layer = img.copy()
for i in range ( 4 ):
plt.subplot( 2 , 2 , i + 1 )
# using pyrDown() function
layer = cv2.pyrDown(layer)
plt.imshow(layer)
cv2.imshow( "str(i)" , layer)
cv2.waitKey( 0 )
cv2.destroyAllWindows()
输出如下:
图片金字塔的优点:
- 降低分辨率
- 获取各种尺寸的图像
- 图像融合
- 边缘检测
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
评论前必须登录!
注册