• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: C/C++
  • 标签: 纹理特征  opencv  C++  

资源简介

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


评论

共有 条评论