当前位置: 首页 > 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 copy

data_dict = load_mat("test_data/wave_in.mat")
res = data_dict["res"]
# res: image of 1536 x 1536

data_torch = torch.from_numpy(res)

wavelet = pywt.Wavelet('db6')

wavename = 'db6'
dlevel = 7

coeffs_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_coefs

background_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 ptwt

data_dict = load_mat("test_data/wave_in.mat")
res = data_dict["res"]
# res: image of 1536 x 1536

data_torch = torch.from_numpy(res)

wavename = 'db6'
dlevel = 7

wavelet = 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()

相关文章:

  • 从头再来!社招找工作——算法题复习九:动态规划
  • 在 Mac ARM 架构上使用官方安装包安装 MySQL
  • 大语言模型(LLM)微调技术笔记
  • PH热榜 | 2025-02-23
  • PyEcharts 数据可视化:从入门到实战
  • NoSQL注入攻击如何防范
  • 什么是完全前向保密(PFS)?
  • Redis底层数据结构
  • 【行业解决方案篇五】【DeepSeek智慧城市:交通流量预测系统】
  • 《解锁光量子制备:开启量子科技新时代》:此文为AI自动生成
  • C++ 继承,多态
  • 原生input修改input:-internal-autofill-selected自动填入携带的背景色
  • 计算机毕业设计SpringBoot+Vue.jst0甘肃非物质文化网站(源码+LW文档+PPT+讲解)
  • DevEco Studio常用快捷键以及如何跟AndroidStudio的保持同步
  • 【llm落地】从零到一,用DeepSeek打造智能BI工具:自然语言驱动数据洞察
  • 数据结构:基数排序(c++实现)
  • 树形DP(树形背包+换根DP)
  • 交流异步电动机PI双闭环SVPWM矢量控制Simulink
  • 【Redis原理】底层数据结构 五种数据类型
  • 分布式服务监控
  • 卢湾专业网站优化公司/江苏企业网站建设
  • 开发微信小程序多少钱/seo初级入门教程
  • 工业和信息化部反诈中心发短信/系统优化
  • 介绍几个免费的网站/丽水百度seo
  • 唐山做网站的电话/播放量自助下单平台
  • 长春网站建设首选网诚传媒_/免费的网页模板网站