快乐虾

http://blog.csdn.net/lights_joy/

欢迎转载,但请保留作者信息

图像金字塔是图像中多尺度表达的一种,最初用于机器视觉和图像压缩。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步减少。且来源于同一张原始图的图像集合。其通过梯次向下採样获得。直到达到某个终止条件才停止採样。

金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。层级越高,则图像越小。分辨率越低。

普通情况下有两种类型的图像金字塔经常出如今文献和以及实际运用中。

他们各自是:

高斯金字塔  (  Gaussianpyramid): 用来向下採样,基本的图像金字塔

拉普拉斯金字塔 (Laplacianpyramid): 用来从金字塔低层图像重建上层未採样图像,在数字图像处理中也即是预測残差。能够对图像进行最大程度的还原,配合高斯金字塔一起使用。

两者的简要差别:高斯金字塔用来向下降採样图像,而拉普拉斯金字塔则用来从金字塔底层图像中向上採样重建一个图像。

图像金字塔中的向上和向下採样分别通过OpenCV函数 pyrUp 和 pyrDown 实现。

这里的向下与向上採样。是对图像的尺寸而言的(和金字塔的方向相反)。向上就是图像尺寸加倍,向下就是图像尺寸减半。

而假设我们按上图中演示的金字塔方向来理解,金字塔向上图像事实上在缩小。这样刚好是反过来了。

但须要注意的是。PryUp和PryDown不是互逆的。即PryUp不是降採样的逆操作。这样的情况下,图像首先在每一个维度上扩大为原来的两倍,新增的行(偶数行)以0填充。

然后给指定的滤波器进行卷积(实际上是一个在每一个维度都扩大为原来两倍的过滤器)去预计“丢失”像素的近似值。

用Python试试:

# 图像金字塔
src = cv2.imread('f:\\tmp\\cotton.jpg')
cv2.imshow('src', src) # 下採样
dst = cv2.pyrDown(src)
cv2.imshow('dst', dst) # 上採样
src1 = cv2.pyrUp(dst)
cv2.imshow('src1', src1) cv2.waitKey()

我们的原始图像:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

下採样后的图像:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

还原后的图像:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

图像明显的模糊化。



Python图像处理(16):图像金字塔的更多相关文章

  1. 【python图像处理】图像的缩放、旋转与翻转

    [python图像处理]图像的缩放.旋转与翻转 图像的几何变换,如缩放.旋转和翻转等,在图像处理中扮演着重要的角色,python中的Image类分别提供了这些操作的接口函数,下面进行逐一介绍. 1.图 ...

  2. Python图像处理丨图像腐蚀与图像膨胀

    摘要:本篇文章主要讲解Python调用OpenCV实现图像腐蚀和图像膨胀的算法. 本文分享自华为云社区<[Python图像处理] 八.图像腐蚀与图像膨胀>,作者: eastmount . ...

  3. 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效

    摘要:本文讲解常见的图像特效处理,从而让读者实现各种各样的图像特殊效果,并通过Python和OpenCV实现. 本文分享自华为云社区<[Python图像处理] 二十四.图像特效处理之毛玻璃.浮雕 ...

  4. python实现高斯图像金字塔

    一,定义 图像金字塔:同一图像的不同分辨率的子图集合,其生成方式有向上取样和向下取样.向下取样是从G0采样形成分辨率较低的G1,G1再采样形成分辨率较低的G2......,就构成了一个金字塔.向下取样 ...

  5. python实现拉普拉斯图像金字塔

    一,定义 二,代码: 要求:拉普拉斯金字塔时,图像大小必须是2的n次方*2的n次方,不然会报错 1 # -*- coding=GBK -*- 2 import cv2 as cv 3 4 5 #高斯金 ...

  6. Python图像处理:图像腐蚀与图像膨胀

    图像的膨胀(Dilation)和腐蚀(Erosion)是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域.其中膨胀类似于“领域扩张”,将图像中的高亮区域或白色部分进行扩张,其运行结果图比原 ...

  7. Python图像处理丨认识图像锐化和边缘提取的4个算子

    摘要:图像锐化和边缘提取技术可以消除图像中的噪声,提取图像信息中用来表征图像的一些变量,为图像识别提供基础. 本文分享自华为云社区<[Python图像处理] 十七.图像锐化与边缘检测之Rober ...

  8. Python 图像处理 OpenCV (14):图像金字塔

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

  9. Python 图像处理 OpenCV (16):图像直方图

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

随机推荐

  1. NPOI的使用Excel模板导出 可插入到指定行

    Excel模版建议把需要添加数据行的样式设置好 模版样式,导出后效果 [2017-11-22 对获取需插入数据的首行样式有时为空报错修改] /// <summary> /// 根据模版导出 ...

  2. 【目录】Python学习笔记

    目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...

  3. linux下新硬盘的自动检测及格式化--支持硬盘的热插拔处理

    说明 可能存在bug,所以慎用!!! 且只在mbr分区格式下测试过. parted.sh 可以用在系统起来的时候,比如rc.local脚本里面. parted.c 需要parted.sh脚本配合使用, ...

  4. xcode/Interface Build(IB)/iPhone模拟器/mac/组合键常用的命令集

    1.Xcode常用快捷键: win+N:新建文件 win+shift+N:新建工程 win+O:打开工程或文件 win+S:保存 win+shift+S:另存为 win+Z:撤销一步 win+W:关闭 ...

  5. 数据类型转换,JS操作HTML

    数据类型转换 1.自动转换(在某种运算环境下) Number环境 String环境 Boolean环境 2.强制类型转换 Number() 字符串:纯数字和空字符转为正常数字,其他NaN 布尔值:tu ...

  6. 怎样用css来美化一个html页面

    # 转载请留言联系 我们都知道html写出来的东西是一个文本内容,很单调.和我们平时刷网页看到的内容不一样.那普通的网页是怎样对html超文本进行装饰的呢?没错,就是CSS. css的基本语法 选择器 ...

  7. kafka 分区数

    Kafka的分区,相当于把一个Topic再细分成了多个通道(对应 多个线程) 部署的时候尽量做到一个消费者(线程)对应一个分区. 如何确定Kafka的分区数,key和consumer线程数,以及不消费 ...

  8. docker从零开始 存储(六)存储驱动如何选择

    Docker存储驱动程序 理想情况下,将非常少的数据写入容器的可写层,并使用Docker卷来写入数据.但是,某些工作负载要求您能够写入容器的可写层.这是存储驱动程序的用武之地. Docker使用可插拔 ...

  9. python2和python3中的编码问题

    开始拾起python,准备使用python3, 造轮子的过程中遇到了编码的问题,又看了一下python3和python2相比变化的部分. 首先说个概念: unicode:在本文中表示用4byte表示的 ...

  10. centos 修改ftp目录

    # usermod -d /home/www username // # service vsftpd restart // 重启vsftpd 两步搞定