上一篇文章中我们实现了小波的一维、二维信号分解与重构,其中的二维信号分解与重构,只要稍作修改,就可以实现图像的分解和重构了。修改的工作,主要是对图像信号进行规范化处理、数据格式转换和绘图细节处理等。

简单起见,我们从黑白(灰度)图像的分解、重构说起,因为彩色图像的处理要复杂一点。在本文中,我们使用著名的Lena图作为原始图像。

图1

首先,为了实现图像的N层分解,对一幅m行n列的黑白图像,我们要对其进行规范化处理,使其能被2的N次方整除。以下的modmat() 函数实现此功能:

function y=modmat(x,dim)

% 函数 MODMAT() 对输入矩阵x进行规范化,使其行列数均能被 2^dim 整除

% 输入参数:x —— r*c 维矩阵;

%           dim —— 矩阵重构的维数

% 输出参数:y —— rt*ct 维矩阵,mod(rt,2^dim)=0,mod(ct,2^dim)=0

[row,col]=size(x);          % 求出输入矩阵的行列数row,col

rt=row - mod(row,2^dim);    % 将row,col分别减去本身模 2^dim 得到的数

ct=col - mod(col,2^dim);    % 所得的差为rt、ct,均能被 2^dim 整除

y=x(1:rt,1:ct);             % 输出矩阵 y 为输入矩阵 x 的 rt*ct 维子矩阵

然后,将规范化后的图像的数据格式由适合显示图像的uint8格式转换为适合数值处理的double格式,再调用二维小波分解函数进行图像分解,最后为了清晰地显示分解图像的塔式结构,在图像的相应区域绘制若干分界线。具体程序如下:

function y=mywavedec2(x,dim)

% 函数 MYWAVEDEC2() 对输入矩阵 x 进行 dim 层分解,得到相应的分解系数矩阵 y

% 输入参数:x —— 输入矩阵;

%           dim —— 分解层数。

% 输出参数:y —— 分解系数矩阵。

x=modmat(x,dim);            % 首先规范化输入矩阵,使其行列数均能被 2^dim 整除

subplot(121);imshow(x);title('原始图像');   % 画出规范化后的源图像

[m,n]=size(x);              % 求出规范化矩阵x的行列数

xd=double(x);               % 将矩阵x的数据格式转换为适合数值处理的double格式

for i=1:dim

xd=modmat(xd,1);

[dLL,dHL,dLH,dHH]=mydwt2(xd);   % 矩阵小波分解

tmp=[dLL,dHL;dLH,dHH];          % 将分解系数存入缓存矩阵

xd=dLL;                         % 将缓存矩阵左上角部分的子矩阵作为下一层分解的源矩阵

[row,col]=size(tmp);            % 求出缓存矩阵的行列数

y(1:row,1:col)=tmp;             % 将缓存矩阵存入输出矩阵的相应行列

end

yd=uint8(y);            % 将输出矩阵的数据格式转换为适合显示图像的uint8格式

for i=1:dim             % 对矩阵 yd 进行分界线处理,画出分解图像的分界线

m=m-mod(m,2);

n=n-mod(n,2);

yd(m/2,1:n)=255;

yd(1:m,n/2)=255;

m=m/2;n=n/2;

end

subplot(122);imshow(yd);title([ num2str(dim) ' 维小波分解图像']);

上述的图像分解程序,其输出数据是double格式的,以便作为重构程序的输入。

