matlab小波分解图像,MATLAB小波图像分解
上一篇文章中我们实现了小波的一维、二维信号分解与重构,其中的二维信号分解与重构,只要稍作修改,就可以实现图像的分解和重构了。修改的工作,主要是对图像信号进行规范化处理、数据格式转换和绘图细节处理等。
简单起见,我们从黑白(灰度)图像的分解、重构说起,因为彩色图像的处理要复杂一点。在本文中,我们使用著名的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小波图像分解相关推荐
- matlab dwt 多层分解,多尺度小波分解Matlab/Python实现与原理分析
小波分解的理解 Matlab中实现小波分解方式 在matlab中实现小波分解的方式比较简单,通过[C,L] = wavedec(X,N,'wname')得到C和L,如下图,C表示分解得到的各个层的小波 ...
- matlab 小波启发式阈值滤波,小波阈值去噪
小波阈值去噪 小波阈值去噪 目录 1.概念 2.原理 3.影响降噪效果的因素 3.1小波基的选择 3.2分解层数的选择 3.3阈值的选择 3.4阈值函数的选择 4.MATLAB代码 参考文献 小波分析 ...
- 小波学习笔记——MATLAB
使用MATLAB进行小波的学习,学习尺度函数.小波函数以及小波函数构造的方法 1.db3小波器的提取 2.对一维信号进行小波滤波 3.对图片进行小波滤波 4.自己构建dbN小波滤波器 5.用Casca ...
- 离散小波matlab程序,三维离散小波变换matlab实现.pdf
维普资讯 2006年第 5期 大 众 科 技 NO.5,2006 (总第91期) DAZHONG KEJ (CumulativelyNo.91) 三维离散小波变换的matlab实现 刘 丽 1,2 ( ...
- 应用小波图像去噪的Matlab 实现
小波图像去噪的方法大概分为3类 1:基于小波变换摸极大值原理 2:基于小波变换系数的相关性 3:基于小波阈值的去噪. 基于小波阈值的去噪方法3个步骤: 1: 计算含噪声图像的小波变换.选择合适的小波基 ...
- 【图像去噪】基于matlab GUI butterworth+中值+维纳+小波图像去噪【含Matlab源码 520期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab GUI butterworth+中值+维纳+小波图像去噪[含Matlab源码 520期] 获取代码方式2: ...
- 小波包matlab,小波分析(第三讲)小波包二代小波Matlab工具使用
<小波分析(第三讲)小波包二代小波Matlab工具使用>由会员分享,可在线阅读,更多相关<小波分析(第三讲)小波包二代小波Matlab工具使用(82页珍藏版)>请在人人文库网上 ...
- 舰船辐射噪声 matlab,基于MATLAB的舰船辐射噪声信号小波消噪处理
基于MATLAB的舰船辐射噪声信号小波消噪处理 针对舰船辐射噪声信号的特点提出了小波消噪的方法,对小波消噪理论作了简要的阐述,并设计了一种消噪方案,最后利用MATLAB,在计算机 (本文共4页) 阅读 ...
- 基于小波图像去噪的MATLAB实现
基于小波图像去噪的MATLAB实现 一.课题背景 数字图像处理(Digital Image Processing,DIP)是指用计算机辅助技术对图像信号进行处理的过程.数字图像处理最早出现于 20世纪 ...
- matlab 小波中心频率,小波频域特性Matlab实现.pdf
小波频域特性Matlab实现 小波频域特性– Matlab实现 东北大学 信号与信息处理研究所 栾峰 副教授 /luanfeng /luanfeng 编程示例 例 下面给出了一个信号的连续小波变换的例 ...
最新文章
- maven之setting.xml的配置详解
- Microsoft SharePoint Portal Server 2003 订制开发研讨(流水帐)
- 江苏一动物园现“旋转活马” 园方:创意来自马术训练
- 牛客网 【每日一题】5月28日题目精讲 Protecting the Flowers
- 计算机数据链路层教案,第三章 数据链路层(2) 新.ppt
- python asyncio和celery对比_如何将Celery与asyncio结合起来?
- MySQL 递归查询 当前节点及子节点
- 可以用树结构表达版本号
- Ubuntu 中搭建 LAMP 及 php 开发工具
- Activity 过渡动画 — 让切换更加炫酷
- 思科交换机配置基础 Cisco 2960-24
- c语言编程中分数怎么表示,用C语言编程平均分数
- 深度学习与计算机视觉教程(15) | 视觉模型可视化与可解释性(CV通关指南·完结)
- 苹果手机如何深度清理_手机应用 | 推荐5款深度清理手机内存的软件
- google fonts 国内使用方案
- python 爬虫http2
- 树莓派的mjpeg-streamer实现简单的监控功能
- source music play list 11-26 (edit 12-6 by clin003 )
- 【惊】Spring源码的秘密|一起看看Spring启动时究竟做了什么惊天动地的事情?
- Android程序如何读取手机联系人