该问题与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)
在评论它时,代码运行没有错误。我不知道可能的原因。
答案 0 :(得分:0)
面对同样的错误。发现此错误是由svm.setP(x)
和svm.setTermCriteria((cv2.TERM_CRITERIA_EPS, y))
引起的,其中x和y的值大于0.1(10 ^ -1)。