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_)