fixed traincascade

pull/13383/head
Maria Dimashova 14 years ago
parent 7767038ef0
commit e5c5a1cb3d
  1. 28
      modules/traincascade/boost.cpp

@ -445,22 +445,30 @@ void CvCascadeBoostTrainData::get_ord_var_data( CvDTreeNode* n, int vi, float* o
*ordValues = ordValuesBuf; *ordValues = ordValuesBuf;
} }
const int* CvCascadeBoostTrainData::get_cat_var_data( CvDTreeNode* n, int vi, int* catValuesBuf) const int* CvCascadeBoostTrainData::get_cat_var_data( CvDTreeNode* n, int vi, int* catValuesBuf )
{ {
int nodeSampleCount = n->sample_count; int nodeSampleCount = n->sample_count;
int* sampleIndicesBuf = catValuesBuf; // int* sampleIndicesBuf = catValuesBuf; //
const int* sampleIndices = get_sample_indices(n, sampleIndicesBuf); const int* sampleIndices = get_sample_indices(n, sampleIndicesBuf);
if ( vi < numPrecalcVal ) if ( vi < numPrecalcVal )
{ {
for( int i = 0; i < nodeSampleCount; i++ ) for( int i = 0; i < nodeSampleCount; i++ )
catValuesBuf[i] = (int) valCache.at<float>( vi, sampleIndices[i]); catValuesBuf[i] = (int) valCache.at<float>( vi, sampleIndices[i]);
} }
else else
{ {
for( int i = 0; i < nodeSampleCount; i++ ) if( vi >= numPrecalcVal && vi < var_count )
catValuesBuf[i] = (int)(*featureEvaluator)( vi, sampleIndices[i] ); {
} for( int i = 0; i < nodeSampleCount; i++ )
catValuesBuf[i] = (int)(*featureEvaluator)( vi, sampleIndices[i] );
}
else
{
get_cv_labels( n, catValuesBuf );
}
}
return catValuesBuf; return catValuesBuf;
} }

Loading…
Cancel
Save