小波变换背景预测matlab和python样例

devtools/2025/2/24 11:57:41/

小波变换使用matlabpython

注意1d和2d的函数区别。注意默认参数问题。最终三个版本结果能够对齐。

matlab

load('wave_in.mat')% res: image of 1536 x 1536
th=1;
dlevel=7;
wavename='db6';[m,n] = wavedec2(res, dlevel, wavename);vec = zeros(size(m));
vec(1:n(1)*n(1)*1) = m(1:n(1)*n(1)*1);background =  waverec2(vec, n, wavename);
background(background<0.001)=0;

python version1

python">import time
import torch
from mat_utils import load_mat
import numpy as np
import pywt
import copydata_dict = load_mat("test_data/wave_in.mat")
res = data_dict["res"]
# res: image of 1536 x 1536data_torch = torch.from_numpy(res)wavelet = pywt.Wavelet('db6')wavename = 'db6'
dlevel = 7coeffs_py = pywt.wavedec2(res, wavename, level=dlevel)# keep fist one and zero all others
for i in range(1, len(coeffs_py)):sub_coefs = list(coeffs_py[i])sub_coefs = [np.zeros_like(tensor) for tensor in sub_coefs]coeffs_py[i] = sub_coefsbackground_py = pywt.waverec2(coeffs_py, wavename)

python version2 with pytorch

使用库

https://github.com/v0lta/PyTorch-Wavelet-Toolbox

python">import time
import torch
from mat_utils import load_mat
import numpy as np
import pywt
import ptwt
# pip install ptwtdata_dict = load_mat("test_data/wave_in.mat")
res = data_dict["res"]
# res: image of 1536 x 1536data_torch = torch.from_numpy(res)wavename = 'db6'
dlevel = 7wavelet = pywt.Wavelet(wavename)coeffs_pt = ptwt.wavedec2(data_torch, wavelet, level=dlevel, mode='symmetric')
coeffs_pt = list(coeffs_pt)# keep fist one and zero all others
for i in range(1, len(coeffs_pt)):sub_coefs = list(coeffs_pt[i])sub_coefs = [torch.zeros_like(tensor) for tensor in sub_coefs]coeffs_pt[i] = tuple(sub_coefs)coeffs_pt = tuple(coeffs_pt)
background_pt = ptwt.waverec2(coeffs_pt, wavelet).squeeze()background_pt_np = background_pt.numpy()


http://www.ppmy.cn/devtools/161359.html

相关文章

AI汽车新风向:「死磕」AI底盘,引爆线控底盘新增长拐点

2025开年&#xff0c;DeepSeek火爆出圈&#xff0c;包括吉利、东风汽车、上汽、广汽、长城、长安、比亚迪等车企相继官宣接入&#xff0c;掀起了“AI定义汽车”浪潮。 而这股最火的AI汽车热潮&#xff0c;除了深度赋能智能座舱、智能驾驶等AI竞争更白热化的细分场景&#xff0…

qt.qpa.fonts: Unable to open default EUDC font: “EUDC.TTE“

参考笔记: qt.qpa.fonts: Unable to open default EUDC font: “C:\WINDOWS\FONTS\EUDC.TTE” 参考笔记: Qt错误: qt.qpa.fonts:无法打开默认EUDC字体&#xff1a;"C:\WINDOWS\FONTS\EUDC.TTE“ QT写的软件, 启动时总会打印一条警告 qt.qpa.fonts: Unable to open defaul…

jvm中各个参数的理解

MEMORY - MANAGERS 定义 MEMORY - MANAGERS即内存管理器&#xff0c;它是操作系统或软件系统中负责管理计算机内存资源的组件。从本质上来说&#xff0c;它是一种软件机制&#xff0c;旨在协调计算机系统中内存的分配、使用和回收等操作&#xff0c;确保系统能够高效、稳定地…

机器学习,我们主要学习什么?

机器学习的发展历程 机器学习的发展历程&#xff0c;大致分为以下几个阶段&#xff1a; 1. 起源与早期探索&#xff08;20世纪40年代-60年代&#xff09; 1949年&#xff1a;Hebb提出了基于神经心理学的学习机制&#xff0c;开启了机器学习的先河1950年代&#xff1a;机器学习的…

一.AI大模型开发-初识机器学习

机器学习基本概念 前言 本文主要介绍了深度学习基础&#xff0c;包括机器学习、深度学习的概念&#xff0c;机器学习的两种典型任务分类任务和回归任务&#xff0c;机器学习中的基础名词解释以及模型训练的基本流程等。 一.认识机器学习 1.人工智能和机器学习 人工智能&am…

AI边缘计算盒子价格各异,如何精准选型成企业难题

在如今的数字化转型浪潮下&#xff0c;AI 边缘计算盒子正成为企业智能化升级的核心设备&#xff01;但产品价格因品牌、型号、性能而异&#xff0c;如何精准选型成企业难题&#xff01;下面万物这就带大家了解下AI边缘计算盒子价格&#xff1a; 企业产品线丰富&#xff0c;满足…

Kubernetes控制平面组件:API Server RBAC授权机制 详解

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…

第9章:LangChain结构化输出-示例2(数字提取服务)

如何使用LangChain4j框架创建和使用多种AI服务。它通过定义接口和注解&#xff0c;将自然语言处理任务&#xff08;如情感分析、数字提取、日期提取、POJO提取等&#xff09;封装为服务&#xff0c;并通过LangChain4j的AiServices动态生成这些服务的实现。 本章主要讲述基于Lan…