图像金字塔

图像金字塔

高斯金字塔
拉普拉斯金字塔
图像金字塔_第1张图片
对每一层图像特征提取结果可能是不同的,把结果总和在一起。

高斯金字塔

  1. 向下采样(缩小)
    1) 对于给定的图像先做一次高斯平滑处理,也就是使用一个卷积核对图像进行卷积操作
    图像金字塔_第2张图片
    2)然后再对图像采样,去除图像中的偶数行和偶数列,然后就得到一张图片
    3)对这张图片循环1) 和 2)操作就可以得到高斯金字塔
  2. 向上采样(放大)
    1)图像在每个方向扩大为原来的2倍,新增的行和列用0填充
    图像金字塔_第3张图片
    2)使用先前同样的内核(乘4)与放大后的图像卷积,获得近似值
  3. 实现
    1)原图

    shape值
    在这里插入图片描述

2)向上采样

up = cv2.pyrUp(iron)
show.cv_show('up', up)
print(up.shape)


shape值
在这里插入图片描述

3)向下采样

down = cv2.pyrDown(iron)
show.cv_show('down', down)
print(down.shape)

图像金字塔_第4张图片
shape值
在这里插入图片描述
4)先上后下

up = cv2.pyrUp(up)
up_down = cv2.pyrDown(up)
up_down = cv2.pyrDown(up_down)
res = np.hstack((iron, up_down))
show.cv_show('res', res)


左侧为原图,右侧为向上又向下采样,图像变模糊

拉普拉斯金字塔

在这里插入图片描述
等于原始图像减去先down再up的图像
图像金字塔_第5张图片

  1. 低通滤波
  2. 缩小尺寸
  3. 放大尺寸
  4. 图像相减
down = cv2.pyrDown(iron)
down_up = cv2.pyrUp(down)
show.cv_show('iron-down_up', iron-down_up)

你可能感兴趣的:(计算机视觉,opencv,python)