9-2 小波滤波器、去噪、增强、变换(matlab程序)

news2024/11/17 3:38:26

1.简述

小波去噪滤波算法是一种基于小波变换的滤波方法,它通过对信号进行小波变换来分解信号的频率分量,并根据信号的特点选择合适的阈值处理方法来去除噪声。该算法的主要思想是将信号分解成多个频率分量,根据信号的特点选择合适的阈值处理方法对每个频率分量进行去噪处理,然后将去噪后的频率分量进行合成,得到平滑后的信号。 具体来说,小波去噪滤波算法的步骤如下:

  1. 对信号进行小波分解,得到多个频率分量。
  2. 对每个频率分量进行阈值处理,去除噪声。
  3. 将去噪后的频率分量进行合成,得到平滑后的信号。小波去噪滤波算法的优点是可以有效地去除噪声,同时保留信号的整体趋势;缺点是需要选择合适的小波基和阈值处理方法,否则可能会影响滤波的效果。另外,小波去噪滤波算法对于信号中存在的快速变化的特征可以得到很好的保留,因此在一些需要保留信号快速变化特征的应用场景中,小波去噪滤波算法得到了广泛的应用。

2.代码及运行结果

小波除噪实例:
load sinsin                %打开原始图像
%%   X中包含图像信息
init=2055615866;
randn('seed',init);
x=X+18*randn(size(X));        %叠加后产生噪声图像
%%   用wdencmp函数给图像除噪   使用全局阈值参数除噪
[thr,sorh,keepapp]=ddencmp('den','wv',x);       
xd=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);
%%   显示
subplot(121)
imshow(x,map)
title('加噪图像')
subplot(122)
imshow(xd,map)

title('除噪图像')

 小波滤波器设计   分解和重构的滤波器


