精华内容
下载资源
问答
  • 图像二维离散小波变换

    万次阅读 2015-10-16 21:45:07
    2 图像二维离散小波变换 图像的二维离散小波分解和重构过程如下所示,分解过程可描述为:首先对图像的每一行进行 1D-DWT,获得原始图像在水平方向上的低频分量 L 和高频分量 H,然后对变换所得数据的每一列进行 ...

    这两天接触图像多尺度分解的一些内容,主要重点在EMD(empirical mode decomposition)——BEMD(bidimensional empirical mode decomposition),LMD(local mean decomposition)——BLMD(bidimensional local mean decomposition,BLMD)。
    之前一直没有接触过这个领域,现在开始慢慢做一些积累,先从小波变换开始吧。
    1 图像多尺度分解
    由于图像对象尺寸大小的不一,以及人类视觉系统对物体尺度的自适应性,在图像数据中引入一个尺度维,把图像在不同尺度下进行分解。直观地来讲,客观的物体根据其与观察者的距离远近不同而呈现出不同的表现形式,比如,人在不同的距离观察同一目标对象时,在距离较远时,看到的是对象的整体轮廓,在近距离观察时,看到的是关于对象的更多的细节,便是对图像进行了多尺度分解。
    目前关于图像多尺度分解中的“尺度”一词,存在多种不同的直观理解,如把图像的分辨率作为图像分解的尺度,或以图像对象尺寸大小作为图像分解的尺度,又或以对图像进行卷积的卷积核的参数作为图像分解的尺度。

    2 图像二维离散小波变换
    图像的二维离散小波分解和重构过程如下图所示,分解过程可描述为:首先对图像的每一行进行 1D-DWT,获得原始图像在水平方向上的低频分量 L 和高频分量 H,然后对变换所得数据的每一列进行 1D-DWT,获得原始图像在水平和垂直方向上的低频分量 LL、水平方向上的低频和垂直方向上的高频 LH、水平方向上的高频和垂直方向上的低频 HL 以及水平和垂直方向上的的高频分量 HH。重构过程可描述为:首先对变换结果的每一列进行以为离散小波逆变换,再对变换所得数据的每一行进行一维离散小波逆变换,即可获得重构图像。由上述过程可以看出,图像的小波分解是一个将信号按照低频和有向高频进行分离的过程,分解过程中还可以根据需要对得到的 LL 分量进行进一步的小波分解,直至达到要求。
    这里写图片描述

    备注:为了直观地体现小波多尺度分解,下面在matlab里做了一组测试,简单代码如下:

    load woman;
    % X包含图像
    % 图像分解尺度为2,采用sym5小波
    [c,s] = wavedec2(X,2,'sym5');
    %分解尺度为1的低频分量
    a1 = wrcoef2('a',c,s,'sym5',1); 
    %分解尺度为2的低频分量
    a2 = wrcoef2('a',c,s,'sym5',2);
    
    %%高频分量
    %HL
    hd2 = wrcoef2('h',c,s,'sym5',2); 
    %LH
    vd2 = wrcoef2('v',c,s,'sym5',2); 
    %HH
    dd2 = wrcoef2('d',c,s,'sym5',2);
    
    M=[a2 hd2;vd2 dd2];
    image(M);colormap(map);
    axis off;
    
    %%%继续对LL进行分解
    [c,s] = wavedec2(a2,2,'sym5');
    a22 = wrcoef2('a',c,s,'sym5',2);
    
    hd22 = wrcoef2('h',c,s,'sym5',2); 
    vd22 = wrcoef2('v',c,s,'sym5',2); 
    dd22 = wrcoef2('d',c,s,'sym5',2);
    figure(2);
    N=[a22 hd22;vd22 dd22];
    image(N);colormap(map);
    axis off;
    

    实验结果:
    这里写图片描述

    LL分量继续分解
    这里写图片描述

    备注:在图像完成分解后,如何分析才是需要继续研读的重点。

    展开全文
  • 利用二维小波变换,在一幅图像中嵌入水印,有水印检测以及提取的源代码,并有各部分程序作用的注释。
  • 小波分析:三、二维离散小波变换

    万次阅读 2016-04-20 20:21:31
    四、二维离散小波变换声明: 该文为本人对小波的理解,不保证正确性与严谨性。参考: 《数字图像处理》 Gonzalez P3171. 概述在给定尺度函数和小波函数下,可以组合出一个二维尺度函数和三个二维小波函数:f(x, y)...

    四、二维离散小波变换

    声明: 该文为本人对小波的理解,不保证正确性与严谨性。

    参考: 《数字图像处理》 Gonzalez P317

    1. 概述

    在给定尺度函数p和小波函数下p,可以组合出一个二维尺度函数和三个二维小波函数:

    p

    f(x, y)离散函数可以分解为这四个函数不同尺度与位置的线性组合(2DIDWT):

    p

    其中近似系数和细节系数分别如下(2DDWT):

    p

    p

    2. 其他符号说明

    p分别为不同尺度和位置的尺度函数和小波函数,定义如下:

    p

    3. 理解

    细节的阶数越高,其尺度越小,越细致,相当于傅立叶中的高频部分。

    p

    一般做二维小波变换,都直接画成多尺度的WDT图进行分析,最外层为阶数最高的细节,也就是尺度最小的细节,就是最细节。

    细节部分的阶数越高,频率越高。应用例子见参考书的p320页例7.12和7.13。

    展开全文
  • 在理解离散小波变换原理和Mallat快速算法的基础上,通过编程对图像进行二维离散小波变换,从而加深对二维小波分解和重构的理性和感性认识,并能提高编程能力,为今后的学习和工作奠定基础。 实验工具: ...

    实验目的:

    在理解离散小波变换原理和Mallat快速算法的基础上,通过编程对图像进行二维离散小波变换,从而加深对二维小波分解和重构的理性和感性认识,并能提高编程能力,为今后的学习和工作奠定基础。

    实验工具:

    计算机,matlab6.5



    附录:

    1)二维小波分解函数

    %二维小波分解函数

     

    function Y=mallatdec2(X,wname,level)

    %输入:X      载入的二维图像像数值;

    %     level  小波分解次()数设定值(如果设定值超过最高可分解次数,按最高分解次数分解)

    %      wname  小波名字wavelet name

    %输出:Y     多极小波分解后的小波系数矩阵

     

    [h,g]=wfilters(wname,'d');  %h,g分别为低通和高通滤波器

    X=double(X);

    t=1;

    hh=size(X,2);

     

    while t<=level 

        %先进行行小波变换

        for  row=1:hh

            Y(row,1:hh)=mdec1(X(row,1:hh),h,g) ;

        end

        %再进行列小波变换

        for col=1:hh

            temp=mdec1( Y(1:hh,col)',h,g);

            Y(1:hh,col)=temp';

        end

    t=t+1;

    hh=hh/2;

    X=Y;

    end

     

    %内部子函数,对一行(row)矢量进行一次小波变换,利用fft实现

    function y=mdec1(x,h,g)

    %输入:x 行数组

    %     h为低通滤波器

    %     g为高通滤波器

    %输出: y 进行一级小波分解后的系数

    lenx=size(x,2);

    lenh=size(h,2);

     

    rh=h(end:-1:1);

    rrh=[zeros(1,(lenx-lenh)),rh];

    rrh=circshift(rrh',1)';

     

    rg=g(end:-1:1);

    rrg=[zeros(1,(lenx-lenh)),rg];

    rrg=circshift(rrg',1)';

    r1=dyaddown(ifft(fft(x).*fft(rrh,lenx)),1);  %use para 1

    r2=dyaddown(ifft(fft(x).*fft(rrg,lenx)),1);

    y=[r1,r2];

     

    2)二维小波重构函数

    %二维小波重构函数

    function Y=mallatrec2(X,wname,level)

    %输入:X      载入的小波系数矩阵;

    %     level  小波分解次()数设定值(如果设定值超过最高可分解次数,按最高分解次数分解)

    %      wname  小波名字wavelet name

    %输出:Y     重构图像矩阵

     

    [h,g]=wfilters(wname,'d');  %h,g分别为重构低通滤波器和重构高通滤波器

     

    hz=size(X,2);

    h1=hz/(2^(level-1));

    while h1<=hz

        % 对列变换

        for col=1:h1

            temp=mrec1(X(1:h1,col)',h,g)';

            X(1:h1,col)=temp;

        end

        %再对行变换

        for row=1:h1

            temp=mrec1(X(row,1:h1),h,g);

             X(row,1:h1)=temp;

         end

         h1=h1*2;

        

    end

    Y=X;

     

     

     

    %内部子函数,对一行小波系数进行重构

    function y=mrec1(x,h,g)

    %输入:x 行数组

    %     h为低通滤波器

    %     g为高通滤波器

    %输出: y 进行一级小波重构后值

    lenx=size(x,2);

     

     

    r3=dyadup(x(1,1:lenx*0.5),0);   %内插零use para 0

    r4=dyadup(x(1,(lenx*0.5+1):lenx),0);   %use para 0

    y=ifft(fft(r3,lenx).*fft(h,lenx))+ ifft(fft(r4,lenx).*fft(g,lenx));  

     

    3)测试函数(主函数)

    %测试函数(主函数)

    clc;clear;

    X=imread('E:\Libin的文档\Course\Course_wavelet\实验2要求\exp2\LENA.bmp');%路径

     X=double(X);

    A = mallatdec2(X,'sym2',3);

     

    image(abs(A));

    colormap(gray(255));

    title('多尺度分解图像');

    Y= mallatrec2(A,'sym2',3);

    Y=real(Y);

    figure(2);

    subplot(1,2,1);

    image(X);

    colormap(gray(255));

    title('原始图像');

    subplot(1,2,2);

    image(Y);

    colormap(gray(255));

    title('重构图像');

    csize=size(X);

    sr=csize(1);

    sc=csize(2);

    mse=sum(sum( (Y-X).^2,1))/(sr*sc);

    psnr=10*log(255*255/mse)/log(10)

    Torstan

    2005.09.22

    转载于:https://www.cnblogs.com/Torstan/archive/2011/08/31/2161456.html

    展开全文
  • 很容易拿傅里叶变换与小波变换对比着学习,但容易造成越比越混乱的现象,比如Matlab里fft函数所做的事就是离散傅里叶变换DFT,但Matlab里的dwt函数所做的事可不是离散小波变换的定义式,对于不想深入了解只想做应用...

    题目:连续小波变换、离散小波变换、二进小波变换、离散序列的小波变换、小波包

     

            初学小波者尤其是有数字信号处理基础的初学者,很容易拿傅里叶变换与小波变换对比着学习,但容易造成越比越混乱的现象,比如Matlab里fft函数所做的事就是离散傅里叶变换DFT,但Matlab里的dwt函数所做的事可不是离散小波变换的定义式,对于不想深入了解只想做应用的人来讲,真心挺乱的,“我只是想用一下小波变换而已,就像用傅里叶变换一样,至于么?”,其实就是因为一些概念没区分清楚。

    一、连续小波变换(Continuous Wavelet Transform, CWT)

     

            只要学习小波,第一个见到的应该就是连续小波变换了,这个也好理解,公式如下:

     

     

    这就是信号f(t)的连续小波变换公式,其中参数a和b都是连续变化的参数,a为尺度参数(在某种意义上就是频率的概念),b是时间参数或平移参数。不严谨地讲,Wf(a,b)指的是对信号f(t)进行小波变换后当频率为a时间为b时的变换值。可以看出,一维信号f(t)经过小波变换后将变成二维信号。

    二、离散小波变换(Discrete Wavelet Transform, DWT)

            我们关注离散小波变换多数情况实际上是得到一个类似于离散傅里叶变换DFT的变换,时域和变换域都是离散有限长的,方便计算机处理。然而,DWT指的是将CWT中的尺度参数a和平移参数b离散化。这里要特别注意:DWT并没有将信号f(t)和小波ψ(t)中的时间变量t离散化!这与DFT的概念是非常不一样的!!

            在尺度参数a和平移参数b离散过程中,一般对尺度进行幂数级离散化,即令a=a0m,对b均匀离散,考虑到不同尺度下频率不同,因此不同尺度下参数b的离散间隔不同。

    三、二进小波变换(Dyadic Wavelet Transform)

            前面提到,离散小波变换是对尺度参数a和平移参数b都进行了离散化,一般对尺度进行幂数级离散化,即令a=a0m,若特殊化取a0=2,然后保持平移参数b仍是连续的,则这类小波我们称为二进小波变换。总结起来,二进小波变换的概念介于CWT和DWT之间:相比于CWT,二进小波变换的尺度参数是特殊离散化的(a=2m);相比于DWT,二进小波变换的尺度参数不能随意离散,而是特殊离散化的(a=2m),平移参数b是保持连续变化。

    四、离散序列的小波变换

            实际上,很多时候我们绕一大圈是为了研究离散序列的小波变换,即类似于DFT的小波变换。要彻底说明白离散序列的小波变换,这就涉及到多分辨率分析(Multi-ResolutionAnalysis, MRA)、尺度函数、二尺度方程等概念,这就比较麻烦了,我也讲不太好,有兴趣可以看一下几篇网络博客(建议自行搜索,原链接已不存在@20200814):小波分析和尺度函数(上篇、中篇、下篇)、小波变换和motion信号处理(二)。

            到这里有必要提一下正交小波变换,前面说了三种小波变换,但它们的小波基都不是正交的,这会带来一些麻烦,通过它们对信号变换后的信息是有冗余的,因此构建正交小波基是有重要意义的。Mallat给出了一种在正交小波基上的信号分解算法,也就是著明的Mallat算法了。

     

            离散序列的小波变换就是基于著明的Mallat算法,实际上Mallat算法也是针对连续信号的,但在每一层的分解过程中(这里说的每一层实际上就是前面尺度的概念),各层分解系数之间有着某种关系,什么关系呢?那就看看Mallat算法框图吧,如下图所示:

     

     

     

            初始系数x(暂且这么称呼)与其第一层分解后的高频系数D1(细节部分Detail)的关系是x经过高通滤波器g滤波后再下采样,与低频系数A1(近似部分Approximate)的关系是x经过低通滤波器h滤波后再下采样;然后继续对低频系数A1进行第二层分解,低频系数A1与其第二层分解后的高频系数D2(细节部分Detail)的关系是A1经过高通滤波器g滤波后再下采样,与低频系数A1(近似部分Approximate)的关系是A1经过低通滤波器h滤波后再下采样;后面依次类推即可。由于一直在下采样,所以虽然滤波器系数g和h不变,但其滤波带宽一直在减半。初始系数是怎么来的呢?肯定是根据信号得到的,最简单最粗糙的办法就是对信号直接抽样。这是对连续信号进行正交小波分解,有了这些系数,再利用正交小波基,就可以表示出信号了,这类似于连续周期信号的傅里叶级数分解吧。

            从Matllat算法的框图可以看出,从始至终这是对离散序列x再进行变换分解,即初始系数即是离散信号x,经过多层分解后最后各分解系数合起来就是变换的结果。Matlab中的dwt函数可以实现单层分解,相关内容可参见《压缩感知稀疏基之离散小波变换》。

    五、小波包(Wavelet Packet)

            细心的人可能会问,在Mallat算法中为什么只对低频系数继续进行分解呢?是的,这在很多时候并不是最恰当的分解方式,有的时候对高频系数进行分解更合适,有的时候对低频系数进行分解更合适,这要取决于信号的特点。

            小波包的概念大概就是这样子:无论是低频系数还是高频系统都进行同样的分解,然后选取一个最合适的分解路径。怎么评价分解是否是最优的呢?最自然的想法就是利益最大化或者是代价最小化,构建一个代价函数求一下看看如分解代价最小。代价函数有很多种,具体不说了。

    参考文献:

    【1】魏明果.实用小波分析[M].北京:北京理工大学出版社,2005.

    【2】葛哲学,沙威.小波分析理分与MATLAB R2007实现[M].北京:电子工业出版社,2007.

    【3】董长虹. Matlab小波分析工具箱原理与应用[M].北京:国防工业出版社,2004.

     

    展开全文
  • 离散小波变换——二维,图像

    千次阅读 2019-04-16 22:29:00
    二维图像Haar变换 从水平和竖直两个方向进行低通和高通滤波(水平和竖直先后不影响),用图像表述如下所示:a...二维离散小波变换 A是低频信息,H是水平高频信息,V是垂直高频信息、D是对角高频信息。 ...
  • 小波变换原理所谓的小波的小是针对傅里叶波而言,傅里叶波指的是在时域空间无穷震荡的正弦(或余弦波)。相对而言,小波指的是一种能量在时域非常集中的波,它的能量有限,都集中在某一点附近,而且积分的值为零,这...
  • 详细的那个PPT涉及内容包括小波变换发展史, 连续小波变换的原理和性质和注意点, 离散小波变换公式的构造, 多分辨率分析框架, 正交小波变换的Mallat快速算法, 二维离散小波变换. 最后还附有Matlab中涉及一维离散小波...
  • 小波变换去噪桥梁实时监测系统所处环境复杂,信号传输距离较远,不可避免的受到外界的干扰,这些干扰统称为白噪声,它可以使实时监测系统无法甚至错误的工作。信号被噪声污染的程度可用信噪比 SNR(Signal-to-Noise ...
  • https://blog.csdn.net/liusandian/article/details/52472847​blog.csdn.net最近一直想看一看小波变换和Fourier变换的过程,从原理上通透,发现这篇好文。要讲小波变换,我们必须了解傅立叶变换。要了解傅立叶变换...
  • 小波变换是一种新的信号处理方法,基于小波变换和离散小波变换原理和算法,提出利用小波变换系数进行区域保护滤波的方法,并通过对模拟图像和实际测量图像的处理,验证了该方法在处理单光斑二维图像中的有效性。
  • 根据图象小波边缘检测的理论 ,可以适当选择二维二进可分离小波,使得这样的小波可以看成是某一平滑函数θ( x , y )的偏导数: 于是,图象f (x , y )在尺度2 j 下的小波变换可表示为 由此可见图象f (x , y )经过平滑...
  • 前言小波变换专业处理时变信号!其重要用途包含:突变点检测、时频分析、信号降噪等。本文将详细介绍小波变换的这3种主要用途,借助具体例子来说明并总结相关函数的使用。间断点检测现实信号中的间断点是较为常见的...
  •  根据小波的多分辨率分析原理将图像进行多级二维离散小波变换,可以将图像分解成图像近似信号的低频子带和图像细节信号的高频子带。其中,图像中大部分的噪声和一些边缘细节都属于高频子带,而低频
  • 图像处理 离散haar小波变换

    千次阅读 2015-06-04 21:31:33
    //离散Haar小波变换 /* dst深度为IPL_DEPTH_32F nLayer为变换尺度 */ void HaarWavelet(IplImage* src, IplImage* dst, int nLayer);//离散Haar小波变换 /* dst深度为IPL_DEPTH_32F nLayer为变换尺度 */ void ...
  • 小波变换通俗解释 从傅里叶变换到小波变换,并不是一个完全抽象的东西,可以讲得很形象。小波变换有着明确的物理意义,如果我们从它的提出时所面对的问题看起,可以整理出非常清晰的思路。 下面就按照傅里叶-->...
  • (3)小波变换原理及应用

    万次阅读 多人点赞 2018-09-30 14:45:31
    2.5为经过二维离散小波变换的分解后子图像的划分。其中: (l)LL子带是由两个方向利用低通小波滤波器卷积后产生的小波系数,它是图像的近似表示。 (2)HL子带是在行方向利用低通小波滤波器卷积后,再用高通小波...
  • 使用联想链条和几何直观,辅以从实际需求衍生概念的思考模式,详解什么是傅立叶变换,为什么要做傅立叶变换等,帮助记忆和理解,目的当然是标题所说:让你永远忘不了傅立叶变换这个公式。另,这篇博客还从侧面一定...
  • 小波变换和小波阈值法去噪

    万次阅读 多人点赞 2017-07-24 18:05:38
    小波变换是一种信号的时间——尺度(时间——频率)分析方法,它具有多分辨分析的特点,而且在时频两域都具有表征信号局部特征的能力,。在小波分析中经常用到近似和细节,近似表示信号的高尺度,即低频信息;细节...
  • 图像矩阵是二维矩阵,假设图像矩阵大小为N*N,且n=2^n,那么经过一层小波变换后,原始图像便分解为4个分辨率为原来尺寸1/2的子带区域(LL,HL,LH,HH),分别包含了相应频带的小波系数。这一过程相当于在水
  • 基于小波变换的图像增强

    千次阅读 2018-01-09 10:20:13
    基于小波变换的图像修复浅析   摘要 数字图像修复是指利用破损图像中已知信息,对其中特定区域进行合理的信息填充的过程。图像修复的目的是在不破坏图像的完整性和视觉效果的同时,恢复图像的丢失信息或者去除...
  • 大白话讲解小波变换由来

    万次阅读 多人点赞 2017-05-22 17:09:36
    小波的发展历史与驱动傅里叶变换短时傅里叶变换小波变换傅里叶变换小波变换三种变换的对比小波变换离散小波变换连续小波变换小波的多分辨率阐述信号空间尺度函数多分辨率分析多分辨率流程其他突变信号与吉布斯效应...
  • 绘制小波变换时频

    千次阅读 2019-12-11 16:59:27
    一、绘制原理: 需要用到的小波工具箱中的三个函数cwt(),centfrq(),scal2frq() ...COEFS = cwt(S,SCALES,'wname') ...该函数实现连续小波变换,其中S为输入信号,SCALES为尺度,wname为小波...
  • 小波变换——公式整理和简单介绍

    万次阅读 多人点赞 2020-01-14 00:32:15
    based Transforms)正交变换二维情况小波变换的基本原理尺度函数(Father Scaling Function)基本概念哈尔尺度函数尺度函数的要求其他性质小波函数(Mother Wavelet Function)基本概念哈尔小波函数小波级数展开...
  • 本文借用 matlab这门科学和工程计算中常用的处 理软件以及二维小波变换的分解和重构原理,实现了对原始图像的第一、二次压缩,并和单分辨率小波重构的效果作了比较。 关键词 小波分析 图像 压缩 matlab软...
  • 小波变换对图像的分解与重构(含matlab代码)

    万次阅读 多人点赞 2019-02-23 14:22:01
    01 小波变换原理 所谓的小波的小是针对傅里叶波而言,傅里叶波指的是在时域空间无穷震荡的正弦(或余弦波)。 相对而言,小波指的是一种能量在时域非常集中的波,它的能量有限,都集中在某一点附近,而且积分的值...
  • 小波变换压缩编码

    2013-03-20 18:51:44
    论文首先介绍了图像压缩编码的研究背景和论文的研究内容及结构安排,然后详细地从理论上介绍了图像压缩,并讲解了小波变换的由来、定义和特点,以及在分析中所涉及到的连续小波变换、离散小波变换二维小波变换,...
  • 小波变换的理解

    千次阅读 多人点赞 2020-11-01 21:26:25
    2.4 其它补充三、离散小波变换(DWT)的理解3.1 离散小波变换(DWT)的Mallet算法四、总结 前言 小波变换:用于提取信号的局部特征(时域+频域信息) 小波变换是在傅里叶变换的基础上,发展而来,因此,在学习小波...
  • 小波变换是在短时傅里叶变换的基础上发展起来的一种新型变换方法,他是一种时—频分析法,具有多分辨率分析(MultiresolutionAnalysis)的特点,而且在时、频域都具有表征信号局部特征的能力,是一种窗口大小不变、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,509
精华内容 603
关键字:

二维离散小波变换的原理图