diff --git a/modules/ml/src/svm.cpp b/modules/ml/src/svm.cpp index 3cef84f307..49b88cfe44 100644 --- a/modules/ml/src/svm.cpp +++ b/modules/ml/src/svm.cpp @@ -2093,7 +2093,7 @@ public: << "alpha" << "[:"; fs.writeRaw("d", (const uchar*)&df_alpha[df.ofs], sv_count*sizeof(df_alpha[0])); fs << "]"; - if( class_count > 2 ) + if( class_count >= 2 ) { fs << "index" << "[:"; fs.writeRaw("i", (const uchar*)&df_index[df.ofs], sv_count*sizeof(df_index[0])); @@ -2235,11 +2235,11 @@ public: df_index.resize(ofs + sv_count); df_alpha.resize(ofs + sv_count); dfi["alpha"].readRaw("d", (uchar*)&df_alpha[ofs], sv_count*sizeof(df_alpha[0])); - if( class_count > 2 ) + if( class_count >= 2 ) dfi["index"].readRaw("i", (uchar*)&df_index[ofs], sv_count*sizeof(df_index[0])); decision_func.push_back(df); } - if( class_count <= 2 ) + if( class_count < 2 ) setRangeVector(df_index, sv_total); if( (int)fn["optimize_linear"] != 0 ) optimize_linear_svm();