資源簡介
Gabor濾波器紋理特征提取 opencv2以上版本 C++

代碼片段和文件信息
#include?“stdafx.h“
#include?“GaborFilter.h“
?
GaborFilter::GaborFilter()
{
}
?
?
GaborFilter::~GaborFilter()
{
}
/*!
?
Parameters:
?iMu????????The?orientation?iMu*PI/8
?iNu????????The?scale
?dSigma?????The?sigma?value?of?Gabor
?dPhi???????The?orientation?in?arc
?dF?????????The?spatial?frequency
*/
?
GaborFilter::GaborFilter(int?iMu?int?iNu)
{
double?dSigma?=?2*PI;
F?=?sqrt(2.0);
Init(iMu?iNu?dSigma?F);
}
?
GaborFilter::GaborFilter(int?iMu?int?iNu?double?dSigma)
{
F?=?sqrt(2.0);
Init(iMu?iNu?dSigma?F);
}
??
?GaborFilter::GaborFilter(int?iMu?int?iNu?double?dSigma?double?dF)
{
Init(iMu?iNu?dSigma?dF);
}
?
GaborFilter::GaborFilter(double?dPhi?int?iNu)
{
Sigma?=?2*PI;
F?=?sqrt(2.0);
Init(dPhi?iNu?Sigma?F);
}
GaborFilter::GaborFilter(double?dPhi?int?iNu?double?dSigma)
{
F?=?sqrt(2.0);
Init(dPhi?iNu?dSigma?F);
}
GaborFilter::GaborFilter(double?dPhi?int?iNu?double?dSigma?double?dF)
{
Init(dPhi?iNu?dSigmadF);
}
/*!
Parameters:
??iMu?????The?orientations?which?is?iMu*PI.8
??iNu?????The?scale?can?be?from?-5?to?infinit
??dSigma?????The?Sigma?value?of?gabor?Normally?set?to?2*PI
??dF?????The?spatial?frequence??normally?is?sqrt(2)
Initilize?the.gabor?with?the?orientation?iMu?the?scale?iNu?the?sigma?dSigma?the?frequency?dF?it?will?call?the?function?creat_kernel();?So?a?gabor?is?created.
*/
void?GaborFilter::Init(int?iMu?int?iNu?double?dSigma?double?dF)
{
//Initilise?the?parameters
bInitialised?=?false;
bKernel?=?false;
Sigma?=?dSigma;
F?=?dF;
Kmax?=?PI/2;
//Absolute?value?of?K
K?=?Kmax?/?pow(F?(double)iNu);
Phi?=?PI*iMu/8;
bInitialised?=?true;
Width?=?mask_width();
creat_kernel();
?}
?
/*!
Parameters:
?dPhi????The?orientations
?iNu?????The?scale?can?be?from?-5?to?infinit
?dSigma??The?Sigma?value?of?gabor?Normally?set?to?2*PI
?dF??????The?spatial?frequence??normally?is?sqrt(2)
?
?Initilize?the.gabor?with?the?orientation?dPhi?the?scale?iNu?the?sigma?dSigma?the?frequency?dF?it?will?call?the?function?creat_kernel();?So?a?gabor?is?created.filename?????The?name?of?the?image?file
?file_format?????The?format?of?the?file
*/
void?GaborFilter::Init(double?dPhi?int?iNu?double?dSigma?double?dF)
{
bInitialised?=?false;
????bKernel?=?false;
????Sigma?=?dSigma;
????F?=?dF;
?
????Kmax?=?PI/2;
????//?Absolute?value?of?K
????K?=?Kmax?/?pow(F?(double)iNu);
????Phi?=?dPhi;
????bInitialised?=?true;
?
????Width?=?mask_width();
????creat_kernel();
}
/*!
Returns:
?a?boolean?value?TRUE?is?created?or?FALSE?is?non-created.
?
?Determine?whether?a?gabor?kernel?is?created.
*/
bool?GaborFilter::IsInit()
{
return?bInitialised;
}
bool?GaborFilter::IsKernelCreate()
{
return?bKernel;
}
/*!
Returns:
?The?long?type?show?the?width.
?
?Return?the?width?of?mask?(should?be?NxN)?by?the?value?of?Sigma?and?iNu.
*/
int?GaborFilter::mask_width()
{
int?lWidth;
if?(IsInit(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7668??2017-04-26?13:48??GaborFilter\GaborFilter.cpp
?????文件???????1295??2017-04-27?11:14??GaborFilter\GaborFilter.h
?????目錄??????????0??2017-07-10?13:08??GaborFilter
-----------?---------??----------?-----??----
?????????????????8963????????????????????3
評論
共有 條評論