www.pudn.com > Wavelet2D.rar > Wavelet2DDlg.h


// Wavelet2DDlg.h : header file 
// 
 
#if !defined(AFX_WAVELET2DDLG_H__1BB7047C_254D_472F_BAA9_26BA66C496F6__INCLUDED_) 
#define AFX_WAVELET2DDLG_H__1BB7047C_254D_472F_BAA9_26BA66C496F6__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "DIBAPI.h"  
///////////////////////////////////////////////////////////////////////////// 
// CWavelet2DDlg dialog 
class CWavelet2DDlg : 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_nFilterLen;             // 滤波器长度 
	double h[30];           // 辅助变量   
	double **image;         // 存放进行小波变换的图像数据 
	double *ph;             // 存放h参数  
	double *pg;             // 存放g参数 
	double *tempRow;        // 行变换用临时变量 
	double *tempCol;        // 列变换用临时变量 
	BITMAPINFO *m_pBmpInfo; // 显示图像用BMP信息结构 
    HDIB    DIB;            // 设备无关位图句柄 
	LPSTR	lpDIB;        	// 指向DIB的指针   
	LPSTR   lpDIBBits;    	// 指向DIB象素指针	 
 
	void ReleaseMemory();     // 释放小波变换占用的内存资源   
	void GetParam();          // 得到小波变换所需的层次、滤波器长度等参数 
	void DrawOriginalBmp();   // 绘制原始图像 
	void DrawWavelet2D();     // 绘制小波变换后图像 
    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(); 
	void Wavelet2D(); 
  	void DecompStageCol(int col,int stage,int numx); 
	void DecompStageRow(int row,int stage,int numx); 
	void HOperatorOnRow(int filterlen,int start,int len, int row); 
    void HOperatorOnCol(int filterlen,int start,int len, int col); 
	void GOperatorOnRow(int filterlen,int start,int len, int row); 
	void GOperatorOnCol(int filterlen,int start,int len, int col); 
	HDIB GetHDIB() const		{ return DIB; } 
	 
	CWavelet2DDlg(CWnd* pParent = NULL);	// standard constructor 
 
// Dialog Data 
	//{{AFX_DATA(CWavelet2DDlg) 
	enum { IDD = IDD_WAVELET2D_DIALOG }; 
	CEdit	m_editBmpFile; 
	CComboBox	m_combFilterLen; 
	CComboBox	m_combDecomposeStage; 
	//}}AFX_DATA 
 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CWavelet2DDlg) 
	protected: 
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support 
	//}}AFX_VIRTUAL 
 
// Implementation 
protected: 
	HICON m_hIcon; 
 
	// Generated message map functions 
	//{{AFX_MSG(CWavelet2DDlg) 
	virtual BOOL OnInitDialog(); 
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam); 
	afx_msg void OnPaint(); 
	afx_msg HCURSOR OnQueryDragIcon(); 
	afx_msg void OnBtnWavelet2D(); 
	afx_msg void OnBtnBmpFile(); 
	virtual void OnOK(); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
}; 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_WAVELET2DDLG_H__1BB7047C_254D_472F_BAA9_26BA66C496F6__INCLUDED_)