使用cv2和svm的准则

2024-09-30 18:34:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将setTermCriteria与SVM结合使用。但当我使用它时,我得到了以下错误:

AttributeError: 'cv2.ml_SVM' object has no attribute 'setTermCritera_MAX_ITER'

我就是这么用的

svm.setTermCritera_MAX_ITER=10000
svm.setTermCriteria_EPS = 1e-3

当我以下面的方式使用它时,我没有得到错误,但没有发现它有用:

cv2.setTermCritera_MAX_ITER=10000
cv2.setTermCriteria_EPS = 1e-3

当我尝试下面的方法

svm.setTermCriteria(10000)
SystemError: new style getargs format but argument is not a tuple

在Python和OpenCV中使用它的正确方法是什么


Tags: 方法noobject错误epscv2mlmax
1条回答
网友
1楼 · 发布于 2024-09-30 18:34:28

错误信息很清楚,需要一个元组。让我们看看默认值:

svm = cv2.ml.SVM_create()
svm.getTermCriteria()

返回(3, 1000, 1.1920928955078125e-07)。因此,如果只想设置最大迭代次数,应调用:

svm.setTermCriteria((cv2.TermCriteria_MAX_ITER, 10000, 0))

如果要保持相同的epsilon准则并设置max iter:

svm.setTermCriteria((cv2.TermCriteria_MAX_ITER + cv2.TermCriteria_EPS, 10000, 1.1920928955078125e-07))

相关问题 更多 >