图像金字塔

1、从opencv函数的金字塔函数和尺度缩放函数说起

Opencv里面金字塔和resize函数都是有关图像分辨率的问题。我们经常会将某种尺寸的图像转换为其他尺寸的图像,如果放大或者缩小图片的尺寸,笼统来说的话,可以使用OpenCV为我们提供的如下两种方式:<1> resize函数。这是最直接的方式,<2> pyrUp( )、pyrDown( )函数。即图像金字塔相关的两个函数,对图像进行向上采样,向下采样的操作。pyrUp、pyrDown其实和专门用作放大缩小图像尺寸的resize在功能上差不多,披着图像金字塔的皮,说白了还是在对图像进行放大和缩小操作。另外需要指出的是,pyrUp、pyrDown在OpenCV的imgproc模块中的Image Filtering子模块里。而resize在imgproc 模块的Geometric(几何) Image Transformations子模块里。

2、图像金字塔

图像金字塔是一种以多分辨率来解释图像的有效但概念简单的结构。应用于图像分割,机器视觉和图像压缩。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。


深度:J = log2(N),N表示宽度或者长度
3、常见两类图像金字塔
  • 高斯金字塔 ( Gaussianpyramid): 用来向下采样,主要的图像金字塔
  • 拉普拉斯金字塔 (Laplacianpyramid): 用来从金字塔低层图像重建上层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,配合高斯金字塔一起使用。

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

    要从金字塔第i层生成第i+1层(我们表示第i+1层为G_i+1),我们先要用高斯核对G_1进行卷积,然后删除所有偶数行和偶数列。当然的是,新得到图像面积会变为源图像的四分之一。按上述过程对输入图像G_0执行操作就可产生出整个金字塔。

    当图像向金字塔的上层移动时,尺寸和分辨率就降低。OpenCV中,从金字塔中上一级图像生成下一级图像的可以用PryDown。而通过PryUp将现有的图像在每个维度都放大两遍。

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

    概括起来就是:

    • 对图像向上采样:pyrUp函数
    • 对图像向下采样:pyrDown函数

    这里的向下与向上采样,是对图像的尺寸而言的(和金字塔的方向相反),向上就是图像尺寸加倍,向下就是图像尺寸减半。而如果我们按上图中演示的金字塔方向来理解,金字塔向上图像其实在缩小,这样刚好是反过来了。

    但需要注意的是,PryUp和PryDown不是互逆的,即PryUp不是降采样的逆操作。这种情况下,图像首先在每个维度上扩大为原来的两倍,新增的行(偶数行)以0填充。然后给指定的滤波器进行卷积(实际上是一个在每个维度都扩大为原来两倍的过滤器)去估计“丢失”像素的近似值。

    PryDown( )是一个会丢失信息的函数。为了恢复原来更高的分辨率的图像,我们要获得由降采样操作丢失的信息,这些数据就和拉普拉斯金字塔有关系了。

3.1 高斯金字塔

高斯金字塔是通过高斯平滑和亚采样获得一些列下采样图像,也就是说第K层高斯金字塔通过平滑、亚采样就可以获得K+1层高斯图像,高斯金字塔包含了一系列低通滤波器,其截至频率从上一层到下一层是以因子2逐渐增加,所以高斯金字塔可以跨越很大的频率范围。金字塔的图像如下:

另外,每一层都按从下到上的次序编号, 层级 G_i+1 (表示为 G_i+1尺寸小于第i层G_i)。

3.1.1 对图像的向下取样

为了获取层级为 G_i+1 的金字塔图像,我们采用如下方法:

<1> 对图像G_i进行高斯内核卷积

<2> 将所有偶数行和列去除

得到的图像即为G_i+1的图像,显而易见,结果图像只有原图的四分之一。通过对输入图像G_i(原始图像)不停迭代以上步骤就会得到整个金字塔。同时我们也可以看到,向下取样会逐渐丢失图像的信息。

以上就是对图像的向下取样操作,即缩小图像。

2.1.2 对图像的向上取样

如果想放大图像,则需要通过向上取样操作得到,具体做法如下:

<1> 将图像在每个方向扩大为原来的两倍,新增的行和列以0填充

<2> 使用先前同样的内核(乘以4)与放大后的图像卷积,获得 “新增像素”的近似值

得到的图像即为放大后的图像,但是与原来的图像相比会发觉比较模糊,因为在缩放的过程中已经丢失了一些信息,如果想在缩小和放大整个过程中减少信息的丢失,这些数据形成了拉普拉斯金字塔。

3.2 拉普拉斯金字塔(应用于图像融合)

是高斯金字塔的修正版,为了还原到原图。通过计算残差图来达到还原。下式是拉普拉斯金字塔第i层的数学定义:

   Opencv可用:L(i)=G(i) - PyrUp(G(i+1));将降采样之后的图像再进行上采样操作,然后与之前还没降采样的原图进行做差得到残差图!为还原图像做信息的准备!

