wt.h
来自「小波变换程序」· C头文件 代码 · 共 56 行
H
56 行
// WT.h: interface for the CWT class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_WT_H__AA6185BB_6131_4F41_B79C_AAE1A43943B5__INCLUDED_)
#define AFX_WT_H__AA6185BB_6131_4F41_B79C_AAE1A43943B5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CWT
{
public:
CWT();
virtual ~CWT();
public:
void WT1(CString& infile,CString& outfile,int lev,int pc,int rec);//一维小波变换
void WT2(CString& infile,CString &outfile,int lev,int pc,int rec);//二维小波变换
bool ReadGrd(CString& infile);//读取网格化数据
bool WriteGrd(CString &outfile);//写网格化数据
bool Read1D(CString& infile);//读取一维数据
bool Write1D(CString& outfile);//写一维数据
private:
void GetLimit(float **data);//获取数组的最大值和最小值
void ReleaseData();//释放内存
void DWT1(float *x,int len,int lev,float *a,float *d);//1维小波变换
void IDWT1(float *a,float *d,int len,int lev,float *x);//1维小波逆变换
void DWT2(int lev,int pc);//二维小波变换,lev:小波分解阶数;pc=0表示得到逼近,1,2,3分别表示得到水平、垂直、对角线分量细节
void IDWT2(int lev,int pc);
void DWT1(int lev,int pc);
void IDWT1(int lev,int pc);
private:
bool m_rec;//重构?
int m_pn;//点数
int m_ln;//线数
float **m_data;//原始数据信号
float m_minx;//x方向最小值
float m_maxx;//x方向最大值
float m_miny;//y方向最小值
float m_maxy;//y方向最大值
float m_minz;//信号值最小值
float m_maxz;//信号值最大值
float **m_result;//结果数据信号
static float c1[8];
static float h[4];
static float g[2];
static float k1[6];
};
#endif // !defined(AFX_WT_H__AA6185BB_6131_4F41_B79C_AAE1A43943B5__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?