在Python中的OpenCV中保存和加载SVM

时间:2019-02-13 04:22:25

标签: python opencv svm

我正在使用SVM训练模型,并使用以下命令将其保存:

svm.save("my_svm.xml")

当我尝试使用加载模型时

svm = cv2.ml.SVM_load('my_svm.xml')

我得到了错误:

cv2.error: OpenCV(4.0.0) /Users/travis/build/skvark/opencv-python/opencv/modules/ml/src/svm.cpp:2203: error: (-212:Parsing error) Missing or invalid SVM type in function 'read_params

我检查了xml文件,该字段肯定存在于

<opencv_storage>
   <opencv_ml_svm>
      <format>3</format>
      <svmType>C_SVC</svmType>
       ....

我检查了文件online,它看起来像这样:

// check for old naming
String svm_type_str = (String)(fn["svm_type"].empty() ? fn["svmType"] : fn["svm_type"]);
int svmType =
    svm_type_str == "C_SVC" ? C_SVC :
    svm_type_str == "NU_SVC" ? NU_SVC :
    svm_type_str == "ONE_CLASS" ? ONE_CLASS :
    svm_type_str == "EPS_SVR" ? EPS_SVR :
    svm_type_str == "NU_SVR" ? NU_SVR : -1;

if( svmType < 0 )
    CV_Error( CV_StsParseError, "Missing or invalid SVM type" );

有人知道为什么它会失败吗?

0 个答案:

没有答案