当前位置: 首页 > news >正文

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

小波变换使用matlab和python

注意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

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

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.mrgr.cn/news/92030.html

相关文章:

  • 进程的替换
  • C进阶 自定义类型
  • 2025教育与科研领域实战全解析:DeepSeek赋能细分场景深度指南(附全流程案例与资源)
  • SpringBoot+Vue+Mysql苍穹外卖
  • 大数据学习之PB级音乐数据中心数仓综合项目(1)-理论知识和项目需求、歌曲热度与歌手热度排行
  • C++:pthread的使用
  • 【Linux】: 传输层协议 TCP
  • Springboot 高频面试题
  • 【洛谷排序算法】P1012拼数-详细讲解
  • 虚拟dom 真实dom
  • ASP.NET Core Clean Architecture
  • Spring Boot 概要(官网文档解读)
  • 我们来学人工智能 -- DeepSeek客户端
  • FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
  • 高等数学(上)题型笔记(六)定积分的应用
  • 从零开始用react + tailwindcs + express + mongodb实现一个聊天程序(一)
  • Linux-Ansible模块进阶
  • Windows本地安装ComfyUI
  • 大数据之常用Linux操作
  • 在windows下安装windows+Ubuntu16.04双系统(下)