我们下文将要介绍的pryUp,就是在进行上面这个式子的运算。

也就是说,拉普拉斯金字塔是通过源图像减去先缩小后再放大的图像的一系列图像构成的。保留的是残差!为图像还原做准备!

整个拉普拉斯金字塔运算过程可以通过下图来概括:

所以,我们可以将拉普拉斯金字塔理解为高斯金字塔的逆形式。

另外再提一点,关于图像金字塔非常重要的一个应用就是实现图像分割。图像分割的话,先要建立一个图像金字塔,然后在G_i和G_i+1的像素直接依照对应的关系,建立起”父与子“关系。而快速初始分割可以先在金字塔高层的低分辨率图像上完成,然后逐层对分割加以优化。

注意:上采样和下采样是非线性处理,不可逆,有损的处理!

参考:

1、http://www.tuicool.com/articles/jUBnQjA

2、http://blog.csdn.net/abcjennifer/article/details/7628655


阅读更多
文章标签: 图像金字塔 高斯金字塔 拉普拉斯金字塔
个人分类: 图像处理
(".MathJax").remove();




    MathJax.Hub.Config({
            "HTML-CSS": {
                    linebreaks: { automatic: true, width: "94%container" },
                    imageFont: null
            },
            tex2jax: {
                preview: "none"
            },
            mml2jax: {
                preview: 'none'
            }
    });


    (function(){
        var btnReadmore =
(".MathJax").remove();    MathJax.Hub.Config({            "HTML-CSS": {                    linebreaks: { automatic: true, width: "94%container" },                    imageFont: null            },            tex2jax: {                preview: "none"            },            mml2jax: {                preview: 'none'            }    });    (function(){        var btnReadmore =
("#btn-readmore"); if(btnReadmore.length>0){ var winH = (window).height();vararticleBox= ( w i n d o w ) . h e i g h t ( ) ; v a r a r t i c l e B o x = ("div.article_content"); var artH = articleBox.height(); if(artH > winH*2){ articleBox.css({ 'height':winH*2+'px', 'overflow':'hidden' }) btnReadmore.click(function(){ articleBox.removeAttr("style"); $(this).parent().remove(); }) }else{ btnReadmore.parent().remove(); } } })()
想对作者说点什么? 我来说一句
  • u013621549
    迷之嗷嗷嗷 2018-06-27 17:13:15 #1楼
    先简单说说从opencv的目前状态,齐全的学习资料基本都是2016年以前的(无法一步到位,博客基本停更,或者写给自己看)。所以,小嗷开了个微信公众号:aoxiaoji,记录自己的爬坑历程。目的就是减少新手的上手难度。最终,一起学习一起进步。简书博客:https://www.jianshu.com/u/45da1fbce7d0,公众号:aoxiaoji,吹比QQ群:736854977
    举报 回复
  • 上一页
  • 1
  • 下一页

图像处理理论(二)——形态学、边缘检测、图像金字塔

图像处理理论(二)——形态学、边缘检测、图像金字塔

antkillerfarm antkillerfarm

2016-08-29 10:05:21

阅读数:4024

图像算法之十:图像金字塔

一、基本原理       图像金字塔常用作多分辨率模型。视频图像的多分辨率模型是视频图像处理的重要方法。 图像金字塔包括高斯金字塔和拉普拉斯金字塔两种实现形式。 1、高斯金字塔:   高斯金字…

SoaringLee_fighting SoaringLee_fighting

2016-10-06 16:48:16

阅读数:3751

男人性时间短咋办?教你1个技巧轻松达到30分钟! 京法航 · 顶新
var width = $("div.recommend-box").outerWidth() - 48; NEWS_FEED({ w: width, h : 90, showid : 'GNKXx7', placeholderId: "ad1", inject : 'define', define : { imagePosition : 'left', imageBorderRadius : 0, imageWidth: 120, imageHeight: 90, imageFill : 'clip', displayImage : true, displayTitle : true, titleFontSize: 20, titleFontColor: '#333', titleFontFamily : 'Microsoft Yahei', titleFontWeight: 'bold', titlePaddingTop : 0, titlePaddingRight : 0, titlePaddingBottom : 10, titlePaddingLeft : 16, displayDesc : true, descFontSize: 14, descPaddingLeft: 14, descFontColor: '#6b6b6b', descFontFamily : 'Microsoft Yahei', paddingTop : 0, paddingRight : 0, paddingBottom : 0, paddingLeft : 0, backgroundColor: '#fff', hoverColor: '#ca0c16' } })

【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

这篇文章里,我们将一起探讨图像金字塔的一些基本概念,如何使用OpenCV函数 pyrUp 和 pyrDown 对图像进行向上和向下采样,以及了解了专门用于缩放图像尺寸的resize函数的用法。此博文一…

zhmxy555 zhmxy555

2014-05-18 18:58:34

阅读数:62319

Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔

一、 图像金字塔 图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像。把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像…

dcrmg dcrmg

2016-09-17 09:46:33

阅读数:22720

图像处理中的高斯金字塔和拉普拉斯金字塔

在接触高斯金字塔的时候,对于它的作用疑惑的时候有人这么跟我讲..它就是模拟人类的视觉,近处的东西看着大,并且能够看到东西的细节所在,当把这东西从眼前拿到几米外,虽然还是能看到东西,但也只能窥见它的轮廓…

xbcReal xbcReal

2016-09-22 23:29:09

阅读数:12228

图像处理之高斯金字塔

一:图像金字塔基本操作 对一张图像不断的模糊之后向下采样,得到不同分辨率的图像,同时每次得到的 新的图像宽与高是原来图像的1/2, 最常见就是基于高斯的模糊之后采样,得到的 一系列图像称为高斯金…

jia20003 jia20003

2013-06-18 06:58:59

阅读数:42978

老中医说:男人多吃它,性生活时间延长5倍 磊成嘉业 · 顶新
var width = $("div.recommend-box").outerWidth() - 48; NEWS_FEED({ w: width, h: 90, showid: 'Afihld', placeholderId: 'a_d_feed_0', inject: 'define', define: { imagePosition: 'left', imageBorderRadius: 0, imageWidth: 120, imageHeight: 90, imageFill: 'clip', displayImage: true, displayTitle: true, titleFontSize: 20, titleFontColor: '#333', titleFontFamily: 'Microsoft Yahei', titleFontWeight: 'bold', titlePaddingTop: 0, titlePaddingRight: 0, titlePaddingBottom: 10, titlePaddingLeft: 16, displayDesc: true, descFontSize: 14, descPaddingLeft: 14, descFontColor: '#6b6b6b', descFontFamily: 'Microsoft Yahei', paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0, backgroundColor: '#fff', hoverColor: '#ca0c16' } })

图像金字塔分层算法

关于图像金字塔非常重要的一个应用就是实现图像分割。而快速初始分割可以先在金字塔高层的低分辨率图像上完成,然后逐层对分割加以优化。在某种分辨率下无法发现的特性在另一种分辨率下将很容易被发现。…

x454045816 x454045816

2016-09-18 13:35:51

阅读数:4166

空间金字塔方法表示图像

注:本学习笔记是自己的理解,如有错误的地方,请大家指正,共同学习进步。 本文学习自CVPR论文《Discriminative Spatial Pyramid》、《Discriminative S…

mao_kun mao_kun

2016-01-17 22:20:13

阅读数:4800

SIFT中的尺度空间和传统图像金字塔

SIFT解析(一)建立高斯金字塔 SIFT(Scale-Invariant Feature Transform,尺度不变特征转换)在目标识别、图像配准领域具有广泛的应用,下 面按照SIFT…

Losteng Losteng

2016-03-06 20:55:51

阅读数:6711

python+opencv图像金字塔融合 (超详细讲解原理及代码讲解)

本篇内容参考《Opencv官方教程中文版(Python)》的内容进行讲解和分析,其下载网址为 http://download.csdn.net/download/dengxf01/9692646 由…

jjddss jjddss

2017-06-19 17:09:55

阅读数:3432

图像的多分辨率金字塔详解

高斯核的产生: 函数 kron 格式 C=kron (A,B)    %A为m×n矩阵,B为p×q矩阵,则C为mp×nq矩阵。 kron即为Kronecker积,所谓Kronecke…

qq_18343569 qq_18343569

2015-07-16 15:49:14

阅读数:3433

计算机视觉——SIFT算法之高斯金字塔

计算机视觉—SIFT算法之高斯金字塔 [email protected] 1、高斯金字塔–>DoG金字塔        在理论上,输入图像需要先分别与不同尺度的高斯核进行卷积,然后求两幅图像的…

gnehcuoz gnehcuoz

2016-10-16 20:06:19

阅读数:4987

DoG 、Laplacian、图像金字塔详解

DoG(Difference of Gaussian) DoG (Difference of Gaussian)是灰度图像增强和角点检测的方法,其做法较简单,证明较复杂,具体讲解如下: Differe…

liulina603 liulina603

2013-03-11 10:26:39

阅读数:18953

scrolling="no">

图像金字塔算法matlab

2010年04月14日 542B 下载

数字图像处理-图像金字塔

本系列文章由@浅墨_毛星云 出品,转载请注明出处。   文章链接: http://blog.csdn.net/poem_qianmo/articl…

HelloZEX HelloZEX

2017-10-24 15:20:00

阅读数:588

图像金字塔——上采样和下采样

在图像处理中,图像的缩放常常会利用到。图像金字塔概念就和图像的缩放相关。如果把正常大小的图片放在金字塔结构的中间,那么金字塔的上部就相当于图片的收缩,金字塔的地步就相当于图片的放大。金字塔结构有两种,…

ZouCharming ZouCharming

2017-04-20 22:28:01

阅读数:3371

【OpenCV】图像处理(四)图像金字塔

【图像金字塔】图像金字塔这个词,我们经常在很多地方可以看到。它是图像多尺度表达的一种,最主要的是用于图像的分割。同时,图像金字塔也被广泛用于各种视觉应用中。 图像金字塔是一个图像集合,集合中所有的图…

w12345_ww w12345_ww

2015-05-19 15:34:38

阅读数:1571

OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔总结

OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔总结

jacke121 jacke121

2017-01-17 10:37:48

阅读数:2918

图像金字塔与图像缩放

图像金字塔:金字塔底部图像分辨率高,尺寸大,金字塔顶部分辨率低,尺寸小。 这里与其说是金字塔,不如说是倒金字塔,因为这里说的向上就是向尺寸更大,向下就是向尺寸更小,所以倒金字塔与这些动词更相符。 …

weixin_35738542 weixin_35738542

2016-08-17 20:44:33

阅读数:1248

建立影像金字塔的意义

影像金字塔结构:指在同一的空间参照下,根据用户需要以不同分辨率进行存储与显示,形成分辨率由粗到细、数据量由小到大的金字塔结构。影像金字塔结构用于图像编码和渐进式图像传输,是一种典型的分层数据结构形式,…

zhouxuguang236 zhouxuguang236

2012-10-16 20:46:33

阅读数:13409

没有更多推荐了,返回首页



个人分类






  • C++ 78篇



  • STM8单片机 2篇



  • 算法 53篇



  • 学习资料 2篇



  • 编程经验 9篇



  • MFC学习 3篇



  • QT 12篇



  • opencv 21篇



  • Linux 39篇



  • 树莓派 2篇



  • 图像处理 32篇



  • Python 75篇



  • 生活篇 39篇



  • 深度学习 70篇



  • 计算机 20篇



  • ML&CV 84篇



  • DeepID 1篇



  • 笔试题 3篇



  • 人脸识别 10篇



  • 数学模型 3篇



  • Tensorflow学习 52篇



  • 目标跟踪 4篇



  • 目标检测 14篇



  • 无监督学习 7篇



  • 显著性检测 9篇



  • caffe 27篇



  • 语义分割 6篇



  • 机器学习 2篇




展开




归档







  • 2018年7月 5篇




  • 2018年6月 19篇




  • 2018年5月 34篇




  • 2018年4月 8篇




  • 2018年3月 15篇




  • 2018年2月 51篇




  • 2018年1月 10篇




  • 2017年12月 22篇




  • 2017年11月 24篇




  • 2017年10月 14篇




  • 2017年9月 23篇




  • 2017年8月 52篇




  • 2017年7月 31篇




  • 2017年6月 19篇




  • 2017年5月 6篇




  • 2017年4月 41篇




  • 2017年3月 67篇




  • 2017年2月 5篇




  • 2017年1月 4篇




  • 2016年12月 2篇




  • 2016年11月 4篇




  • 2016年10月 26篇




  • 2016年9月 1篇




  • 2016年8月 9篇




  • 2016年7月 26篇




  • 2016年6月 5篇




展开




热门文章





  • QT实现对数据文本保存的办法及其操作

    阅读量:13137



  • BIOS的两种引导模式

    阅读量:11186



  • QT实现快捷键的三种方式

    阅读量:10766



  • 稀疏表示学习

    阅读量:9459



  • LOG高斯-拉普拉斯算子

    阅读量:9113






最新评论





  • 图像金字塔


    u013621549:先简单说说从opencv的目前状态,齐全的学习资料基本都是2016年以前的(无法一步到位,博客基本…



  • C++读取某个文件夹下面的子文件夹…


    Dashi_Lu:第40行,const char* 不能定义实体,怎么解决



  • tensorflow如何使用训练好…


    qq_37963079:求问大佬有已经训练好的中文语音库吗?有偿也行…



  • 概率图秒杀hmm和贝叶斯网络


    wizardforcel:HMM 好像不能预测非线性,因为没有激活函数,你乘多少个矩阵之后还是线性的



  • LOG高斯-拉普拉斯算子


    menghuanxiy:[reply]excelsior123[/reply]
    这里应该加上系数1/2*pi*sigma*…





("a.flexible-btn").click(function(){ ("a.flexible-btn").click(function(){ (this).parents('div.aside-box').removeClass('flexible-box'); $(this).remove(); })

你可能感兴趣的:(图像处理,图像金字塔,高斯金字塔,拉普拉斯金字塔,图像处理)