我正在使用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" );
有人知道为什么它会失败吗?