⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wavelet1ddlg.h

📁 一维小波变换的Visual C++实现算法
💻 H
字号:
// Wavelet1DDlg.h : header file
//

#if !defined(AFX_WAVELET1DDLG_H__1D948D8C_3DC7_44B0_AEB7_6A82086861DE__INCLUDED_)
#define AFX_WAVELET1DDLG_H__1D948D8C_3DC7_44B0_AEB7_6A82086861DE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "DIBAPI.h" 
/////////////////////////////////////////////////////////////////////////////
// CWavelet1DDlg dialog

class CWavelet1DDlg : public CDialog
{
// Construction
public:
	BOOL m_bWavelet;          // 当前数据图像是否已进行过小波变换
	CString m_strBmpFile;     // 原始数据图像文件
	CString m_strFilterFile[10];  // 小波系数文件
	int m_nImageWidth;            // 原始数据图像宽度
	int m_nImageHeight;           // 原始数据图像高度
	int m_nDecomposeStage;        // 小波变换层次 
	int m_nDisplayStage;          // 显示第几层变换的数据
	int m_nFilterLen;             // 滤波器长度
	int m_nBinGate;               // 二值化判决门限 
	double h[30];           // 辅助变量      
	double ** Data;         // 存放进行小波变换数据
	double *ph;             // 存放h参数 
	double *pg;             // 存放g参数
	double *DotData;        // 二值化后点阵图像数据
    HDIB    DIB;            // 设备无关位图句柄
	LPSTR	lpDIB;        	// 指向DIB的指针  
	LPSTR   lpDIBBits;    	// 指向DIB象素指针	

	void ReleaseMemory();     // 释放小波变换占用的内存资源  
	void GetParam();          // 得到小波变换所需的层次、滤波器长度等参数
	void PrepareData();       // 将原始数据图像二值化并投影,将其存储到Data[0]中
	void DrawWavelet1D();     // 绘制小波变换后数据图像
	BOOL GenerateHnFile();    // 产生小波系数文件函数
	HDIB GetHDIB() const
		{ return DIB; }
	double GG(int i, int m);
	double HH(int i, int m);
	BOOL GGG(int level,int size);
	BOOL HHH(int level,int size);
	BOOL GetHn();
	BOOL GetMemory();
	BOOL DecompStage(int level,int filterlen);
	void Wavelet1D();
   	void HOperatorOn(int filterlen,int start,int len, int level);
    void GOperatorOn(int filterlen,int start,int len, int level);
	CWavelet1DDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CWavelet1DDlg)
	enum { IDD = IDD_WAVELET1D_DIALOG };
	CComboBox	m_combDisplayStage;
	CComboBox	m_combFilterLen;
	CComboBox	m_combDecomposeStage;
	CEdit	m_editBmpFile;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CWavelet1DDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CWavelet1DDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnBtnBmpFile();
	afx_msg void OnBtnWavelet1D();
	afx_msg void OnSelchangeCombDisplayStage();
	afx_msg void OnEditchangeCombDisplayStage();
	afx_msg void OnEditchangeCombDecomposeStage();
	afx_msg void OnEditchangeCombFilterLen();
	virtual void OnOK();
	afx_msg void OnEditchangeAboutbox();
	afx_msg void OnChangeEditBmpfile();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_WAVELET1DDLG_H__1D948D8C_3DC7_44B0_AEB7_6A82086861DE__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -