📄 fftgabor.h
字号:
// FFTGabor.h: interface for the FFTGabor class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FFTGABOR_H__1FC853DA_1B2D_45C1_89F2_E3F6B9F14229__INCLUDED_)
#define AFX_FFTGABOR_H__1FC853DA_1B2D_45C1_89F2_E3F6B9F14229__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "complex"
using namespace std;
class FFTGaborResult {
public:
double Avg ;
double Deta ;
int * magShow;
public:
FFTGaborResult(int iW)
{
Avg = 0;Deta = 0;
magShow = new int[iW*iW];
}
virtual ~FFTGaborResult()
{
delete [] magShow;
}
};
//class FFTGaborResultSimple {
//public:
// double Avg ;
// double Deta ;
//
//public:
// FFTGaborResultSimple(int iW)
// {
// Avg = 0;Deta = 0;
// }
// virtual ~FFTGaborResultSimple()
// { ; }
//};
class FFTGabor
{
private:
int GaborWidth,GaborHeight,complexWidth,complexHeight;
public:
complex <double> * KernelFFT2[32];
public:
//指定核变换--整数数组
void GaborTransform(int * lpDIBBits, LONG lWidth, LONG lHeight, int Orientation, int Frequency, FFTGaborResult * result);
//全部变换--整数数组
void GaborTransform(int * lpdibbits, LONG lWidth, LONG lHeight, double * TransformResult);
//整数数组进行FFT2
void intTocomplex(complex<double> * TD,int * lpdibbits,LONG lWidth, LONG lHeight);
//指定核变换--复数数组
void GaborTransform(complex<double> * TD, LONG lWidth, LONG lHeight, int Orientation, int Frequency, FFTGaborResult * result);
//全部变换--复数数组
void GaborTransform(complex<double> * TD, LONG lWidth, LONG lHeight, double * TransformResult);
void PrepareKernel();
FFTGabor(int GaborW,int compW);
virtual ~FFTGabor();
protected:
void CalculateKernel(double Orientation, double Frequency);
};
#endif // !defined(AFX_FFTGABOR_H__1FC853DA_1B2D_45C1_89F2_E3F6B9F14229__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -