<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/622b7cdc3d2fbb00075d5335/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/622b7cdc3d2fbb00075d5335/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">7.4 <span class="ff2">编程实现例<span class="_ _0"> </span></span>7.4<span class="_ _0"> </span><span class="ff2">中可分离二维二进小波的快速分解与重构算法</span></div><div class="t m0 x1 h3 y3 ff1 fs0 fc0 sc0 ls0 ws0">(1) <span class="ff2 sc1">算法实现</span></div><div class="t m0 x2 h3 y4 ff2 fs0 fc0 sc0 ls0 ws0">使用<span class="_ _1"> </span><span class="ff1">matlab<span class="_ _0"> </span></span>来<span class="_ _2"></span>实现<span class="_ _2"></span>非正<span class="_ _2"></span>交二<span class="_ _2"></span>次样<span class="_ _2"></span>条二<span class="_ _2"></span>维二<span class="_ _2"></span>进小<span class="_ _2"></span>波的<span class="_ _3"></span>快速<span class="_ _3"></span>分<span class="_ _3"></span>解<span class="_ _3"></span>和<span class="_ _3"></span>重<span class="_ _3"></span>构<span class="_ _3"></span>,<span class="_ _3"></span>实<span class="_ _3"></span>现<span class="_ _3"></span>的<span class="_ _3"></span>函<span class="_ _3"></span>数<span class="_ _3"></span>说<span class="_ _3"></span>明如</div><div class="t m0 x1 h3 y5 ff2 fs0 fc0 sc0 ls0 ws0">下</div><div class="t m0 x1 h4 y6 ff3 fs0 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">function [a, d1, d2] = swt1_decomp(x,n,h,g)</span></div><div class="t m0 x3 h3 y7 ff2 fs0 fc0 sc0 ls0 ws0">函数功能:</div><div class="t m0 x4 h3 y8 ff2 fs0 fc0 sc0 ls0 ws0">二维二进小波分解</div><div class="t m0 x3 h3 y9 ff2 fs0 fc0 sc0 ls0 ws0">输入参数:</div><div class="t m0 x4 h3 ya ff1 fs0 fc0 sc0 ls0 ws0">x – <span class="ff2">待分解的二维数组</span></div><div class="t m0 x4 h3 yb ff1 fs0 fc0 sc0 ls0 ws0">n – <span class="ff2">分解的级数</span></div><div class="t m0 x4 h3 yc ff1 fs0 fc0 sc0 ls0 ws0">h – <span class="ff2">分解低通滤波器系数</span></div><div class="t m0 x4 h3 yd ff1 fs0 fc0 sc0 ls0 ws0">g – <span class="ff2">分解高通滤波器系数</span></div><div class="t m0 x3 h3 ye ff2 fs0 fc0 sc0 ls0 ws0">输出参数:</div><div class="t m0 x4 h3 yf ff1 fs0 fc0 sc0 ls0 ws0">a – <span class="ff2">逼近矩阵</span></div><div class="t m0 x4 h3 y10 ff1 fs0 fc0 sc0 ls0 ws0">d1 – <span class="ff2">水平细节信息矩阵</span></div><div class="t m0 x4 h3 y11 ff1 fs0 fc0 sc0 ls0 ws0">d2 – <span class="ff2">竖直细节信息矩阵</span></div><div class="t m0 x1 h4 y12 ff3 fs0 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">function x = swt1_recon(a,d1,d2,n,h,g,l)</span></div><div class="t m0 x3 h3 y13 ff2 fs0 fc0 sc0 ls0 ws0">函数功能:</div><div class="t m0 x4 h3 y14 ff2 fs0 fc0 sc0 ls0 ws0">二维二进小波重构</div><div class="t m0 x3 h3 y15 ff2 fs0 fc0 sc0 ls0 ws0">输入参数:</div><div class="t m0 x4 h3 y16 ff1 fs0 fc0 sc0 ls0 ws0">a – <span class="ff2">逼近矩阵</span></div><div class="t m0 x4 h3 y17 ff1 fs0 fc0 sc0 ls0 ws0">d1 – <span class="ff2">水平细节信息矩阵</span></div><div class="t m0 x4 h3 y18 ff1 fs0 fc0 sc0 ls0 ws0">d2 – <span class="ff2">竖直细节信息矩阵</span></div><div class="t m0 x4 h3 y19 ff1 fs0 fc0 sc0 ls0 ws0">n – <span class="ff2">重构的级数</span></div><div class="t m0 x4 h3 y1a ff1 fs0 fc0 sc0 ls0 ws0">h – <span class="ff2">重构低通滤波器系数</span></div><div class="t m0 x4 h3 y1b ff1 fs0 fc0 sc0 ls0 ws0">g – <span class="ff2">重构高通滤波器系数</span></div><div class="t m0 x4 h3 y1c ff1 fs0 fc0 sc0 ls0 ws0">l – <span class="ff2">重构滤波器系数</span></div><div class="t m0 x3 h3 y1d ff2 fs0 fc0 sc0 ls0 ws0">输出参数:</div><div class="t m0 x4 h3 y1e ff1 fs0 fc0 sc0 ls0 ws0">x – <span class="ff2">重构的二维数组</span></div><div class="t m0 x1 h3 y1f ff2 fs0 fc0 sc0 ls0 ws0">在实现以上函数时主要用到了以下<span class="_ _0"> </span><span class="ff1">wavelet toolbox<span class="_ _0"> </span></span>中的函数<span class="ff1">:</span></div><div class="t m0 x1 h3 y20 ff3 fs0 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">wconv<span class="_ _0"> </span><span class="ff2">函数对二维数组和滤波器进行卷积运算</span></span></div><div class="t m0 x1 h3 y21 ff3 fs0 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">wextend<span class="_ _0"> </span><span class="ff2">函数在卷积前对二维图像进行周期延拓</span></span></div><div class="t m0 x1 h3 y22 ff3 fs0 fc0 sc0 ls0 ws0"><span class="_ _4"> </span><span class="ff1">wkeep<span class="_ _0"> </span><span class="ff2">函数对卷积结果进行截断</span></span></div><div class="t m0 x1 h3 y23 ff2 fs0 fc0 sc0 ls0 ws0">还用到了<span class="_ _0"> </span><span class="ff1">dyadup<span class="_ _0"> </span></span>和<span class="_ _0"> </span><span class="ff1">dyaddown<span class="_ _0"> </span></span>对滤波器进行上抽样和下抽样。</div><div class="t m0 x1 h3 y24 ff1 fs0 fc0 sc0 ls0 ws0">(2) <span class="ff2 sc1">测试结果</span></div><div class="t m0 x1 h3 y25 ff2 fs0 fc0 sc0 ls0 ws0">以下是使用所实现的算法对二维图片的测试结果</div><div class="t m0 x1 h3 y26 ff2 fs0 fc0 sc0 ls0 ws0">图片大小为<span class="_ _0"> </span><span class="ff1">256*256</span>,使用<span class="_ _0"> </span><span class="ff1">4<span class="_ _0"> </span></span>级二进小波进行分解</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
</body>
</html>