【问题标题】:Using setTermCriteria of cv2 and svm使用 cv2 和 svm 的 setTermCriteria
【发布时间】:2019-12-11 23:51:42
【问题描述】:

我正在尝试将 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 的正确方法是什么

【问题讨论】:

    标签: python opencv machine-learning image-processing svm


    【解决方案1】:

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

    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))
    

    【讨论】:

      猜你喜欢
      • 2013-08-09
      • 1970-01-01
      • 2016-08-07
      • 2015-02-11
      • 2023-03-21
      • 2019-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多