wavedec2函数及使用

在MATLAB中,进行小波分解及其逆运算是处理图像的一种常见方法,尤其适用于图像分析、压缩和去噪等场景。wavedec2函数可以对二维信号(例如图像)进行多级小波分解,而waverec2函数则用于进行相应的逆运算。以下是如何使用这两个函数进行3层小波分解及其逆运算的步骤。

1. 准备工作

首先,确保你的MATLAB安装了小波工具箱(Wavelet Toolbox),因为wavedec2waverec2函数是这个工具箱的一部分。

2. 小波分解

小波分解的函数原型如下:

[C,S] = wavedec2(X, N, Lo_D, Hi_D);
  • X是待分解的二维信号,即图像数据。
  • N是分解的层数。
  • Lo_D是小波分解的低通滤波器。
  • Hi_D是小波分解的高通滤波器。
  • C是小波分解的系数。
  • S是小波分解的书签矩阵,记录了分解过程中每一层的维度信息。

3. 小波重构

小波重构的函数原型如下:

X = waverec2(C, S, Lo_R, Hi_R);
  • CSwavedec2的输出。
  • Lo_RHi_R分别是小波重构的低通和高通滤波器,通常和分解时使用的滤波器相同。
  • X是重构后的图像。

MATLAB代码

以下是一个使用wavedec2waverec2进行3层小波分解及其逆运算的简单示例。这里使用MATLAB内置的haar小波进行演示。

这个例子中,我们首先读取一幅图像并将其转换为灰度图像(如果已经是灰度图,这一步可以省略)。然后,我们选择haar小波和分解层数N为3进行分解和重构。最后,我们展示了原图和重构后的图像进行比较。

请注意,小波分解和重构可能会引入一定的误差,特别是在进行多层分解时。此外,示例中使用的图像和小波基(如haar)可能需要根据实际应用场景进行调整。

clc ;
clearvars;
close all;

% 读取图像
X = imread('lena256.bmp');
% X = rgb2gray(X); % 转换为灰度图,如果是灰度图可以跳过这步
% X = double(X); % 转换为double类型

% 选择小波基和分解层数
wavelet = 'haar';
N = 3;

% 进行3层小波分解
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(wavelet);
[C,S] = wavedec2(X, N, Lo_D, Hi_D);

% 使用相同的小波基进行重构
X_reconstructed = waverec2(C, S, Lo_R, Hi_R);

% 显示原图和重构图像
subplot(1,2,1), imshow(uint8(X)), title('Original Image');
subplot(1,2,2), imshow(uint8(X_reconstructed)), title('Reconstructed Image');

输出结果

在这里插入图片描述

变量情况

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/506533.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【树状数组专题】【蓝桥杯备考训练】:数星星、动态求连续区间和、一个简单的整数问题、一个简单的整数问题2【已更新完成】