wname='db5';              %设置小波名
[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters(wname);
%%    计算与给定小波名相关的四个滤波器
subplot(221);stem(Lo_D);
title('分解低通滤波器');
subplot(222);stem(Hi_D);
title('分解高通滤波器');
subplot(223);stem(Lo_R);
title('重构低通滤波器');
subplot(224);stem(Hi_R);
title('重构高通滤波器');

  

小波增强


load woman;
subplot(121);
image(X);
colormap(map);
title('原始图像');     
[c,s]=wavedec2(X,2,'sym4');
%%   进行二层小波分解
len=length(c);                   %处理分解系数,突出轮廓,弱化细节
for I=1:len
    if(c(I)>350)
        c(I)=2*c(I);
    else
        c(I)=0.5*c(I);
    end
end
nx=waverec2(c,s,'sym4');         %分解系数重构
%%   画出增强图像 
subplot(122);
image(nx);
title('增强图像')

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【IMX6ULL驱动开发学习】13.Pinctrl子系统与GPIO子系统

上一篇博客中,已经实现了设备树的添加 【IMX6ULL驱动开发学习】12.Linux驱动之设备树 这篇博客介绍Pinctrl子系统与GPIO子系统的使用 Pinctrl子系统参考文档: 内核文档链接:https://www.kernel.org/doc/Documentation/ 内核源码doc&#xff…

AD23 原理图选中元件在PCB中高亮显示

概述 项目需要,再次使用AD,在此做个笔录。 1、原理图界面 2、在原理图界面选中电容后,对应的PCB界面该电容高亮显示 3、总结 希望能帮助到有需要的攻城狮。

Linux查看日志常用操作整理

项目出现异常,要定位问题,查看日志是最常用的方法,在Linux系统查看一些日志文件,我们一般会使用tail、cat等命令,下面总结归纳一下这些常用的命令。 1、查看日志的方法 tail:tail命令应该是使用最多的&am…

探讨绿色照明与智能照明节能控制系统应用

张心志 安科瑞电气股份有限公司 上海嘉定 201801 【摘 要】随着社会经济的不断发展,人们对生活质量、环境品质越发重视。积极推广绿色智能照明,提高城市照明质量,对于改善人们居住环境意义重大。文章简要介绍了绿色照 明的基本要求、室内智…

互联网编程之简单邮箱发送程序

需求是使用Java写一个简单的邮箱发送程序。 注意需要到QQ邮箱的设置-账户中开启服务。 package org.example;import org.apache.commons.mail.Email; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.SimpleEmail;public class Main {public …

ospf-interface-fsm-and-neighbor-fsm

/* Interface State Machine */ struct {int (*func) (struct ospf_interface *);int next_state; } ISM [OSPF_ISM_STATE_MAX][OSPF_ISM_EVEN

网络安全技术入门(1):简介

文章目录 1.前言2.什么是网络安全技术?3.列举一些常见的网络安全技术3.1 防火墙3.2 加密技术3.3 身份认证和访问控制3.4 恶意软件防护3.5 网络监控和日志管理3.6 威胁情报和漏洞管理3.7 安全培训和意识教育 4.网络安全研究的关键技术5.网络安全防护技术有哪些&#…

计算机网络 - 应用层http协议 - http报文格式介绍(1)

前言 本篇认识和理解应用层中的http协议,了解抓包工具并进行使用,认识请求报文与响应报文,了解报文中基本键值对意思例如:Set-Cookie, 状态码等,如有错误,请在评论区指正,让我们一起交流&#…

segement and remove-SAM一键清除物体(代码安装实战项目)

结果展示 去除图片中前景物体的步骤: 1.框选 2.分割 3.分离 4.去除 项目介绍 一键帮你剔除视频内的物体,现在只需要一句话。使用Meta的SAM技术,你现在可以让视频内任意物体消失! 特点 按照提示进行分割:只需输入“黑色狗”,您就可以将您的黑色狗分割出来; 修复图…

JAVA 初识序列化与反序列化

JAVA 初识序列化与反序列化 目录 JAVA 初识序列化与反序列化初识序列化与反序列化1 概述2 特点/应用场景3 涉及到的流对象4 代码实现序列化与反序列化4.1 步骤1:创建学生类Student4.2 步骤2:创建序列化测试类 5 测试报错NotSerializableException:6 测试…

yarn与npm的区别(yarn的安装报错问题)

一、yarn 是什么,yarn 与 npm 的区别是什么? yarn 是一个软件包管理系统,Yarn 和 npm 都是包管理工具,用于管理用 JavaScript 编写的软件包,yarn的出现是为了弥补 npm的一些缺陷。yarn 与 npm 的区别 : 性能…

Matplotlib---3D图

1. 3D图 # 3D引擎 from mpl_toolkits.mplot3d.axes3d import Axes3D fig plt.figure(figsize(8, 5)) x np.linspace(0, 100, 400) y np.sin(x) z np.cos(x)# 三维折线图 axes Axes3D(fig, auto_add_to_figureFalse) fig.add_axes(axes) axes.plot(x,y,z) plt.savefi…

arduino uno r3 机械臂

1、硬件 arduino uno r3 改进板、sg90舵机(180度 x 4)、JoyStick Shield PS2游戏摇杆扩展板(或者按键 遥杆模块)、3D打印件、M3螺丝螺母(10mm 15mm 25mm )以及M2螺丝螺母。 2、接线 开发版使用DC口7V-12V 供…

AI 绘画风格迁移之青铜模型训练

前情提要 2023-07-01 周六 杭州 阴 小记: mmp,上周吃烤面筋,不小心牙签扎到口腔,结果这几天吃什么都不舒服,可是计划还是要做的,下半年要把当下 AI 的应用梳理下,自己还是喜欢那种先使用再学习相关原理&a…

C语言之数组初阶(1-4)

目录 1. 一维数组的创建和初始化 2. 一维数组的使用 3. 一维数组在内存中的存储 4. 二维数组的创建和初始化 5. 二维数组的使用 6. 二维数组在内存中的存储 7. 数组越界 8. 数组作为函数参数 数组概念:数组是一组相同类型元素的集合 1.一维数组的创建和初始化 在C语言中…

【已解决】nacos新增配置报错: 发布失败。请检查参数是否正确

解决方法: sql文件直接采取容器默认自带的创建表,复制出来即可 非容器自带sql,有多余encrypted_data_key字段 1.删掉config_info 和 his_config_info 表中的encrypted_data_key字段 2.config_info 和 his_config_info 表中非空encrypted_data…

Android12之ServiceManager::addService注册服务的本质(一百五十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

如何用smardaten90天快速开发并上线智慧空间loT物联平台?

前言 大家好,我是小白白,前段时间一位好友接手了一个“烫手山芋”开发任务,77万㎡的科技园区需要打造智慧空间物联平台。要求接入600园区设备,处理15000日数据量,在打造整体IOT物联底座之上,构建起整个园区…

三电阻采样的劣势分析

最近控制过程中,被下三桥采样小坑了一下。 如下图所示为下桥臂三电阻采样方式,该方法的采样器件是高精度电阻,电阻两端电压经过采样调理电路输出至单片机ADC,三电阻采样成本低、结构简单,并且采样信号和输出强电之间是…

【Unity3D】素描特效

1 非真实渲染 法线贴图和凹凸映射中讲述了普通光照的渲染原理,实现的效果比较贴近真实世界(照相写实主义,Photorealism),非真实渲染(Non-Photorealism Rendering,NPR)在照相写实主义…