www.pudn.com > Imagewavelet.rar > omlib.h


// omlib.h: interface for the Comlib class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_OMLIB_H__1FC6BF42_5485_11D5_BD50_5254AB10D0A6__INCLUDED_) 
#define AFX_OMLIB_H__1FC6BF42_5485_11D5_BD50_5254AB10D0A6__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
#ifndef MATH_H 
#define MATH_H 
#include "math.h" 
#endif 
 
struct Picture 
{ 
	unsigned char **p; 
	DWORD row; 
	DWORD col; 
}; 
//申请空间函数 
unsigned char **fspace_2d(int row,int col); 
//读图象函数 
unsigned char **InputImageWithName(CString FileName,int &row,int &col ); 
//纹理 
int *WLHistoGram (Picture input); 
//取反 
void qufan(unsigned char **image_in,unsigned char **image_out, 
		   int xsize,int ysize); 
//一阶微分边缘检测 
void Differential(unsigned char **image_in,unsigned char **image_out, 
				  int xsize,int ysize,float amp); 
//小波变换 
void Wavelet1d(double *s0,int s_len,double *p,double *q,int sup, 
			   double *s1,double *w1); 
void Wavelet2d(unsigned char **image_in,int xsize,int ysize,double *s1, 
			   double *w1v,double *w1h,double *w1d); 
void Wavelet2d_image(double *s1,double *w1v,double *w1h,double *w1d, 
					 unsigned char **image_out,int xsize,int ysize); 
//傅立叶变换 
void rvmtx1(float *a,float *b,int xsize,int ysize); 
void rvmtx2(float *a,float *b,int xsize,int ysize); 
void cstb(int length,int inv,float sin_tbl[],float cos_tbl[]); 
void birv(float a[],int length,int ex,float b[]); 
int FFT2(float *a_rl,float *a_im,int inv,int xszie,int ysize); 
int FFTImage(unsigned char **image_in,unsigned char **image_out,int xsize,int ysize); 
 
//对于任何尺寸的图像的一次小波变换 
void Once(unsigned char **image_in,unsigned char **image_out,int xsize,int ysize); 
 
#endif // !defined(AFX_OMLIB_H__1FC6BF42_5485_11D5_BD50_5254AB10D0A6__INCLUDED_)