• 大小: 44KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: Matlab
  • 标签: matlab  

资源简介

剪切波变换MATLAB实现代码,包含2D及3D图片的,还有对应的反变换代码

资源截图

代码片段和文件信息

function [h0 h1] = dfilters(fname type)
% DFILTERS Generate directional 2D filters
%
% [h0 h1] = dfilters(fname type)
%
% Input:
% fname: Filter name.  Available ‘fname‘ are:
% ‘haar‘: the “Haar“ filters
% ‘vk‘: McClellan transformed of the filter from
%     the VK book
% ‘ko‘: orthogonal filter in the Kovacevic‘s paper
% ‘kos‘: smooth ‘ko‘ filter
% ‘lax‘: 17 x 17 by Lu Antoniou and Xu
% ‘sk‘: 9 x 9 by Shah and Kalker
% ‘cd‘: 7 and 9 McClellan transformed by 
%                        Cohen and Daubechies
% ‘pkva‘: ladder filters by Phong et al.
% ‘oqf_362‘: regular 3 x 6 filter
%       ‘dvmlp‘  :  regular linear phase biorthogonal filter with 3 dvm
% ‘sinc‘: ideal filter (*NO perfect recontruction*)
%       ‘dmaxflat‘: diamond maxflat filters obtained from a three stage ladder
%
%      type: ‘d‘ or ‘r‘ for decomposition or reconstruction filters
%
% Output:
% h0 h1: diamond filter pair (lowpass and highpass)

% To test those filters (for the PR condition for the FIR case) verify that:
% conv2(h0 modulate2(h1 ‘b‘)) + conv2(modulate2(h0 ‘b‘) h1) = 2
% (replace + with - for even size filters)
%
% To test for orthogonal filter
% conv2(h reverse2(h)) + modulate2(conv2(h reverse2(h)) ‘b‘) = 2
%
% Part of the Nonsubsampled Contourlet Toolbox
% (http://www.mathworks.de/matlabcentral/fileexchange/10049-nonsubsampled-contourlet-toolbox)

% The diamond-shaped filter pair

switch fname
    case {‘haar‘}
if lower(type(1)) == ‘d‘
    h0 = [1 1] / sqrt(2);
    h1 = [-1 1] / sqrt(2);
else
    h0 = [1 1] / sqrt(2);
    h1 = [1 -1] / sqrt(2);
end

    case ‘vk‘ % in Vetterli and Kovacevic book
if lower(type(1)) == ‘d‘
    h0 = [1 2 1] / 4;
    h1 = [-1 -2 6 -2 -1] / 4;
else
    h0 = [-1 2 6 2 -1] / 4;
    h1 = [-1 2 -1] / 4;
end

% McClellan transfrom to obtain 2D diamond filters
t = [0 1 0; 1 0 1; 0 1 0] / 4; % diamond kernel
h0 = ftrans2(h0 t);
h1 = ftrans2(h1 t);

    case ‘ko‘ % orthogonal filters in Kovacevic‘s thesis
a0 = 2; a1 = 0.5; a2 = 1;

h0 = [0      -a1 -a0*a1 0;
      -a2 -a0*a2 -a0    1;
      0 a0*a1*a2 -a1*a2 0];

% h1 = qmf2(h0);
h1 = [0 -a1*a2 -a0*a1*a2 0;
      1     a0 -a0*a2 a2;
      0 -a0*a1  a1 0];

% Normalize filter sum and norm;
norm = sqrt(2) / sum(h0(:));

h0 = h0 * norm;
h1 = h1 * norm;
      
if type == ‘r‘
    % Reverse filters for reconstruction
    h0 = h0(end:-1:1 end:-1:1);
    h1 = h1(end:-1:1 end:-1:1);
end
    
    case ‘kos‘ % Smooth orthogonal filters in Kovacevic‘s thesis
a0 = -sqrt(3); a1 = -sqrt(3); a2 = 2+sqrt(3);

h0 = [0      -a1 -a0*a1 0;
      -a2 -a0*a2 -a0    1;
      0 a0*a1*a2 -a1*a2 0];

% h1 = qmf2(h0);
h1 = [0 -a1*a2 -a0*a1*a2 0;
      1     a0 -a0*a2 a2;
      0 -a0*a1  a1 0];

% Normalize filter sum and norm;
norm = sqrt(2) / sum(h0(:));

h0 = h0 * 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      13383  2014-11-11 07:50  2D\dfilters.m

     文件       2753  2014-11-10 02:13  2D\dmaxflat.m

     文件      10472  2014-11-10 02:15  2D\MakeONFilter.m

     文件       1005  2014-11-10 02:13  2D\mctrans.m

     文件        713  2014-11-10 02:15  2D\MirrorFilt.m

     文件        921  2014-11-10 02:14  2D\modulate2.m

     文件       5004  2016-05-03 01:16  2D\SLcheckFilterSizes.m

     文件        827  2016-05-03 01:16  2D\SLcomputePSNR.m

     文件        669  2016-05-03 01:17  2D\SLcomputeSNR.m

     文件        961  2016-05-03 01:17  2D\SLdshear.m

     文件       1770  2016-05-03 01:14  2D\SLExampleImageDenoising.m

     文件       1860  2016-05-03 01:14  2D\SLExampleImageDenoisingGPU.m

     文件       2104  2016-05-03 01:15  2D\SLExampleImageDenoisingSerial.m

     文件       2293  2016-05-03 01:15  2D\SLExampleImageDenoisingSerialGPU.m

     文件       1832  2016-05-03 01:17  2D\SLfiltersToGPU2D.m

     文件       1466  2016-05-03 01:17  2D\SLfiltersToGPU3D.m

     文件       1895  2016-05-03 01:11  2D\SLfinishSerial2D.m

     文件       4213  2016-05-03 01:11  2D\SLgetShearletIdxs2D.m

     文件       5471  2016-05-03 01:17  2D\SLgetShearlets2D.m

     文件       8941  2016-05-03 01:17  2D\SLgetShearlets3D.m

     文件       8071  2016-05-03 01:11  2D\SLgetShearletSystem2D.m

     文件       3987  2016-05-03 01:12  2D\SLgetSubsystem2D.m

     文件       7458  2016-05-03 01:17  2D\SLgetWedgeBandpassAndLowpassFilters2D.m

     文件       1058  2016-05-03 01:17  2D\SLnormalizeCoefficients2D.m

     文件       1062  2016-05-03 01:17  2D\SLnormalizeCoefficients3D.m

     文件       1215  2016-05-03 01:17  2D\SLpadArray.m

     文件       5893  2016-05-03 01:17  2D\SLprepareFilters2D.m

     文件       5981  2016-05-03 01:17  2D\SLprepareFilters3D.m

     文件       7188  2016-05-03 01:12  2D\SLprepareSerial2D.m

     文件       2472  2016-05-03 01:12  2D\SLsheardec2D.m

............此处省略8个文件信息

评论

共有 条评论