fftgabor.h

来自「关于字符分割的程序」· C头文件 代码 · 共 75 行

H
75
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?