图像金字塔化:先进行图像平滑,再进行降采样,根据降采样率,得到一系列尺寸逐渐减小的图像。
操作:操作:n次(高斯卷积->2倍降采样)->n层金字塔
目的:捕捉不同尺寸的物体
直接降采样会损失信息,所以在降采样之前要进行高斯滤波

def pyramid_demo(img):
level = 3
temp = img.copy()
pyramid_image = []
for i in range(level):
dst = cv.pyrDown(temp)
pyramid_image.append(dst)
cv.imshow('pyramid_down_'+str(i), dst)
temp = dst.copy()
return pyramid_image
src = cv.imread('./data/lena.jpg',1)
cv.imshow('source image', src)
pyramid_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
结果如下:

Laplace金字塔
def Laplace_demo(image):
pyramid_image = pyramid_demo(image)
level = len(pyramid_image)
for i in range(level-1, -1, -1):
if (i-1) < 0:
expand = cv.pyrUp(pyramid_image[i], dstsize=image.shape[:2])
laplace = cv.subtract(image, expand)
cv.imshow('Laplace_Image_'+str(i), laplace)
else:
expand = cv.pyrUp(pyramid_image[i], dstsize=pyramid_image[i - 1].shape[:2])
laplace = cv.subtract(pyramid_image[i - 1], expand)
cv.imshow('Laplace_Image_' + str(i), laplace)


本文详细介绍了图像金字塔的构建过程,包括图像平滑和降采样的步骤,以及如何通过多次高斯卷积和2倍降采样操作生成多层金字塔。此外,还深入探讨了拉普拉斯金字塔的实现方法,展示了如何从金字塔图像中提取细节信息,适用于不同尺寸物体的捕捉。
610

被折叠的 条评论
为什么被折叠?



