wavelet.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#ifndef _LIBCP_WAVELET_H_
00026
#define _LIBCP_WAVELET_H_
00027
00028
#include <cstdlib>
00029
#include <iostream>
00030
00031
using namespace std;
00032
00033
#include "globals.h"
00034
#include "image.h"
00035
#include "doubleimage.h"
00036
00037
namespace LIBCP{
00038
00039
#define FORWARD 1
00040
#define INVERSE -1
00041
00046 class Wavelet
00047 {
00048
public:
00049
static int fastWaveletTransform(
DoubleImage* dst,
Image* src );
00050
static int inverseFastWaveletTransform(
Image* dst,
DoubleImage* src );
00051
static int limitCoefficients(
DoubleImage* dst,
DoubleImage* src,
00052
int coefficients );
00053
private:
00054
static void fwt_1d(
float* data,
int N,
int direction );
00055
static void wavelet(
float* data,
int N,
int direction );
00056
static void Haar_2(
float* data,
int N,
int direction );
00057
static void fwt_2d(
float** result,
Image* src );
00058
static void fwti_2d(
Image* dst,
float** result );
00059
static float** f2d(
int i,
int j );
00060
00061 };
00062 }
00063
00064
#endif //_LIBCP_WAVELET_H_
Generated on Wed May 26 16:43:53 2004 for libcp by
1.3.7