快乐虾

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. 【洛谷 P1653】 猴子 (并查集)

    题目链接 没删除调试输出,原地炸裂,\(80\)->\(0\).如果你要问剩下的\(20\)呢?答:数组开小了. 这题正向删边判连通性是很不好做的,因为我们并不会并查集的逆操作.于是可以考虑把断 ...

  2. react框架

    react 其实react=vue, 区别:vue-  双向数据绑定, react  单向数据绑定. 中文文档:https://react.docschina.org/ 第一步:安装方式,不能直接引入 ...

  3. Linux c括号作用域【原创笔记】

    大师指点后,所做的笔记,很感谢一起愿意研究技术的同事,以下不是本人原创,是他分析的成果 #include <stdio.h> #include <time.h> struct ...

  4. servlet(5) - Cookie和session - 小易Java笔记

    1.会话概述 (1)会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. (2)会话过程中的数据不宜保存在request和servle ...

  5. python--selectors

    import socket from selectors import DefaultSelector, EVENT_READ, EVENT_WRITE # 会根据当前的操作系统选择一个合适的文件描述 ...

  6. flask传参到jinja2模板出现&#39;导致不可用

    http://blog.csdn.net/wangqing008/article/details/48437793 经常会有字符 空格 ' "" 等被转义成其他字符,这其实是特殊字 ...

  7. HDU 4355.Party All the Time-三分

    Party All the Time Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  8. codeforces Round #441 C Classroom Watch【枚举/注意起点】

    C. time limit per test 1 second memory limit per test 512 megabytes input standard input output stan ...

  9. web.input()和web.data() 遇到特殊字符

    使用web.py的时候,web.input()和web.data() 都可以接收用户从浏览器端输入的参数. web.input()方法返回一个包含从url(GET方法)或http header(POS ...

  10. 百度MapAPI之地理编码

    地理编码:将具体地址数据转换为对应坐标点经纬度功能 大致思路: 1.从数据库取得具体地理位置 2.将地址作为参数访问API接口,获取返回数据 3.处理response数据并将经度(lng.longit ...