目录 1、数星星(《信息学奥赛一本通》 & ural 1028) 思路: 基本思路: 树状数组经典三函数: 1、lowbit()函数 2、query()函数 3、add()函数 最终代码: 2、动态求连续区间和(《信息学奥赛一本…

笔记本三屏异显方案——更新中,是否能够在FPGA上实现,淘宝购物的价格太贵

三屏是(笔记本电脑屏幕,两个显示器屏幕),异显是采用屏幕的扩展功能,这样能够左边看视频文章,右边control cv代码。 一、 电脑有一个HDMI口的时候,只需要买一个TypeC(雷电接口&#x…

ruoyi-nbcio-plus基于vue3的flowable任务监听器的升级修改

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

基于Springboot点餐平台网站

采用技术 基于Springboot点餐平台网站的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 菜品评价管理 订单管理 前台首页 管理员登录 用户管理 菜品分…

MATLAB小波包分解及逆向操作

MATLAB代码 % 载入图像 grayImg imread(lena256.bmp); % 替换为你的图像路径% 选择小波函数和分解级别 waveletFunction db1; level 2;% 执行WPT正向分解 wp wpdec2(double(grayImg), level, waveletFunction);% 从小波包分解中重建图像(逆向运算) r…

【数字IC/FPGA】手撕代码:模3检测器(判断输入序列能否被3整除)

今天我们来手撕一个常见的笔试题,使用的方法是三段式Moore状态机。 题目描述: 输入端口是串行的1bit数据,每个时钟周期进来一位新数据后,实时检查当前序列是否能整除3,若能则输出1,否则输出0。 例如&#…

webpack搭建开发环境

webpack搭建开发环境 一.webpack开发模式二.webpack打包模式三.webpack打包模式应用四.Webpack 前端注入环境变量五.Webpack 开发环境调错 source map六. Webpack 设置解析别名路径七.优化-CDN的使用八.多页面打包九.优化-分割公共代码一.webpack开发模式 作用:启动 Web 服务…

亮数据,可视化数据采集强大利器

前言 随着信息技术的飞速发展,我们已经进入了一个以数据为中心的世纪。在这个时代,数据不仅仅是信息的载体,它已经成为了推动社会进步、创新科技、增强决策和驱动经济增长的关键资源。 在这个数据世纪中,掌握数据的能力等同于掌…

[计算机效率] 文件对比工具:Beyond Compare 4

3.10 文件对比工具:Beyond Compare 4 Beyond Compare 4是一款功能强大的文件和文件夹比较工具,它能够帮助用户在不同系统或版本之间快速比较和同步文件和文件夹。以下是Beyond Compare 4软件的一些主要特点: 文件和文件夹比较:Be…

普发Pfeiffer 真空TCP120-TCP380-TCP035-TCP600 使用手侧

普发Pfeiffer 真空TCP120-TCP380-TCP035-TCP600 使用手侧

MultiPath HTTP:北大与华为合作部署FLEETY

当前的终端基本都能支持蜂窝网络和wifi网络,然而,不同的网络通路都不可避免的会出现信号不好或者其他因素引起的通路性能(吞吐量、时延等)下降。为了能够提升终端业务体验,很多不同的MultiPath方案被提出,其中,包括应用…

程序运行要求,三角形三边的值来自于本地一个文本文件input.txt,三角形类型的值最终存储于本地文本文件out.txt中。

本周完成如下2个实验: 面向对象数据持久化编程,使用java编写程序,完成三角形的类型判断,程序模块要求如下: 创建三角形对象triangle,该对象属性有三边a,b,c,该对象有: 方法1&#xf…

linux 软中断入门

在 linux 中,任务执行的载体有很多,包括线程,中断,软中断,tasklet,定时器等。但是从本质上来划分的话,任务执行的载体只有两个:线程和中断。软中断和 tasklet 的执行可能在中断中&am…

【无限列车1】SpringCloudAlibaba 与 SpringBoot后端架构的搭建

【无限列车1】SpringCloudAlibaba 与 SpringBoot后端架构的搭建 1、版本说明二、日志相关配置3、AOP 打印日志 1、版本说明 【SpringCloud 版本说明】https://sca.aliyun.com/zh-cn/docs/2022.0.0.0-RC1/overview/version-explain 🖊 RC(Release Candi…

离散数学--谓词逻辑之复习与前束范式与谓词演算的推理理论

引子:在命题演算中,常常要化成规范形式,对于谓词的演算,可以化成与他等价的范式! 前束范式定义: 一个公式,如果量词均非否定地在全式的开头,它们的作用域延伸到整个公式的末尾&…

绘制空心环形

1.通过几个div拼接绘制空心环形进度条。 通过 -webkit-mask: radial-gradient(transparent 150px, #fff 150px);绘制空心圆 html:<body><div class"circle"><div class"circle-left"></div><div class"circle-left-mask&…

maven知识加强理解

maven知识 聚合: 父工程通过 modules标签&#xff0c;将子模块聚集起来&#xff0c;好处方便管理&#xff0c;父工程执行maven命令&#xff0c;所有的子模块都会执行 继承: 子模块通过parent标签&#xff0c;可以从父工程继承一些依赖 maven生命周期 三套 第一套:clean清理 第…

蓝桥杯(更新中)

递归与递推 递归 1.指数型枚举 解析&#xff1a;从 1 ∼ n 这 n 个整数中随机选取任意多个&#xff0c;输出所有可能的选择方案。 思路&#xff1a;枚举每一位对应的数字选与不选&#xff0c;例如&#xff1a;第一位对应的数字为1&#xff0c;有一种方案是选1&#xff0c;另…

IC-随便记

1、移远通信---通信模组 物联网解决方案供应商&#xff0c;可提供完备的IoT产品和服务&#xff0c;涵盖蜂窝模组(5G/4G/3G/2G/LPWA)、车载前装模组、智能模组&#xff08;5G/4G/边缘计算&#xff09;、短距离通信模组(Wi-Fi&BT)、GNSS定位模组、卫星通信模组、天线等硬件产…

java数据结构与算法刷题-----LeetCode279. 完全平方数

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 动态规划四平方和定理 动态规划 解题思路&#xff1a;时间复杂度…