断言sv_count!= 0失败 - 函数train_auto,SVM类型 - EPS_SVR

时间:2017-04-04 06:14:31

标签: c++ opencv regression svm

该问题与OpenCV库版本2.4.13.2有关。

我正在使用来自图像的n维特征向量进行训练和执行回归。输出值介于0到255之间。 函数CvSVM::train无错误地工作,但需要手动设置参数。因此,我更倾向于使用函数CvSVM::train_auto来执行交叉验证并确定最佳参数。

但我面临的错误是:

  

OpenCV错误:CvSVM :: do_train中的断言失败(sv_count!= 0)。

在将类型更改为NU_SVR时,效果很好。问题仅出在类型EPS_SVR上。

我很感激我能得到的任何帮助来解决这个问题。

编辑:我能够将问题查明到文件中的第1786行 -

的OpenCV主\源\模块\毫升\ SRC \ svm.cpp

FOR_IN_GRID(p,p_grid)

在评论它时,代码运行没有错误。我不知道可能的原因。

1 个答案:

答案 0 :(得分:0)

面对同样的错误。发现此错误是由svm.setP(x)svm.setTermCriteria((cv2.TERM_CRITERIA_EPS, y))引起的,其中x和y的值大于0.1(10 ^ -1)。