matlab小波分解图像,MATLAB小波图像分解相关推荐

  1. matlab dwt 多层分解,多尺度小波分解Matlab/Python实现与原理分析

    小波分解的理解 Matlab中实现小波分解方式 在matlab中实现小波分解的方式比较简单,通过[C,L] = wavedec(X,N,'wname')得到C和L,如下图,C表示分解得到的各个层的小波 ...

  2. matlab 小波启发式阈值滤波,小波阈值去噪

    小波阈值去噪 小波阈值去噪 目录 1.概念 2.原理 3.影响降噪效果的因素 3.1小波基的选择 3.2分解层数的选择 3.3阈值的选择 3.4阈值函数的选择 4.MATLAB代码 参考文献 小波分析 ...

  3. 小波学习笔记——MATLAB

    使用MATLAB进行小波的学习,学习尺度函数.小波函数以及小波函数构造的方法 1.db3小波器的提取 2.对一维信号进行小波滤波 3.对图片进行小波滤波 4.自己构建dbN小波滤波器 5.用Casca ...

  4. 离散小波matlab程序,三维离散小波变换matlab实现.pdf

    维普资讯 2006年第 5期 大 众 科 技 NO.5,2006 (总第91期) DAZHONG KEJ (CumulativelyNo.91) 三维离散小波变换的matlab实现 刘 丽 1,2 ( ...

  5. 应用小波图像去噪的Matlab 实现

    小波图像去噪的方法大概分为3类 1:基于小波变换摸极大值原理 2:基于小波变换系数的相关性 3:基于小波阈值的去噪. 基于小波阈值的去噪方法3个步骤: 1: 计算含噪声图像的小波变换.选择合适的小波基 ...

  6. 【图像去噪】基于matlab GUI butterworth+中值+维纳+小波图像去噪【含Matlab源码 520期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab GUI butterworth+中值+维纳+小波图像去噪[含Matlab源码 520期] 获取代码方式2: ...

  7. 小波包matlab,小波分析(第三讲)小波包二代小波Matlab工具使用

    <小波分析(第三讲)小波包二代小波Matlab工具使用>由会员分享,可在线阅读,更多相关<小波分析(第三讲)小波包二代小波Matlab工具使用(82页珍藏版)>请在人人文库网上 ...

  8. 舰船辐射噪声 matlab,基于MATLAB的舰船辐射噪声信号小波消噪处理

    基于MATLAB的舰船辐射噪声信号小波消噪处理 针对舰船辐射噪声信号的特点提出了小波消噪的方法,对小波消噪理论作了简要的阐述,并设计了一种消噪方案,最后利用MATLAB,在计算机 (本文共4页) 阅读 ...

  9. 基于小波图像去噪的MATLAB实现

    基于小波图像去噪的MATLAB实现 一.课题背景 数字图像处理(Digital Image Processing,DIP)是指用计算机辅助技术对图像信号进行处理的过程.数字图像处理最早出现于 20世纪 ...

  10. matlab 小波中心频率,小波频域特性Matlab实现.pdf

    小波频域特性Matlab实现 小波频域特性– Matlab实现 东北大学 信号与信息处理研究所 栾峰 副教授 /luanfeng /luanfeng 编程示例 例 下面给出了一个信号的连续小波变换的例 ...

最新文章

  1. maven之setting.xml的配置详解
  2. Microsoft SharePoint Portal Server 2003 订制开发研讨(流水帐)
  3. 江苏一动物园现“旋转活马” 园方:创意来自马术训练
  4. 牛客网 【每日一题】5月28日题目精讲 Protecting the Flowers
  5. 计算机数据链路层教案,第三章 数据链路层(2) 新.ppt
  6. python asyncio和celery对比_如何将Celery与asyncio结合起来?
  7. MySQL 递归查询 当前节点及子节点
  8. 可以用树结构表达版本号
  9. Ubuntu 中搭建 LAMP 及 php 开发工具
  10. Activity 过渡动画 — 让切换更加炫酷
  11. 思科交换机配置基础 Cisco 2960-24
  12. c语言编程中分数怎么表示,用C语言编程平均分数
  13. 深度学习与计算机视觉教程(15) | 视觉模型可视化与可解释性(CV通关指南·完结)
  14. 苹果手机如何深度清理_手机应用 | 推荐5款深度清理手机内存的软件
  15. google fonts 国内使用方案
  16. python 爬虫http2
  17. 树莓派的mjpeg-streamer实现简单的监控功能
  18. source music play list 11-26 (edit 12-6 by clin003 )
  19. 【惊】Spring源码的秘密|一起看看Spring启动时究竟做了什么惊天动地的事情?
  20. Android程序如何读取手机联系人

热门文章

  1. latex制作中英文简历(含模板代码)
  2. 有关彩虹猫病毒的一些小小的分析
  3. 统一建模语言UML概述
  4. mescroll.js 的下拉刷新和上拉加载 tab切换
  5. 计算机视觉硕士课程南京大学,南京大学计算机系研究生课程文库
  6. ttf字体文件抽取自己想要的字
  7. QT网络编程TCP/UDP开发流程 制作网络调试助手
  8. 冒险者传说pc6java_我的世界之冒险者传说整合包游戏
  9. 通俗易懂的TextCNN
  10. 扩展欧几里得算法(简单易懂,详细分析)