我使用的OpenCV的cv::ml::LogisticRegression
類,並已係列化,並保存它使用cv::Algorithm::save
方法文件,並正嘗試加載文件恢復到Ptr<LogisticRegression>
使用cv::ml::LogisticRegression::load
,如documentation描述,我救代碼如下所示:opencv的Logistic迴歸加載失敗
Ptr<cv::ml::LogisticRegression> logisReg = logisticRegression(features_train, labels_train);
logisReg->save("mFileName");
並加載代碼(不同地點)
Ptr<cv::ml::LogisticRegression> logisReg = cv::ml::LogisticRegression::load("mFileName", "Logisitic Regression Classifier");
保存代碼工作正常,和序列化的文件內容是有道理的(純文本)。然而,當我試圖編譯加載它,我得到這個錯誤:
main.cpp:97:5: error: no matching function for call to 'load'
cv::ml::LogisticRegression::load("logisReg.auracle", "Logisitic Regression Classifier");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/opt/opencv3/include/opencv2/core.hpp:3074:44: note: candidate template ignored: couldn't infer template argument '_Tp'
template<typename _Tp> static Ptr<_Tp> load(const String& filename, const String& objname=String())
^
1 error generated.
make: *** [main.o] Error 1