mirror of https://github.com/emgucv/emgucv.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
#include "cvextern.h"
|
|
|
|
CvSVM* CvSVMDefaultCreate()
|
|
{
|
|
return new CvSVM();
|
|
}
|
|
|
|
void CvSVMRelease(CvSVM* model)
|
|
{
|
|
model->~CvSVM();
|
|
}
|
|
|
|
bool CvSVMTrain(CvSVM* model, const CvMat* _train_data, const CvMat* _responses,
|
|
const CvMat* _var_idx, const CvMat* _sample_idx,
|
|
CvSVMParams _params)
|
|
{
|
|
return model->train(_train_data, _responses, _var_idx, _sample_idx, _params);
|
|
}
|
|
|
|
void CvSVMGetDefaultGrid(int gridType, CvParamGrid* grid)
|
|
{
|
|
CvParamGrid defaultGrid = CvSVM::get_default_grid(gridType);
|
|
grid->max_val = defaultGrid.max_val;
|
|
grid->min_val = defaultGrid.min_val;
|
|
grid->step = defaultGrid.step;
|
|
}
|
|
|
|
bool CvSVMTrainAuto(CvSVM* model, const CvMat* _train_data, const CvMat* _responses,
|
|
const CvMat* _var_idx, const CvMat* _sample_idx, CvSVMParams _params,
|
|
int k_fold,
|
|
CvParamGrid C_grid,
|
|
CvParamGrid gamma_grid,
|
|
CvParamGrid p_grid,
|
|
CvParamGrid nu_grid,
|
|
CvParamGrid coef_grid,
|
|
CvParamGrid degree_grid)
|
|
{
|
|
return model->train_auto(_train_data, _responses, _var_idx, _sample_idx, _params, k_fold,
|
|
C_grid, gamma_grid, p_grid, nu_grid, coef_grid, degree_grid);
|
|
}
|
|
|
|
float cvSVMPredict(CvSVM* model, const CvMat* _sample )
|
|
{
|
|
return model->predict(_sample);
|
|
}
|
|
const float* cvSVMGetSupportVector(CvSVM* model, int i)
|
|
{
|
|
return model->get_support_vector(i);
|
|
}
|
|
int cvSVMGetSupportVectorCount(CvSVM* model)
|
|
{
|
|
return model->get_support_vector_count();
|
|
}
|
|
|
|
int cvSVMGetVarCount(CvSVM* model)
|
|
{
|
|
return model->get_var_count();
|
|
}
|